Я пытаюсь обменять токен, который мне дал amazon cognito, на роль, определенную в пуле удостоверений, используя "accept_role_with_web_identity" из boto3, но он выдает мне эту ошибку:
"botocore.exceptions.ClientError: Произошла ошибка (AccessDenied) при вызове операции AssumeRoleWithWebIdentity: Доступ запрещен "
Я должен что-то пропустить в политике?
Я уже пытался изменить политику длялямбда, к этому:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"logs:CreateLogStream"
],
"Resource": [
"arn:aws:logs:us-west-2:xxx:log-group:/aws/lambda/xxx:*"
],
"Effect": "Allow"
},
{
"Action": [
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:us-west-2:xxx:log-group:/aws/lambda/rxx:*:*"
],
"Effect": "Allow"
},
{
"Sid": "PermitAssumeRole",
"Action": [
"sts:AssumeRole"
],
"Effect": "Allow",
"Resource": [
"arn:aws:iam::xxx:role/Auth_Role",
"arn:aws:iam::xxx:role/Cognito_Unauth_Role"
]
}
]
}
Мой код на boto3:
x = trial.assume_role_with_web_identity(RoleArn="arn:aws:iam::xxx:role/xxx",
RoleSessionName="xx",WebIdentityToken=response['xx']['xx'])
Я ожидаю, что он сможет взять на себя роль созданного мной IAM.