gpt4 book ai didi

amazon-web-services - AWS IAM 策略中的变量资源名称

转载 作者:行者123 更新时间:2023-12-04 08:09:51 33 4
gpt4 key购买 nike

我正在使用“standard-prefix-{variable}”在程序中创建 S3 存储桶'。尝试创建 IAM 策略以便用户可以更新、创建、删除账户中的存储桶,但前提是存储桶名称包含“标准前缀”。 IE,我不想允许修改帐户中的其他存储桶。我找到了许多方法来限制对存储桶内资源的访问,给定特定的存储桶名称,但无法在存储桶名称更改时限制访问。

类似的东西(似乎不起作用):

"Resource": "arn:aws:s3:::standard-prefix-*"

来自 AWS Docs 的示例:

基于用户名的动态名称是我找到的最接近的名称。但是我需要一个用于存储桶名称变量部分的通配符:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "sqs:*",
"Resource": "arn:aws:sqs:us-west-2:*:${aws:username}-queue"
}]
}

具有指定存储桶名称的项目:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": ["s3:ListBucket"],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::mybucket"],
"Condition": {"StringLike": {"s3:prefix": ["${aws:username}/*"]}}
},
{
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::mybucket/${aws:username}/*"]
}
]
}

最佳答案

这是最终奏效的政策。创建存储桶时,它们会获得一个名称,例如 standard_prefix-20150101 , standard_prefix-20150515等。具有此 IAM 策略的用户然后可以对这些存储桶执行任何操作,但不能修改账户中的其他存储桶。

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "One",
"Effect": "Allow",
"Action": [
"*"
],
"Resource": [
"arn:aws:s3:::standard_prefix-*"
]
},
{
"Sid": "Two",
"Effect": "Allow",
"Action": [
"s3:List*"
],
"Resource": [
"arn:aws:s3:::*"
]
}
]
}

关于amazon-web-services - AWS IAM 策略中的变量资源名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30577331/

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