【发布时间】:2019-07-09 06:30:54
【问题描述】:
我正在尝试使用 boto3 的“assume_role_with_web_identity”将 amazon cognito 给我的令牌交换为身份池上定义的角色,但它给了我这个错误:
“botocore.exceptions.ClientError: 调用 AssumeRoleWithWebIdentity 操作时发生错误(AccessDenied):访问被拒绝”
我一定错过了保单上的某些内容?
我已经尝试将 lambda 的策略更改为:
{
"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 的角色。
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-cognito amazon-iam