[ aws . verifiedpermissions ]
update-policy
Описание
Изменяет статический политику Cedar в указанном хранилище политик. Вы можете изменить только определенные элементы параметра UpdatePolicyDefinition. Вы можете напрямую обновить только статические политики. Чтобы изменить политику, связанную с шаблоном, необходимо обновить шаблон вместо этого, используя UpdatePolicyTemplate.
Примечание
- Если проверка политик включена в хранилище политик, то обновление статической политики заставляет Verified Permissions проверить политику на соответствие схеме в хранилище политик. Если обновлённая статическая политика не проходит проверку, операция завершается ошибкой, и обновление не сохраняется.
- При редактировании статической политики вы можете изменить только определенные элементы статической политики:
- Действие, на которое ссылается политика.
- Условие, такое как when и unless.
Вы не можете изменить эти элементы статической политики:
- Изменение политики со статической на связанную с шаблоном.
- Изменение эффекта статической политики с разрешения на запрет.
- Принципал, на который ссылается статическая политика.
- Ресурс, на который ссылается статическая политика.
- Чтобы обновить политику, связанную с шаблоном, необходимо обновить шаблон вместо этого.
Примечание
Verified Permissions — *реплицируется асинхронно*. Может потребоваться несколько секунд, чтобы новый или изменённый элемент распространился по службе и стал видимым в результатах других операций Verified Permissions.См. также: Документацию API AWS
Синтаксис
update-policy
--policy-store-id <value>
--policy-id <value>
--definition <value>
[--cli-input-json | --cli-input-yaml]
[--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]
Параметры
--policy-store-id (строка)
--policy-id (строка)
--definition (структура помеченного объединения)
Указывает обновленное содержимое политики, которое вы хотите заменить в указанной политике. Содержимое должно быть допустимым текстом языка политики Cedar.
Вы можете изменить только следующие элементы из определения политики:
action, на который ссылается политика.- Любые условные фразы, такие как
whenилиunless.
Вы не можете изменить следующие элементы:
- Переход от
staticкtemplateLinked. - Изменение эффекта политики с
permitилиforbid. principal, на который ссылается политика.resource, на который ссылается политика.
Примечание
Это структура помеченного объединения. Только один из следующих верхних ключей может быть установлен:static.static -> (структура)
Содержит подробности об обновлениях, которые необходимо применить к статической политике.
description -> (строка)
statement -> (строка)
Указывает текст языка политики Cedar, который нужно добавить или заменить в статической политике.
Предупреждение
Вы можете изменить только следующие элементы из исходного содержимого:
action, на который ссылается политика.- Любые условные фразы, такие как
whenилиunless.
Вы не можете изменить следующие элементы:
- Переход от
StaticPolicyкTemplateLinkedPolicy. - Эффект (
permitилиforbid) политики. principal, на который ссылается политика.resource, на который ссылается политика.
Сокращенный синтаксис:
static={description=string,statement=string}
Синтаксис JSON:
{
"static": {
"description": "string",
"statement": "string"
}
}
--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной строки JSON. Строка JSON следует формату, предоставленному --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределят значения, полученные из JSON. Невозможно передавать произвольные двоичные значения с помощью значения, предоставленного в JSON, так как строка будет взята буквально. Это может не быть указано вместе с --cli-input-yaml.
--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
- текст
- таблица
- yaml
- yaml-поток
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использовать определённый профиль из файла credentials.
--region (строка)
Использовать определённый регион. Переопределяет настройки конфигурации/среды.
--version (строка)
Отобразить версию этого инструмента.
--color (строка)
Включить/отключить цветной вывод.
- включено
- выключено
- автоматически
--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.
Пример 1: Создание статической политики
Следующий пример создает статическую политику со областью действия политики, которая указывает как принципал, так и ресурс.
aws verifiedpermissions create-policy \
--definition file://definition.txt \
--policy-store-id PSEXAMPLEabcdefg111111
Параметр statement принимает строковое представление JSON-объекта. Он содержит вложенные кавычки (”) внутри внешней пары кавычек. Это требует преобразования JSON в строку путём предшествования всех вложенных кавычек обратной косой чертой ( \" ) и объединения всех строк в одну строку без перевода строк.
Примеры строк могут быть отображены здесь, разбитые на несколько строк для удобства чтения, но для работы операция требует, чтобы параметры были представлены в виде одиночных строк.
Содержимое файла definition.txt:
{
"static": {
"description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album",
"statement": "permit(principal in UserGroup::\"janeFriends\", action, resource in Album::\"vacationFolder\" );"
}
}
Вывод:
{
"createdDate": "2023-06-12T20:33:37.382907+00:00",
"lastUpdatedDate": "2023-06-12T20:33:37.382907+00:00",
"policyId": "SPEXAMPLEabcdefg111111",
"policyStoreId": "PSEXAMPLEabcdefg111111",
"policyType": "STATIC",
"principal": {
"entityId": "janeFriends",
"entityType": "UserGroup"
},
"resource": {
"entityId": "vacationFolder",
"entityType": "Album"
}
}
Пример 2: Создание статической политики, предоставляющей доступ к ресурсу всем
Следующий пример создаёт статическую политику со областью действия, которая указывает только ресурс.
aws verifiedpermissions create-policy \
--definition file://definition2.txt \
--policy-store-id PSEXAMPLEabcdefg111111
Содержимое файла definition2.txt:
{
"static": {
"description": "Grant everyone access to the publicFolder Album",
"statement": "permit(principal, action, resource in Album::\"publicFolder\");"
}
}
Вывод:
{
"createdDate": "2023-06-12T20:39:44.975897+00:00",
"lastUpdatedDate": "2023-06-12T20:39:44.975897+00:00",
"policyId": "PbfR73F8oh5MMfr9uRtFDB",
"policyStoreId": "PSEXAMPLEabcdefg222222",
"policyType": "STATIC",
"resource": {
"entityId": "publicFolder",
"entityType": "Album"
}
}
Пример 3: Создание политики, связанной с шаблоном, которая связана с указанным шаблоном
Следующий пример создаёт политику, связанную с шаблоном, используя указанный шаблон политики и связывает указанный принципал для использования с новой связанной с шаблоном политикой.
aws verifiedpermissions create-policy \
--definition file://definition2.txt \
--policy-store-id PSEXAMPLEabcdefg111111
Содержимое definition3.txt:
{
"templateLinked": {
"policyTemplateId": "PTEXAMPLEabcdefg111111",
"principal": {
"entityType": "User",
"entityId": "alice"
}
}
}
Вывод:
{
"createdDate": "2023-06-12T20:49:51.490211+00:00",
"lastUpdatedDate": "2023-06-12T20:49:51.490211+00:00",
"policyId": "TPEXAMPLEabcdefg111111",
"policyStoreId": "PSEXAMPLEabcdefg111111",
"policyType": "TEMPLATE_LINKED",
"principal": {
"entityId": "alice",
"entityType": "User"
},
"resource": {
"entityId": "VacationPhoto94.jpg",
"entityType": "Photo"
}
}
Для получения дополнительной информации о политиках см. Amazon Verified Permissions policies в руководстве пользователя Amazon Verified Permissions.
Вывод
policyStoreId -> (строка)
policyId -> (строка)
policyType -> (строка)
principal -> (структура)
Принципал, указанный в области действия политики. Этот элемент не включён в ответ, когда Principal отсутствует в содержании политики.
entityType -> (строка)
Тип сущности.
Пример: "entityType":"*typeName* "
entityId -> (строка)
Идентификатор сущности.
"entityId":"*identifier* "resource -> (структура)
Ресурс, указанный в области действия политики. Этот элемент не включён в ответ, когда Resource отсутствует в содержании политики.
entityType -> (строка)
Тип сущности.
Пример: "entityType":"*typeName* "
entityId -> (строка)
Идентификатор сущности.
"entityId":"*identifier* "actions -> (список)
Действие, разрешённое или запрещённое политикой. Например, {"actions": [{"actionId": "ViewPhoto", "actionType": "PhotoFlash::Action"}, {"entityID": "SharePhoto", "entityType": "PhotoFlash::Action"}]}.
(структура)
Содержит информацию об действии для запроса, для которого принимается решение об авторизации.
Этот тип данных используется в качестве параметра запроса для операций IsAuthorized , BatchIsAuthorized и IsAuthorizedWithToken.
Пример: { "actionId": "<action name>", "actionType": "Action" }
actionType -> (строка)
actionId -> (строка)
createdDate -> (отметка времени)
lastUpdatedDate -> (отметка времени)
effect -> (строка)
"effect": "Permit".
© Copyright 2025, Amazon Web Services. Created using Sphinx.