我使用create_user_pool创建新的Cognito用户池。我看到https://developers.google.com/cast/docs/caf_receiver_basic
选项需要SmsConfiguration
。
如果使用Cognito门户为您的用户池设置MFA,则此外部ID(看起来像UUID)将用于自动生成的IAM SMS-Role。
如果我想手动(使用boto3或AWS CLI)创建用户池和IAM SMS角色,我在哪里可以找到/生成ExternalId
的值?
答案 0 :(得分: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 - >角色 - >选择你的角色 - >值得信赖的关系