2

我想使用 OneLogin 编写一个命令行程序,该程序采用用户名/密码并生成可用于对其他站点进行身份验证的 SAML 断言。

问题是调用“生成 SAML 断言”API 本身需要从 API 凭据生成的访问令牌。因此,要将我的应用程序分发给用户,我需要输入 API 凭据才能进行调用。这很好,但是允许调用者发布到 SAML 资源的唯一授权配置文件是“管理所有”,这是比安全授予更多的权限。

有没有人做过这样的事情?

OneLogin 人,你能添加一个 API 凭证类型来只调用 SAML 断言 API 吗?或者您可以只打开 API。(请注意,AWS 的“AssumeRoleWithSAML”API 不需要用户凭证——API 的全部意义在于您拥有要转换为另一种凭证类型的凭证。)

4

3 回答 3

1

您是为开发人员提供一个个人应用程序来生成 SAML 令牌,还是构建一个返回 SAML 令牌的 Web 服务?

前者不好(因为应用程序有密钥)后者无限地更安全。

当我们确实降低了使用密钥(ID 和秘密)获取 SAML 断言所需的权限时,您仍然应该考虑将其构建为 Web 服务。您应该调用一个命令行工具来获取 SAML 断言。

因为与流行的观点相反——基于云意味着更好的安全性。

于 2016-08-17T04:57:07.087 回答
0

我们将很快发布更新以将令牌类型降低为“读/写用户”,因为您只是将用户的凭据交换为 SAML 断言。这样就够了吗?

注意:我最初错误地写了“Read”而不是“Read/Write”

于 2016-08-17T04:43:23.383 回答
0

现在有一个Authentication OnlyAPI 范围,可以将其烘焙到您的应用程序中。

此范围内可用的端点包括:

  • 验证因子(SAML 断言)
  • 生成 SAML 断言
  • 验证因子(登录)
  • 创建会话登录令牌
  • 注销用户

编写一个 Web 应用程序来获取 SAML 断言将是最好的解决方案,并让 CLI 与之交互。特别是如果您考虑“注销用户”,只要您能猜出 ID(简单),它就可以注销任何给定的用户。如果您信任您的员工,您可以Authentication Only在您的 CLI 中嵌入一个范围内的客户端 ID/秘密。这正是我们使用 OneLogin AWS-STS CLI 工具第一步要做的事情。当然,我们可以让流氓员工滥用它,但这是一个边缘案例,并且非常容易撤销客户端 ID/秘密并推出具有新客户端 ID/秘密的新版本。

于 2017-04-01T11:26:31.403 回答