Spec-Zone.ru › AWS CLI v2

[ 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 (строка)

Указывает идентификатор политики, которую вы хотите обновить. Для поиска этого значения можно использовать ListPolicies.

--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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API