Sid 属性在密钥策略中的用途是什么?
What is Sid attribute use for in key policies?
Here 是文档:
Sid – (Optional) The Sid is a statement identifier, an arbitrary string you can use to identify the statement.
是否意味着Sid
参数只是描述?
在 another part of the documentation 中,AWS 提供了一些关于 Sid 用途的附加信息:
The Sid
(statement ID) is an optional identifier that you provide for the policy statement. You can assign a Sid
value to each statement in a statement array. In services that let you specify an ID
element, such as SQS and SNS, the Sid
value is just a sub-ID of the policy document's ID. In IAM, the Sid
value must be unique within a JSON policy.
是的,这只是一个描述。
我觉得'just a description'不足以形容Sid的意思
我认为更好的问题是:'how can I use Sid to my advantage?'
这是一个例子:
- 您可以使用 Sid 来处理您的政策,以防您需要大海捞针。
示例:您有 1k 个策略,并且想要找到执行“S3DenyPublicReadACL”的策略。也许您将该策略存储在 s3 存储桶中,以便您可以重复使用它。
解决方案:写一个script/lambda,找到它并以自动方式重复使用它。
您可以使用 Sid 来引用长策略中的特定语句
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAll",
"Effect": "Allow",
"Action": "*",
"Resource": "arn:aws:s3:::*"
},
{
"Sid": "DenyList",
"Effect": "Deny",
"Action": "s3:List*",
"Resource": "arn:aws:s3:::*"
}
]
}
例如在解释策略时,您可以说 AllowAll
语句允许所有 S3 操作,但 DenyList
拒绝所有列表操作。想象一下,如果那些 Sids 不存在,您将如何引用它们中的任何一个?
这可能是语义上的挑剔,但我不同意它“只是描述”,因为描述不必是唯一的。此外,Sid 不支持空格,因此它实际上只是一个 ID。
更新:引用AWS docs
Some AWS services (for example, Amazon SQS or Amazon SNS) might require this element and have uniqueness requirements for it.
Here 是文档:
Sid – (Optional) The Sid is a statement identifier, an arbitrary string you can use to identify the statement.
是否意味着Sid
参数只是描述?
在 another part of the documentation 中,AWS 提供了一些关于 Sid 用途的附加信息:
The
Sid
(statement ID) is an optional identifier that you provide for the policy statement. You can assign aSid
value to each statement in a statement array. In services that let you specify anID
element, such as SQS and SNS, theSid
value is just a sub-ID of the policy document's ID. In IAM, theSid
value must be unique within a JSON policy.
是的,这只是一个描述。
我觉得'just a description'不足以形容Sid的意思
我认为更好的问题是:'how can I use Sid to my advantage?'
这是一个例子:
- 您可以使用 Sid 来处理您的政策,以防您需要大海捞针。
示例:您有 1k 个策略,并且想要找到执行“S3DenyPublicReadACL”的策略。也许您将该策略存储在 s3 存储桶中,以便您可以重复使用它。
解决方案:写一个script/lambda,找到它并以自动方式重复使用它。
您可以使用 Sid 来引用长策略中的特定语句
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAll",
"Effect": "Allow",
"Action": "*",
"Resource": "arn:aws:s3:::*"
},
{
"Sid": "DenyList",
"Effect": "Deny",
"Action": "s3:List*",
"Resource": "arn:aws:s3:::*"
}
]
}
例如在解释策略时,您可以说 AllowAll
语句允许所有 S3 操作,但 DenyList
拒绝所有列表操作。想象一下,如果那些 Sids 不存在,您将如何引用它们中的任何一个?
这可能是语义上的挑剔,但我不同意它“只是描述”,因为描述不必是唯一的。此外,Sid 不支持空格,因此它实际上只是一个 ID。
更新:引用AWS docs
Some AWS services (for example, Amazon SQS or Amazon SNS) might require this element and have uniqueness requirements for it.