Для чего используется атрибут Sid в ключевых политиках?
Вот документация:
Sid - (Необязательно) Sid - это идентификатор оператора, произвольная строка, которую вы можете использовать для идентификации оператора.
Значит ли это, что Sid
параметр просто описание?
3 ответа
В другой части документации AWS предоставляет дополнительную информацию о назначении Sid:
Sid
(идентификатор выписки) - это необязательный идентификатор, который вы указываете для выписки по политике. Вы можете назначитьSid
значение для каждого оператора в массиве операторов. В сервисах, которые позволяют вам указатьID
элемент, такой как SQS и SNS,Sid
значение - это просто подидентификатор идентификатора документа политики. В IAMSid
значение должно быть уникальным в политике JSON.
Так что да, это просто описание.
Вы можете использовать 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
запрещает все действия со списком. Теперь они точно знают, о чем вы говорите. Представьте, что если бы этих сидов не было, вам пришлось бы вставить все заявление целиком.
Это может быть семантическая придирка, но я не согласен с тем, что это «просто описание», потому что описания не обязательно должны быть уникальными. Также Сид не поддерживает пробелы, так что на самом деле это просто идентификатор.
Я не думаю, что «просто описания» достаточно, чтобы описать значение слова «Сид».
Думаю, лучше задать вопрос: «Как я могу использовать Сида в своих интересах?»
Вот один пример:
- вы можете использовать Sid для обработки своих политик на случай, если вам когда-нибудь понадобится найти иголку в стоге сена.
Пример: у вас есть 1k политик и вы хотите найти политику, которая выполняет "S3DenyPublicReadACL". возможно, вы храните эту политику в корзине s3, чтобы можно было использовать ее повторно.
Решение: напишите скрипт / лямбду, найдите его и повторно используйте автоматически.