Для чего используется атрибут Sid в ключевых политиках?

Вот документация:

Sid - (Необязательно) Sid - это идентификатор оператора, произвольная строка, которую вы можете использовать для идентификации оператора.

Значит ли это, что Sid параметр просто описание?

3 ответа

Решение

В другой части документации AWS предоставляет дополнительную информацию о назначении Sid:

Sid (идентификатор выписки) - это необязательный идентификатор, который вы указываете для выписки по политике. Вы можете назначить Sid значение для каждого оператора в массиве операторов. В сервисах, которые позволяют вам указать ID элемент, такой как SQS и SNS, Sid значение - это просто подидентификатор идентификатора документа политики. В IAM Sid значение должно быть уникальным в политике 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, чтобы можно было использовать ее повторно.

Решение: напишите скрипт / лямбду, найдите его и повторно используйте автоматически.

Другие вопросы по тегам