[ aws . accessanalyzer ]
validate-policy
Описание
Запрашивает валидацию политики и возвращает список результатов проверки. Результаты помогают идентифицировать проблемы и предоставляют рекомендации по их устранению, позволяя создавать функциональные политики, соответствующие лучшим практикам безопасности.
См. также: Документацию API AWS
validate-policy является постраничной операцией. Для получения всего набора результатов могут быть выполнены несколько вызовов API. Вы можете отключить постраничность, предоставив аргумент --no-paginate. При использовании --output text и аргумента --query в ответе с постраничностью, аргумент --query должен извлекать данные из результатов следующих выражений запроса: findings
Синтаксис
validate-policy
[--locale <value>]
--policy-document <value>
--policy-type <value>
[--validate-policy-resource-type <value>]
[--cli-input-json | --cli-input-yaml]
[--starting-token <value>]
[--page-size <value>]
[--max-items <value>]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--locale (строка)
Язык для локализации результатов проверки.
Возможные значения:
DEENESFRITJAKOPT_BRZH_CNZH_TW
--policy-document (строка)
--policy-type (строка)
Тип политики для проверки. Политики идентификации предоставляют разрешения принципалам IAM. Политики идентификации включают управляемые и встроенные политики для ролей IAM, пользователей и групп.
Политики ресурсов предоставляют разрешения на ресурсы Amazon Web Services. Политики ресурсов включают политики доверия для ролей IAM и политики ведер для Amazon S3. Вы можете указать обобщенное значение, например, политика идентификации или политика ресурса, или конкретное значение, например, управляемая политика или политика ведра Amazon S3.
Политики управления сервисами (SCP) — это тип политики организации, прикрепленной к организации Amazon Web Services, организационной единице (OU) или учетной записи.
Возможные значения:
IDENTITY_POLICYRESOURCE_POLICYSERVICE_CONTROL_POLICYRESOURCE_CONTROL_POLICY
--validate-policy-resource-type (строка)
Тип ресурса, который нужно прикрепить к политике ресурса. Укажите значение для типа ресурса проверки политики только в том случае, если тип политики — RESOURCE_POLICY. Например, для проверки политики ресурса для подключения к ведру Amazon S3 вы можете выбрать AWS::S3::Bucket для типа ресурса проверки политики.
Для типов ресурсов, не поддерживаемых в качестве допустимых значений, IAM Access Analyzer выполняет проверки политик, которые применяются ко всем политикам ресурсов. Например, чтобы проверить политику ресурса для подключения к ключу KMS, не указывайте значение для типа ресурса проверки политики, и IAM Access Analyzer выполнит проверки политик, которые применяются ко всем политикам ресурсов.
Возможные значения:
AWS::S3::BucketAWS::S3::AccessPointAWS::S3::MultiRegionAccessPointAWS::S3ObjectLambda::AccessPointAWS::IAM::AssumeRolePolicyDocumentAWS::DynamoDB::Table
--cli-input-json | --cli-input-yaml (строка) Читает аргументы из предоставленной JSON-строки. JSON-строка соответствует формату, предоставленному --generate-cli-skeleton. Если на командной строке указаны другие аргументы, эти значения переопределят значения, заданные в JSON. Невозможно передавать произвольные двоичные значения, используя значение, заданное в JSON, так как строка будет интерпретирована буквально. Это не может быть указано вместе с --cli-input-yaml.
--starting-token (строка)
Маркер для указания точки начала постраничной обработки. Это NextToken из ранее усеченного ответа.
Примеры использования см. в разделе Постраничная обработка в Руководстве пользователя AWS Command Line Interface.
--page-size (целое число)
Размер каждой страницы для получения в вызове AWS-сервиса. Это не влияет на количество элементов, возвращаемых в выводе команды. Установка меньшего размера страницы приводит к большему количеству вызовов AWS-сервиса, получая меньше элементов в каждом вызове. Это может помочь предотвратить истечение времени ожидания AWS-вызовов.
Примеры использования см. в разделе Постраничная обработка в Руководстве пользователя AWS Command Line Interface.
--max-items (целое число)
Общее количество элементов, которые нужно вернуть в выводе команды. Если общее количество доступных элементов превышает указанное значение, в выводе команды предоставляется NextToken. Чтобы продолжить постраничную обработку, укажите значение NextToken в аргументе starting-token последующей команды. **Не** используйте элемент ответа NextToken напрямую вне AWS CLI.
Примеры использования см. в разделе Постраничная обработка в Руководстве пользователя AWS Command Line Interface.
--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса к API. Если предоставлено без значения или значение input, выводит пример JSON-ввода, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено yaml-input, выводится пример ввода YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, проверяются входные данные команды и возвращается пример JSON-вывода для этой команды. Сгенерированный JSON-скелет не стабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.
Глобальные параметры
--debug (булево)
Включить отладку логов.
--endpoint-url (строка)
Переопределить URL по умолчанию команды заданным URL.
--no-verify-ssl (булево)
По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого SSL-соединения AWS CLI проверит SSL-сертификаты. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.
--no-paginate (булево)
Отключить автоматическую постраничную обработку. Если автоматическая постраничная обработка отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования вывода команды.
- json
- text
- table
- yaml
- yaml-stream
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использование определенного профиля из файла учетных данных.
--region (строка)
Регион для использования. Переопределяет настройки конфигурации/среды.
--version (строка)
Отобразить версию этого инструмента.
--color (строка)
Включение/выключение цветного вывода.
- on
- off
- auto
--no-sign-request (булево)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.
--ca-bundle (строка)
Файл с набором сертификатов CA для проверки SSL-сертификатов. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.
--cli-binary-format (строка)
Стиль форматирования, который будет использоваться для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, которое соответствует двоичному блоку, fileb:// всегда будет обрабатываться как двоичное и будет использовать содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для заданной настройки cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (булево)
Отключение постраничной обработки cli для вывода.
--cli-auto-prompt (булево)
Автоматически запрашивать параметры CLI.
--no-cli-auto-prompt (булево)
Отключить автоматическое запросы параметров CLI.
Примеры
Примечание
Для использования следующих примеров, у вас должен быть установлен и настроен AWS CLI. Дополнительную информацию см. в руководстве по началу работы с Руководством пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования unix-подобных оболочек. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.
Чтобы запросить валидацию политики и получить список результатов проверки
Следующий пример запроса валидации политики и возвращает список результатов проверки. Политика в примере — политика доверия роли для роли Amazon Cognito, используемой для федерации веб-идентификаторов. Результаты проверки, сгенерированные из политики доверия, относятся к пустому значению элемента Sid и несоответствию принципала политики из-за использования некорректного действия assume role, sts:AssumeRole. Правильное действие assume role для использования с Cognito — sts:AssumeRoleWithWebIdentity.
aws accessanalyzer validate-policy \
--policy-document file://myfile.json \
--policy-type RESOURCE_POLICY
Содержимое myfile.json:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Federated": "cognito-identity.amazonaws.com"
},
"Action": [
"sts:AssumeRole",
"sts:TagSession"
],
"Condition": {
"StringEquals": {
"cognito-identity.amazonaws.com:aud": "us-west-2_EXAMPLE"
}
}
}
]
}
Вывод:
{
"findings": [
{
"findingDetails": "Add a value to the empty string in the Sid element.",
"findingType": "SUGGESTION",
"issueCode": "EMPTY_SID_VALUE",
"learnMoreLink": "https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html#access-analyzer-reference-policy-checks-suggestion-empty-sid-value",
"locations": [
{
"path": [
{
"value": "Statement"
},
{
"index": 0
},
{
"value": "Sid"
}
],
"span": {
"end": {
"column": 21,
"line": 5,
"offset": 81
},
"start": {
"column": 19,
"line": 5,
"offset": 79
}
}
}
]
},
{
"findingDetails": "The sts:AssumeRole action is invalid with the following principal(s): cognito-identity.amazonaws.com. Use a SAML provider principal with the sts:AssumeRoleWithSAML action or use an OIDC provider principal with the sts:AssumeRoleWithWebIdentity action. Ensure the provider is Federated if you use either of the two options.",
"findingType": "ERROR",
"issueCode": "MISMATCHED_ACTION_FOR_PRINCIPAL",
"learnMoreLink": "https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html#access-analyzer-reference-policy-checks-error-mismatched-action-for-principal",
"locations": [
{
"path": [
{
"value": "Statement"
},
{
"index": 0
},
{
"value": "Action"
},
{
"index": 0
}
],
"span": {
"end": {
"column": 32,
"line": 11,
"offset": 274
},
"start": {
"column": 16,
"line": 11,
"offset": 258
}
}
},
{
"path": [
{
"value": "Statement"
},
{
"index": 0
},
{
"value": "Principal"
},
{
"value": "Federated"
}
],
"span": {
"end": {
"column": 61,
"line": 8,
"offset": 202
},
"start": {
"column": 29,
"line": 8,
"offset": 170
}
}
}
]
},
{
"findingDetails": "The following actions: sts:TagSession are not supported by the condition key cognito-identity.amazonaws.com:aud. The condition will not be evaluated for these actions. We recommend that you move these actions to a different statement without this condition key.",
"findingType": "ERROR",
"issueCode": "UNSUPPORTED_ACTION_FOR_CONDITION_KEY",
"learnMoreLink": "https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html#access-analyzer-reference-policy-checks-error-unsupported-action-for-condition-key",
"locations": [
{
"path": [
{
"value": "Statement"
},
{
"index": 0
},
{
"value": "Action"
},
{
"index": 1
}
],
"span": {
"end": {
"column": 32,
"line": 12,
"offset": 308
},
"start": {
"column": 16,
"line": 12,
"offset": 292
}
}
},
{
"path": [
{
"value": "Statement"
},
{
"index": 0
},
{
"value": "Condition"
},
{
"value": "StringEquals"
},
{
"value": "cognito-identity.amazonaws.com:aud"
}
],
"span": {
"end": {
"column": 79,
"line": 16,
"offset": 464
},
"start": {
"column": 58,
"line": 16,
"offset": 443
}
}
}
]
}
]
}
Дополнительную информацию см. в разделе Проверки для проверки политик в Руководстве пользователя AWS IAM.
Вывод
findings -> (список)
Список выявленных проблем в политике, возвращаемый IAM Access Analyzer на основе набора проверок политики.
(структура)
Проблема в политике. Каждая проблема — это рекомендация, которую можно использовать для улучшения политики.
findingDetails -> (строка)
findingType -> (строка)
Влияние проблемы.
Предупреждения о безопасности сообщают, когда политика допускает доступ, который мы считаем избыточно разрешительным.
Ошибки сообщают, когда часть политики не функциональна.
Предупреждения сообщают о не связанных с безопасностью проблемах, когда политика не соответствует лучшим практикам составления политики.
Рекомендации предлагают стилистические улучшения в политике, которые не влияют на доступ.
issueCode -> (строка)
learnMoreLink -> (строка)
locations -> (список)
Список расположений в документе политики, связанных с проблемой. Код проблемы предоставляет сводку проблемы, выявленной проблемой.
(структура)
Расположение в политике, представленное как путь через JSON-представление и соответствующий отрезок.
path -> (список)
Путь в политике, представленный как последовательность элементов пути.
(структура помеченного объединения)
Один элемент пути через JSON-представление политики.
Примечание
Это структура помеченного объединения. Только один из следующих верхних ключей может быть установлен:index, key, substring, value.index -> (целое число)
key -> (строка)
substring -> (структура)
Ссылка на подстроку литеральной строки в JSON-объекте.
start -> (целое число)
length -> (целое число)
value -> (строка)
span -> (структура)
Отрезок в политике.
start -> (структура)
Начальная позиция отрезка (включительно).
line -> (целое число)
column -> (целое число)
offset -> (целое число)
end -> (структура)
Конечная позиция отрезка (исключительно).
line -> (целое число)
column -> (целое число)
offset -> (целое число)
nextToken -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.