【发布时间】:2021-07-27 04:27:23
【问题描述】:
有没有办法为使用 AWS SSO 登录的用户禁用编程访问? 是否可以使用策略或组来控制编程和控制台访问?
【问题讨论】:
-
是的,访问将由策略和组成员资格控制,无论 SSO 与否。你到底想达到什么目的?我不确定您是否可以阻止用户登录控制台,但有一些方法可以控制/限制允许的操作
标签: amazon-web-services policy aws-sso
有没有办法为使用 AWS SSO 登录的用户禁用编程访问? 是否可以使用策略或组来控制编程和控制台访问?
【问题讨论】:
标签: amazon-web-services policy aws-sso
用户通过 SSO 拥有的权限仍然可以通过 AWS IAM(身份和访问管理)组和角色进行管理。用户通过 CLI 或 SDK 以编程方式访问 AWS 时,可以使用与 AWS 控制台中的 IAM 相同的权限。
用户获取会话令牌不需要任何权限。 GetSessionToken 操作的目的是使用 MFA 对用户进行身份验证。您不能使用策略来控制身份验证操作。 Source
因此,我认为您不能阻止用户使用访问密钥来获取临时会话令牌以进行编程访问。
您为什么要阻止用户以编程方式访问?假设您是指通过编程方式访问 AWS 的 CLI 和 SDK 访问,我说得对吗?
【讨论】:
不,您不能阻止用户登录并拒绝以编程方式访问,因为一旦用户登录,他们就可以选择获取所需的详细信息以以编程方式访问。
【讨论】:
是的,您可以,但具体如何隐藏在您组织的 SSO 实施的实施细节中。您的 SSO 的自定义身份代理负责将特定用户的 AD 凭证映射到 AWS IAM 角色,该角色可能有权也可能没有登录 CLI 的权限。用户获得的确切角色需要在代理中可控。另一种方法是控制对使用 CLI 或 SDK 所需的 AWS 访问密钥的访问。您的 SSO 用户不应有权生成自己的密钥。它们应该来自 IT 或者应该是您的 SSO 实施的可配置特性。例如,在我的组织中,AWS 门户中有 2 个链接;一个用于控制台访问,一个用于显示临时访问密钥,可以复制到 bash 环境或与 SDK 一起使用。
【讨论】: