gpt4 book ai didi

amazon-web-services - 调用 AssumeRole 操作时发生错误 (AccessDenied)

转载 作者:行者123 更新时间:2023-12-04 10:20:30 26 4
gpt4 key购买 nike

我在 中使用以下 IAM 角色创建了一个 lambda 函数( lambda-get-details )账号-A

角色名称 : lambda 角色

{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*",
"Effect": "Allow"
},
{
"Action": [
"config:PutEvaluations",
"ec2:DescribeImages",
"sts:AssumeRole"
],
"Resource": "*",
"Effect": "Allow"
}
]
}

在不同的账户中创建了相同的 IAM 角色名称 ( lambdarole ) 以及 帐号-B

现在来自 的 lambda 函数账号-A 需要从 获取详细信息帐号-B 例如(AMI 列表),我们收到以下错误
"errorMessage": "An error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:sts::Account-A:assumed-role/lambdarole/lambda-get-details is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::Account-B:role/lambdarole

有人可以帮我解决上述问题。

任何帮助,将不胜感激

谢谢

最佳答案

账号-A ,政策lambdarole允许对任何角色 ARN 的角色承担(包括 Account-B 中的角色)。这是由这个声明照顾的

       {
"Action": [
"sts:AssumeRole"
],
"Resource": "*",
"Effect": "Allow"
}

同样在 帐号-B ,角色 lambdarole应该包含允许来自 的角色假设的信任策略账号-A .

添加 AccountIDlambdarole 的角色 ARN账号-A 作为 中的校长帐号-B lambdarole的 AssumeRolePolicyDocument。
AssumeRolePolicyDocument看起来像这样(如果帐户 ID 用作主体),
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect" : "Allow",
"Action": "sts:AssumeRole",
"Principal": {
"AWS" : "<Account-ID-of-Account-A>"
}
}
]
}

您可以引用 here了解如何使用 IAM 角色建立跨账户访问。

关于amazon-web-services - 调用 AssumeRole 操作时发生错误 (AccessDenied),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60883785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com