Spec-Zone.ru › AWS CLI v2

[ aws . verifiedpermissions ]

create-identity-source

Description

Добавляет источник идентификации в хранилище политик — пул пользователей Amazon Cognito или поставщик удостоверений (IdP) OpenID Connect (OIDC).

После создания источника идентификации можно использовать удостоверения, предоставленные IdP, в качестве прокси для субъекта в запросах авторизации, использующих операции API IsAuthorizedWithToken или BatchIsAuthorizedWithToken. Эти удостоверения принимают форму токенов, содержащих утверждения о пользователе, такие как идентификаторы, атрибуты и членство в группе. Источники идентификации предоставляют токены идентификации (ID) и токены доступа. Verified Permissions получает информацию о вашем пользователе и сеансе из утверждений токенов. Токены доступа предоставляют действие context к вашим политикам, а токены ID предоставляют основной Attributes.

Предупреждение

Токены от пользователя источника идентификации продолжают быть пригодными для использования до истечения срока их действия. Отзыв токена и удаление ресурса не влияют на действительность токена в вашем хранилище политик.

Примечание

Чтобы сослаться на пользователя из этого источника идентификации в ваших политиках Cedar, обратитесь к следующим примерам синтаксиса.

  • Пул пользователей Amazon Cognito: Namespace::[Entity type]::[User pool ID]|[user principal attribute], например MyCorp::User::us-east-1_EXAMPLE|a1b2c3d4-5678-90ab-cdef-EXAMPLE11111.
  • Поставщик OpenID Connect (OIDC): Namespace::[Entity type]::[entityIdPrefix]|[user principal attribute], например MyCorp::User::MyOIDCProvider|a1b2c3d4-5678-90ab-cdef-EXAMPLE22222.

Примечание

Verified Permissions является * eventually consistent * . Для распространения нового или измененного элемента через службу и отображения в результатах других операций Verified Permissions может потребоваться несколько секунд.

См. также: AWS API Documentation

Synopsis

  create-identity-source
[--client-token <value>]
--policy-store-id <value>
--configuration <value>
[--principal-entity-type <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]

Options

--client-token (string)

Указывает уникальный идентификатор, учитывающий регистр, который вы предоставляете для обеспечения идемпотентности запроса. Это позволяет безопасно повторить запрос, не выполняя случайно ту же операцию во второй раз. Передача одного и того же значения в последующий вызов операции требует, чтобы вы также передали то же значение для всех других параметров. Рекомендуется использовать значение типа UUID.

Если вы не предоставите это значение, Amazon Web Services сгенерирует случайное значение для вас.

Если вы повторите операцию с тем же ClientToken, но с другими параметрами, повторная попытка завершится ошибкой ConflictException.

Verified Permissions распознает ClientToken в течение восьми часов. Через восемь часов следующий запрос с теми же параметрами выполняет операцию снова, независимо от значения ClientToken.

--policy-store-id (string)

Указывает идентификатор хранилища политик, в котором вы хотите сохранить этот источник идентификации. Только политики и запросы, сделанные с использованием этого хранилища политик, могут ссылаться на удостоверения от поставщика удостоверений, настроенного в новом источнике идентификации.

--configuration (tagged union structure)

Указывает сведения, необходимые для связи с поставщиком удостоверений (IdP), связанным с этим источником идентификации.

Примечание

Это структура Tagged Union. Можно установить только один из следующих ключей верхнего уровня: cognitoUserPoolConfiguration, openIdConnectConfiguration.

cognitoUserPoolConfiguration -> (structure)

Содержит сведения о конфигурации пула пользователей Amazon Cognito, который Verified Permissions может использовать в качестве источника аутентифицированных удостоверений в качестве сущностей. Он указывает имя ресурса Amazon (ARN) пула пользователей Amazon Cognito и один или несколько идентификаторов клиентских приложений.

Пример: "configuration":{"cognitoUserPoolConfiguration":{"userPoolArn":"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5","clientIds": ["a1b2c3d4e5f6g7h8i9j0kalbmc"],"groupConfiguration": {"groupEntityType": "MyCorp::Group"}}}

userPoolArn -> (string)

Имя ресурса Amazon (ARN) пула пользователей Amazon Cognito, содержащего удостоверения для авторизации.

Пример: "UserPoolArn": "arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5"

clientIds -> (list)

Уникальные идентификаторы клиентских приложений, связанные с указанным пулом пользователей Amazon Cognito.

Пример: "ClientIds": ["&ExampleCogClientId;"]

(string)

groupConfiguration -> (structure)

Тип сущности, которую хранилище политик сопоставляет с группами из источника идентификации пула пользователей Amazon Cognito.

groupEntityType -> (string)

Имя типа сущности схемы, сопоставленной с группой пула пользователей. По умолчанию используется AWS::CognitoGroup.

openIdConnectConfiguration -> (structure)

Содержит сведения о конфигурации поставщика удостоверений OpenID Connect (OIDC), или источнике идентификации, который Verified Permissions может использовать для генерации сущностей из аутентифицированных удостоверений. Он указывает URL-адрес издателя, тип токена, который вы хотите использовать, и сведения о сущности хранилища политик.

Пример:"configuration":{"openIdConnectConfiguration":{"issuer":"https://auth.example.com","tokenSelection":{"accessTokenOnly":{"audiences":["https://myapp.example.com","https://myapp2.example.com"],"principalIdClaim":"sub"}},"entityIdPrefix":"MyOIDCProvider","groupConfiguration":{"groupClaim":"groups","groupEntityType":"MyCorp::UserGroup"}}}

issuer -> (string)

URL-адрес издателя поставщика удостоверений OIDC. Этот URL-адрес должен иметь конечную точку обнаружения OIDC по пути .well-known/openid-configuration.

entityIdPrefix -> (string)

Описательная строка, которую вы хотите добавить в качестве префикса к пользовательским сущностям от вашего поставщика удостоверений OIDC. Например, если вы установите entityIdPrefix равным MyOIDCProvider, вы можете ссылаться на субъекты в своих политиках в формате MyCorp::User::MyOIDCProvider|Carlos.

groupConfiguration -> (structure)

Утверждение в токенах поставщика удостоверений OIDC, которое указывает членство пользователя в группе, и тип сущности, к которому вы хотите его сопоставить. Например, этот объект может сопоставлять содержимое утверждения groups с MyCorp::UserGroup.

groupClaim -> (string)

Утверждение токена, которое вы хотите, чтобы Verified Permissions интерпретировал как членство в группе. Например, groups.

groupEntityType -> (string)

Тип сущности хранилища политик, к которому вы хотите сопоставить утверждение группы ваших пользователей. Например, MyCorp::UserGroup. Тип сущности группы — это сущность, которая может иметь тип сущности пользователя в качестве члена.

tokenSelection -> (tagged union structure)

Тип токена, который вы хотите обработать от своего поставщика удостоверений OIDC. Ваше хранилище политик может обрабатывать токены идентификации (ID) или токены доступа от данного источника идентификации OIDC.

Примечание

Это структура Tagged Union. Можно установить только один из следующих ключей верхнего уровня: accessTokenOnly, identityTokenOnly.

accessTokenOnly -> (structure)

Конфигурация OIDC для обработки токенов доступа. Содержит разрешенные утверждения аудитории, например https://auth.example.com, и утверждение, которое вы хотите сопоставить с субъектом, например sub.

principalIdClaim -> (string)

Утверждение, которое определяет субъект в токенах доступа OIDC. Например, sub.

audiences -> (list)

Значения утверждения aud токена доступа, которые вы хотите принять в своем хранилище политик. Например, https://myapp.example.com, https://myapp2.example.com.

(string)

identityTokenOnly -> (structure)

Конфигурация OIDC для обработки токенов идентификации (ID). Содержит разрешенные утверждения идентификатора клиента, например 1example23456789, и утверждение, которое вы хотите сопоставить с субъектом, например sub.

principalIdClaim -> (string)

Утверждение, которое определяет субъект в токенах доступа OIDC. Например, sub.

clientIds -> (list)

Значения утверждения аудитории токена ID или идентификатора клиента, которые вы хотите принять в своем хранилище политик от поставщика удостоверений OIDC. Например, 1example23456789, 2example10111213.

(string)

JSON Syntax:

{
  "cognitoUserPoolConfiguration": {
    "userPoolArn": "string",
    "clientIds": ["string", ...],
    "groupConfiguration": {
      "groupEntityType": "string"
    }
  },
  "openIdConnectConfiguration": {
    "issuer": "string",
    "entityIdPrefix": "string",
    "groupConfiguration": {
      "groupClaim": "string",
      "groupEntityType": "string"
    },
    "tokenSelection": {
      "accessTokenOnly": {
        "principalIdClaim": "string",
        "audiences": ["string", ...]
      },
      "identityTokenOnly": {
        "principalIdClaim": "string",
        "clientIds": ["string", ...]
      }
    }
  }
}

--principal-entity-type (string)

Указывает пространство имен и тип данных основных, сгенерированных для удостоверений, аутентифицированных новым источником идентификации.

--cli-input-json | --cli-input-yaml (string) Считывает аргументы из предоставленной строки JSON. Строка JSON соответствует формату, предоставленному --generate-cli-skeleton. Если в командной строке предоставлены другие аргументы, эти значения переопределят значения, предоставленные в JSON. Невозможно передать произвольные двоичные значения, используя значение, предоставленное в JSON, так как строка будет воспринята буквально. Это может быть не указано вместе с --cli-input-yaml.

--generate-cli-skeleton (string) Печатает каркас JSON в стандартный вывод, не отправляя запрос API. Если не предоставлено значение или значение input, печатает образец входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено yaml-input, он напечатает образец входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, он проверит входные данные команды и вернет образец выходного JSON для этой команды. Сгенерированный каркас JSON не является стабильным между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном каркасе JSON.

Глобальные опции

--debug (boolean)

Включить журнал отладки.

--endpoint-url (string)

Переопределить URL по умолчанию для команды указанным URL.

--no-verify-ssl (boolean)

По умолчанию AWS CLI использует SSL при взаимодействии с сервисами AWS. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Эта опция переопределяет поведение по умолчанию при проверке SSL-сертификатов.

--no-paginate (boolean)

Отключить автоматическое разбиение на страницы. Если автоматическое разбиение на страницы отключено, AWS CLI выполнит только один вызов, для первой страницы результатов.

--output (string)

Стиль форматирования для вывода команды.

  • json
  • text
  • table
  • yaml
  • yaml-stream

--query (string)

Запрос JMESPath для использования при фильтрации данных ответа.

--profile (string)

Использовать определенный профиль из вашего файла учетных данных.

--region (string)

Регион для использования. Переопределяет настройки config/env.

--version (string)

Отобразить версию этого инструмента.

--color (string)

Включить/выключить цветной вывод.

  • on
  • off
  • auto

--no-sign-request (boolean)

Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.

--ca-bundle (string)

Пакет сертификатов CA для использования при проверке SSL-сертификатов. Переопределяет настройки config/env.

--cli-read-timeout (int)

Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокироваться и не будет таймаута. Значение по умолчанию — 60 секунд.

--cli-connect-timeout (int)

Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокироваться и не будет таймаута. Значение по умолчанию — 60 секунд.

--cli-binary-format (string)

Стиль форматирования, который будет использоваться для двоичных больших объектов. Формат по умолчанию — 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 (boolean)

Отключить пейджер cli для вывода.

--cli-auto-prompt (boolean)

Автоматически запрашивать параметры ввода CLI.

--no-cli-auto-prompt (boolean)

Отключить автоматическую подсказку для параметров ввода CLI.

Примеры

Примечание

Чтобы использовать следующие примеры, необходимо установить и настроить AWS CLI. Дополнительные сведения см. в руководстве по началу работы в Руководстве пользователя AWS CLI.

Если не указано иное, все примеры имеют правила цитирования, подобные unix. Эти примеры необходимо адаптировать к правилам цитирования вашего терминала. См. раздел Использование кавычек со строками в Руководстве пользователя AWS CLI .

Чтобы создать источник идентификации

Следующий пример create-identity-source создает источник идентификации, который позволяет ссылаться на удостоверения, хранящиеся в указанном пуле пользователей Amazon Cognito. Эти удостоверения доступны в Verified Permissions как сущности типа User.

aws verifiedpermissions create-identity-source \
    --configuration file://config.txt \
    --principal-entity-type "User" \
    --policy-store-id PSEXAMPLEabcdefg111111

Содержимое config.txt:

{
    "cognitoUserPoolConfiguration": {
        "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5",
        "clientIds":["a1b2c3d4e5f6g7h8i9j0kalbmc"]
    }
}

Вывод:

{
    "createdDate": "2023-05-19T20:30:28.214829+00:00",
    "identitySourceId": "ISEXAMPLEabcdefg111111",
    "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00",
    "policyStoreId": "PSEXAMPLEabcdefg111111"
}

Дополнительные сведения об источниках идентификации см. в разделе Использование Amazon Verified Permissions с поставщиками удостоверений в Руководстве пользователя Amazon Verified Permissions.

Вывод

createdDate -> (timestamp)

Дата и время первоначального создания источника идентификации.

identitySourceId -> (string)

Уникальный идентификатор нового источника идентификации.

lastUpdatedDate -> (timestamp)

Дата и время последнего обновления источника идентификации.

policyStoreId -> (string)

Идентификатор хранилища политик, содержащего источник идентификации.

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

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