在 Amazon Key Management Service 中,可以列出客户主密钥上的授权。这将返回 GrantListEntry 对象的列表。每个都有一个 getGranteePrincipal() 方法,该方法返回一个类似于AIDAJBVZPN4EIJ44R7AZM
. 这应该映射到与此授权相关的用户/角色,但是,我无法弄清楚如何将此字符串映射到用户。这不是他们的 IAM 密钥或 ARN。有没有办法将此字符串与原始用户相关联?
问问题
45 次
1 回答
1
您最有可能查看的是唯一 ID:
当 IAM 创建用户、组、角色、策略、实例配置文件或服务器证书时,它会为每个实体分配一个唯一 ID,类似于以下示例:
AIDAJQABLZS4A3QDU576Q
在大多数情况下,您在使用 IAM 实体时使用友好名称和 ARN,因此您不需要知道特定实体的唯一 ID。但是,当使用友好名称不切实际时,唯一 ID 有时会很有用。
如上一段所述(并在参考文档中进一步概述),唯一 ID 通常被隐藏起来以支持友好名称,但当用户离开组织并且另一个具有相同友好名称的人可能会加入时,需要保证唯一性例子。
另一个提供的示例似乎解释了手头的场景(显然也适用于您自己的用例):
用户 ID 可能有用的另一个示例是,如果您维护自己的 IAM 用户信息数据库(或其他存储)。唯一 ID 可以为您创建的每个 IAM 用户提供唯一标识符,即使随着时间的推移,您的 IAM 用户会重复使用名称,如前面的示例所示。
获取唯一 ID
如相应的概述。部分,IAM 实体的唯一 ID 在 IAM 控制台中不可用。但是,您可以使用 AWS CLI 命令或 IAM API 调用来获取它,例如对于用户:
不幸的是,似乎无法直接搜索它,因此您需要遍历所有用户并单独检索它以生成所需的映射。
- 如果您碰巧以编程方式生成用户/角色,则唯一 ID 将由相应的返回。至少立即调用,参见例如CreateUser。
于 2015-08-21T15:21:45.050 回答