【问题标题】:Where to find External Id for SmsConfiguration in Cognito user pool在 Cognito 用户池中哪里可以找到 SmsConfiguration 的外部 ID
【发布时间】:2018-08-10 21:03:04
【问题描述】:

我使用create_user_pool 创建新的 Cognito 用户池。我看到有一个SmsConfiguration 选项需要ExternalId。 如果您使用 Cognito 门户为您的用户池设置 MFA,则此外部 ID(看起来像 UUID)将用于自动生成的 IAM SMS-Role。

如果我想手动(使用 boto3 或 AWS CLI)创建用户池和 IAM SMS 角色,我在哪里可以找到/生成 ExternalId 的值?

我的 MFA 设置如下所示:

【问题讨论】:

    标签: amazon-web-services boto3 aws-cli aws-cognito aws-iam


    【解决方案1】:

    没错,它是您在 IAM 角色中定义的 UUID。这是一个带有外部 ID 的示例 CloudFormation 模板 -

    CognitoSMSRole:
      Type: AWS::IAM::Role
      Properties:
        AssumeRolePolicyDocument: 
          Version: "2012-10-17"
          Statement: 
            - Effect: "Allow"
              Principal: 
                Service: 
                  - "cognito-idp.amazonaws.com"
              Action: 
                - "sts:AssumeRole"
              Condition:
                StringEquals:
                  "sts:ExternalId": 'this-is-my-external-id'
        Path: "/"
    CognitoSMSPolicy: 
      Type: "AWS::IAM::Policy"
      Properties: 
        PolicyName: "CognitoSMSPolicy"
        PolicyDocument: 
          Version: "2012-10-17"
          Statement: 
            - Effect: "Allow"
              Action: 
                - "sns:publish"
              Resource: 
                - "*"
        Roles: 
          - Ref: CognitoSMSRole
    

    您还可以在控制台中找到外部 ID。

    IAM -> 角色 -> 选择您的角色 -> 信任关系

    【讨论】:

    • 这是否意味着我可以将自己生成的 UUID 用于 IAM 角色?
    • 是的,你可以。如果您的角色已经创建,您可以为外部 ID 添加一个 UUID。在控制台中,单击“编辑信任关系”,您将获得 JSON 格式的文本。最终的 JSON 看起来像 - { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "cognito-idp.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "this-is-my-external-id" } } } ] }
    • 如果您尝试通过 aws cli 将外部 ID 添加到现有角色。你需要使用update-assume-role-policycommand
    猜你喜欢
    • 2017-11-12
    • 2019-07-17
    • 2016-11-02
    • 1970-01-01
    • 2019-11-20
    • 2016-10-18
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    相关资源
    最近更新 更多