Uso create_user_pool para crear nuevos grupos de usuarios de Cognito. Veo que hay una opción SmsConfiguration que toma un ExternalId . Si configura MFA para su grupo de usuarios mediante el portal de Cognito, este ID externo (que parece un UUID) se utilizará en el rol de SMS de IAM generado automáticamente.
¿Dónde encuentro o genero el valor para ExternalId si quiero crear manualmente (usando boto3 o AWS CLI) el grupo de usuarios y el rol de SMS de IAM?
Tiene razón, es un UUID que define en el rol de IAM. Aquí hay un ejemplo de plantilla de CloudFormation con una ID externa:
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: CognitoSMSRoleTambién puede encontrar el ID externo en la consola.
IAM -> Funciones -> Seleccione su función -> Relaciones de confianza