gpt4 book ai didi

amazon-web-services - 如何在本地服务器上配置 AWS 角色?

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

关闭。这个问题不符合 Stack Overflow guidelines 。它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic

上个月关闭。




Improve this question




我创建了一个 AWS 角色并附加了一个将对象放入 S3 存储桶的策略。

我有一个使用该角色的本地 Python 应用程序。我的个人 AWS 用户有权代入角色。这是我使用的一些代码:

assumed_role_object = sts_client.assume_role(
RoleArn="arn:aws:iam::account-id:role/test-role",
RoleSessionName="myRoleSession"
)

这一切正常,但现在我的问题是我必须如何在我的本地服务器上配置它,我没有配置我的个人用户来承担这个角色。

我正在考虑创建一个 IAM 用户,该用户仅具有 assposeRole 权限,并使用该用户为我的应用程序承担角色。

我使用 test-role-trust-policy.json
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::123456789012:root" },
"Action": "sts:AssumeRole"
}
}

并用这个创建角色:
aws iam create-role --role-name test-role --assume-role-policy-document file://test-role-trust-policy.json

将必要的策略附加到我的角色(放置 S3 对象)并在我的应用程序中使用该角色。

这是为本地服务器配置角色的正确方法吗?我觉得在我的本地服务器上创建一个用户来使用角色很奇怪(尽管用户的权限现在受到限制)。

如果我必须使用 root 作为主体或我的用户,我也不是很清楚?

最佳答案

我认为您为这个用例创建特殊用户的方法没有任何问题。它可以是没有控制台登录的用户,并且只有承担给定角色的权限。

另一种方法是使用 lambda 来创建预先签名的 URL。使用这些 URL,您的应用程序将能够将对象放入该存储桶中,而根本不需要 AIM 角色。该 URL 仅适用于您想要的时间。您也可以将 URL 设计为仅允许特定文件名和其他选项。

如果您要在另一个 AWS 资源(例如 EC2 实例)上运行它,您也可以直接为该实例指定角色。

关于amazon-web-services - 如何在本地服务器上配置 AWS 角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53907181/

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