gpt4 book ai didi

amazon-web-services - 向同一账户中的 iam 用户授予 aws iam 角色权限

转载 作者:行者123 更新时间:2023-12-04 17:42:24 30 4
gpt4 key购买 nike

我有一个具有 s3 只读权限的 AWS 角色。我已经为 AWS 用户配置了 aws cli。所以我想使用同一个用户在 aws cli 中浏览 s3 文件。我所做的是为角色添加了 root 用户的信任关系 arn:aws:iam::<1234...>:role/test-role这样我就可以将它提供给我所有的 iam 用户

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<1234..>:root",
"Service": "s3.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}

然后,我向用户添加了一个策略来承担上述角色。

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt12345",
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Resource": "arn:aws:iam::<1234...>:role/test-role"
}
]
}

当我尝试列出时,出现权限被拒绝的错误。

aws s3 ls

An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied

我确保该角色具有完整的 s3 读取权限,如下所示。

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": "*"
}
]
}

有人可以指导问题出在哪里吗?

最佳答案

如果您使用的是 CLI,则需要具有正确凭据的配置文件。

您应该在 .aws/credentials 文件中拥有您的凭据,例如:

[myprofile]
aws_access_key_id = ... access key ...
aws_secret_access_key = ... secret access key …

然后您可以将承担的角色的配置文件添加到 .aws/config 文件中,例如:

[profile test-role]
source_profile=myprofile
role_arn = arn:aws:iam::<1234...>:role/test-role

最后,在运行 CLI 命令之前将 AWS_PROFILE 设置为 test-role

SET AWS_PROFILE=test-role
aws s3 ls

我会发布一个 link to the AWS documentation但本网站不赞成仅链接的答案。

关于amazon-web-services - 向同一账户中的 iam 用户授予 aws iam 角色权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53858397/

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