amazon-web-services - AWS IAM强制延迟使用最近创建的用户

  显示原文与译文双语对照的内容
104 2

我在自动创建用户和角色的AWS应用程序中遇到了奇怪的行为。

我的操作顺序是:

  1. 发送操作 CreateUser
  2. 为此创建的用户发送操作 CreateAccessKey
  3. 为此创建的用户发送操作 GetUser 以获取帐户 id 。 因为我只有 root 密钥和密钥,所以我需要这样做;
  4. 发送操作 CreateRole,使用 AssumeRolePolicyDocument,其中主体是创建的用户。

执行步骤 4时,收到一个 MalformedPolicyDocument ( Invalid principal in policy:"AWS":"arn:aws:iam::123412341234:user/newuser" ) 。

但是,如果在步骤 4之前,我放了一个 15秒的延迟,它就不会出现任何问题。

是否有任何工作流,我不需要坚持一个固定的延迟,比如读一些,来检查用户是否准备好使用。

时间: 原作者:

125 2

就像我对的回答肯定地创建和标记EC2实例一样,AWS api通常需要被视为,最终是一致的,只需。

我提到,假设每个API操作都完全独立于AWS操作是合理的,而 换句话说,是它自己的微服务。 ,why Amazon或者你的案例,这对于服务在其他 IAM API操作中已经可见,它还不可见,这对于其他 IAM API操作 CreateRole 来说是不可见的是不可见的。

在这种固有特性中解决的正确工作流程是在成功的通信方案中,使用指数退避策略重复所需的API调用,直到成功。 几个 AWS sdk 提供支持指数支持重试,同时支持指数支持,但如果需要,可以在需要时对特定的场景进行调整,以扩展非常高延迟方案。

原作者:
...