Exemplos de permissões verificadas usando AWS CLI - AWS SDKExemplos de código

Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplos de permissões verificadas usando AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com permissões verificadas.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, é possível ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.

Tópicos

Ações

O código de exemplo a seguir mostra como usar create-identity-source.

AWS CLI

Para criar uma fonte de identidade

O create-identity-source exemplo a seguir cria uma fonte de identidade que permite referenciar identidades armazenadas no grupo de usuários do Amazon Cognito especificado. Essas identidades estão disponíveis nas Permissões verificadas como entidades do tipoUser.

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

Conteúdo de config.txt:

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

Saída:

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

Para obter mais informações sobre fontes de identidade, consulte Uso de permissões verificadas da Amazon com provedores de identidade no Guia do usuário de permissões verificadas da Amazon.

O código de exemplo a seguir mostra como usar create-policy-store.

AWS CLI

Para criar um repositório de políticas

O create-policy-store exemplo a seguir cria um repositório de políticas na AWS região atual.

aws verifiedpermissions create-policy-store \ --validation-settings "mode=STRICT"

Saída:

{ "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-05-16T17:41:29.103459+00:00", "lastUpdatedDate": "2023-05-16T17:41:29.103459+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }

Para obter mais informações sobre repositórios de políticas, consulte Armazenamentos de políticas de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte CreatePolicyStorena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar create-policy-template.

AWS CLI

Exemplo 1: Para criar um modelo de política

O create-policy-template exemplo a seguir cria um modelo de política com uma declaração que contém um espaço reservado para o diretor.

aws verifiedpermissions create-policy-template \ --definition file://template1.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Conteúdo do arquivo template1.txt:

permit( principal in ?principal, action == Action::"view", resource == Photo::"VacationPhoto94.jpg" );

Saída:

{ "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" }

Para obter mais informações sobre modelos de políticas, consulte Modelos de política de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

O código de exemplo a seguir mostra como usar create-policy.

AWS CLI

Exemplo 1: Para criar uma política estática

O create-policy exemplo a seguir cria uma política estática com um escopo de política que especifica tanto um principal quanto um recurso.

aws verifiedpermissions create-policy \ --definition file://definition1.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Conteúdo do arquivo definition1.txt:

{ "static": { "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album", "statement": "permit(principal in UserGroup::\"janeFriends\", action, resource in Album::\"vacationFolder\" );" } }

Saída:

{ "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" } }

Exemplo 2: Para criar uma política estática que conceda acesso a um recurso para todos

O create-policy exemplo a seguir cria uma política estática com um escopo de política que especifica somente um recurso.

aws verifiedpermissions create-policy \ --definition file://definition2.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Conteúdo do arquivo definition2.txt:

{ "static": { "description": "Grant everyone access to the publicFolder Album", "statement": "permit(principal, action, resource in Album::\"publicFolder\");" } }

Saída:

{ "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" } }

Exemplo 3: Para criar uma política vinculada ao modelo que esteja associada ao modelo especificado

O create-policy exemplo a seguir cria uma política vinculada ao modelo usando o modelo de política especificado e associa o principal especificado a ser usado à nova política vinculada ao modelo.

aws verifiedpermissions create-policy \ --definition file://definition.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Conteúdo de definition.txt:

{ "templateLinked": { "policyTemplateId": "PTEXAMPLEabcdefg111111", "principal": { "entityType": "User", "entityId": "alice" } } }

Saída:

{ "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" } }

Para obter mais informações sobre políticas, consulte as políticas de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte CreatePolicyna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-identity-source.

AWS CLI

Para excluir uma fonte de identidade

O delete-identity-source exemplo a seguir exclui a fonte de identidade que tem o ID especificado.

aws verifiedpermissions delete-identity-source \ --identity-source-id ISEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Este comando não produz saída.

Para obter mais informações sobre fontes de identidade, consulte Uso de permissões verificadas da Amazon com provedores de identidade no Guia do usuário de permissões verificadas da Amazon.

O código de exemplo a seguir mostra como usar delete-policy-store.

AWS CLI

Para excluir um repositório de políticas

O delete-policy-store exemplo a seguir exclui o repositório de políticas que tem o ID especificado.

aws verifiedpermissions delete-policy-store \ --policy-store-id PSEXAMPLEabcdefg111111

Este comando não produz saída.

Para obter mais informações sobre repositórios de políticas, consulte Armazenamentos de políticas de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte DeletePolicyStorena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-policy-template.

AWS CLI

Para excluir um modelo de política

O delete-policy-template exemplo a seguir exclui o modelo de política que tem o ID especificado.

aws verifiedpermissions delete-policy \ --policy-template-id PTEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Este comando não produz saída.

Para obter mais informações sobre modelos de políticas, consulte Modelos de política de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

O código de exemplo a seguir mostra como usar delete-policy.

AWS CLI

Para excluir uma política estática ou vinculada a um modelo

O delete-policy exemplo a seguir exclui a política que tem o ID especificado.

aws verifiedpermissions delete-policy \ --policy-id SPEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Este comando não produz saída.

Para obter mais informações sobre políticas, consulte as políticas de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte DeletePolicyna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-identity-source.

AWS CLI

Para recuperar detalhes sobre uma fonte de identidade

O get-identity-source exemplo a seguir exibe os detalhes da fonte de identidade com o ID especificado.

aws verifiedpermissions get-identity-source \ --identity-source ISEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Saída:

{ "createdDate": "2023-06-12T22:27:49.150035+00:00", "details": { "clientIds": [ "a1b2c3d4e5f6g7h8i9j0kalbmc" ], "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_1a2b3c4d5", "openIdIssuer": "COGNITO", "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5" }, "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-06-12T22:27:49.150035+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "principalEntityType": "User" }

Para obter mais informações sobre fontes de identidade, consulte Uso de permissões verificadas da Amazon com provedores de identidade no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte GetIdentitySourcena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-policy-store.

AWS CLI

Para recuperar detalhes sobre um repositório de políticas

O get-policy-store exemplo a seguir exibe os detalhes do repositório de políticas com o ID especificado.

aws verifiedpermissions get-policy-store \ --policy-store-id PSEXAMPLEabcdefg111111

Saída:

{ "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-06-05T20:16:46.225598+00:00", "lastUpdatedDate": "2023-06-08T20:40:23.173691+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "validationSettings": { "mode": "OFF" } }

Para obter mais informações sobre repositórios de políticas, consulte Armazenamentos de políticas de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte GetPolicyStorena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-policy-template.

AWS CLI

Para recuperar detalhes sobre um modelo de política

O get-policy-template exemplo a seguir exibe os detalhes do modelo de política com a ID especificada.

aws verifiedpermissions get-policy-template \ --policy-template-id PTEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Saída:

{ "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111", "statement": "permit(\n principal in ?principal,\n action == Action::\"view\",\n resource == Photo::\"VacationPhoto94.jpg\"\n);" }

Para obter mais informações sobre modelos de políticas, consulte Modelos de política de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte GetPolicyTemplatena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-policy.

AWS CLI

Para recuperar detalhes sobre uma política

O get-policy exemplo a seguir exibe os detalhes da política com o ID especificado.

aws verifiedpermissions get-policy \ --policy-id PSEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Saída:

{ "createdDate": "2023-06-12T20:33:37.382907+00:00", "definition": { "static": { "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album", "statement": "permit(principal in UserGroup::\"janeFriends\", action, resource in Album::\"vacationFolder\" );" } }, "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" } }

Para obter mais informações sobre políticas, consulte as políticas de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte GetPolicyna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-schema.

AWS CLI

Para recuperar o esquema em um repositório de políticas

O get-schema exemplo a seguir exibe os detalhes do esquema no repositório de políticas especificado.

aws verifiedpermissions get-schema \ --policy-store-id PSEXAMPLEabcdefg111111

Saída:

{ "policyStoreId": "PSEXAMPLEabcdefg111111", "schema": "{\"MySampleNamespace\":{\"entityTypes\":{\"Employee\":{\"shape\":{\"attributes\":{\"jobLevel\":{\"type\":\"Long\"},\"name\":{\"type\":\"String\"}},\"type\":\"Record\"}}},\"actions\":{\"remoteAccess\":{\"appliesTo\":{\"principalTypes\":[\"Employee\"]}}}}}", "createdDate": "2023-06-14T17:47:13.999885+00:00", "lastUpdatedDate": "2023-06-14T17:47:13.999885+00:00" }

Para obter mais informações sobre o esquema, consulte Esquema do repositório de políticas no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte GetSchemana Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar is-authorized-with-token.

AWS CLI

Exemplo 1: Para solicitar uma decisão de autorização para uma solicitação de usuário (permitir)

O is-authorized-with-token exemplo a seguir solicita uma decisão de autorização para um usuário que foi autenticado pelo Amazon Cognito. A solicitação usa o token de identidade fornecido pelo Cognito em vez do token de acesso. Neste exemplo, o armazenamento de informações especificado está configurado para retornar entidades principais como entidades do tipoCognitoUser.

aws verifiedpermissions is-authorized-with-token \ --action actionId="View",actionType="Action" \ --resource entityId="vacationPhoto94.jpg",entityType="Photo" \ --policy-store-id PSEXAMPLEabcdefg111111 \ --identity-token "AbCdE12345...long.string...54321EdCbA"

O repositório de políticas contém uma política com a seguinte declaração que aceita identidades do grupo de usuários e ID do aplicativo do Cognito especificados.

permit( principal == CognitoUser::"us-east-1_1a2b3c4d5|a1b2c3d4e5f6g7h8i9j0kalbmc", action, resource == Photo::"VacationPhoto94.jpg" );

Saída:

{ "decision":"Allow", "determiningPolicies":[ { "determiningPolicyId":"SPEXAMPLEabcdefg111111" } ], "errors":[] }

Para obter mais informações sobre o uso de identidades de um grupo de usuários do Cognito, consulte Usando as Permissões Verificadas da Amazon com provedores de identidade no Guia do Usuário de Permissões Verificadas da Amazon.

O código de exemplo a seguir mostra como usar is-authorized.

AWS CLI

Exemplo 1: Para solicitar uma decisão de autorização para uma solicitação de usuário (permitir)

O is-authorized exemplo a seguir solicita uma decisão de autorização para um principal do tipo User chamadoAlice, que deseja realizar a updatePhoto operação, em um recurso do tipo Photo chamadoVacationPhoto94.jpg.

A resposta mostra que a solicitação é permitida por uma política.

aws verifiedpermissions is-authorized \ --principal entityType=User,entityId=alice \ --action actionType=Action,actionId=view \ --resource entityType=Photo,entityId=VactionPhoto94.jpg \ --policy-store-id PSEXAMPLEabcdefg111111

Saída:

{ "decision": "ALLOW", "determiningPolicies": [ { "policyId": "SPEXAMPLEabcdefg111111" } ], "errors": [] }

Exemplo 2: Para solicitar uma decisão de autorização para uma solicitação de usuário (negar)

O exemplo a seguir é igual ao exemplo anterior, exceto que o principal éUser::"Bob". O repositório de políticas não contém nenhuma política que permita que esse usuário acesse Album::"alice_folder" o.

A saída indica que Deny estava implícito porque a lista de DeterminingPolicies está vazia.

aws verifiedpermissions create-policy \ --definition file://definition2.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Saída:

{ "decision": "DENY", "determiningPolicies": [], "errors": [] }

Para obter mais informações, consulte o Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte IsAuthorizedna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-identity-sources.

AWS CLI

Para listar as fontes de identidade disponíveis

O list-identity-sources exemplo a seguir lista todas as fontes de identidade no repositório de políticas especificado.

aws verifiedpermissions list-identity-sources \ --policy-store-id PSEXAMPLEabcdefg111111

Saída:

{ "identitySources": [ { "createdDate": "2023-06-12T22:27:49.150035+00:00", "details": { "clientIds": [ "a1b2c3d4e5f6g7h8i9j0kalbmc" ], "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_1a2b3c4d5", "openIdIssuer": "COGNITO", "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5" }, "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-06-12T22:27:49.150035+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "principalEntityType": "User" } ] }

Para obter mais informações sobre fontes de identidade, consulte Uso de permissões verificadas da Amazon com provedores de identidade no Guia do usuário de permissões verificadas da Amazon.

O código de exemplo a seguir mostra como usar list-policies.

AWS CLI

Para listar as políticas disponíveis

O list-policies exemplo a seguir lista todas as políticas no repositório de políticas especificado.

aws verifiedpermissions list-policies \ --policy-store-id PSEXAMPLEabcdefg111111

Saída:

{ "policies": [ { "createdDate": "2023-06-12T20:33:37.382907+00:00", "definition": { "static": { "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album" } }, "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" } }, { "createdDate": "2023-06-12T20:39:44.975897+00:00", "definition": { "static": { "description": "Grant everyone access to the publicFolder Album" } }, "lastUpdatedDate": "2023-06-12T20:39:44.975897+00:00", "policyId": "SPEXAMPLEabcdefg222222", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "STATIC", "resource": { "entityId": "publicFolder", "entityType": "Album" } }, { "createdDate": "2023-06-12T20:49:51.490211+00:00", "definition": { "templateLinked": { "policyTemplateId": "PTEXAMPLEabcdefg111111" } }, "lastUpdatedDate": "2023-06-12T20:49:51.490211+00:00", "policyId": "SPEXAMPLEabcdefg333333", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "TEMPLATE_LINKED", "principal": { "entityId": "alice", "entityType": "User" }, "resource": { "entityId": "VacationPhoto94.jpg", "entityType": "Photo" } } ] }

Para obter mais informações sobre políticas, consulte as políticas de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte ListPoliciesna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-policy-stores.

AWS CLI

Para listar os repositórios de políticas disponíveis

O list-policy-stores exemplo a seguir lista todos os repositórios de políticas na AWS região. Todos os comandos para permissões verificadas, exceto create-policy-store e list-policy-stores exigem que você especifique o ID do repositório de políticas com o qual deseja trabalhar.

aws verifiedpermissions list-policy-stores

Saída:

{ "policyStores": [ { "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-06-05T20:16:46.225598+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }, { "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg222222", "createdDate": "2023-06-08T18:09:37.364356+00:00", "policyStoreId": "PSEXAMPLEabcdefg222222" }, { "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg333333", "createdDate": "2023-06-08T18:09:46.920600+00:00", "policyStoreId": "PSEXAMPLEabcdefg333333" } ] }

Para obter mais informações sobre repositórios de políticas, consulte Armazenamentos de políticas de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte ListPolicyStoresna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-policy-templates.

AWS CLI

Para listar os modelos de política disponíveis

O list-policy-templates exemplo a seguir lista todos os modelos de política no repositório de políticas especificado.

aws verifiedpermissions list-policy-templates \ --policy-store-id PSEXAMPLEabcdefg111111

Saída:

{ "policyTemplates": [ { "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" } ] }

Para obter mais informações sobre modelos de políticas, consulte Modelos de política de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

O código de exemplo a seguir mostra como usar put-schema.

AWS CLI

Para salvar um esquema em um repositório de políticas

O put-schema exemplo a seguir cria ou substitui o esquema no repositório de políticas especificado.

O cedarJson parâmetro no arquivo de entrada usa uma representação em cadeia de caracteres de um JSON objeto. Ele contém aspas incorporadas (“) dentro do par de aspas mais externo. Isso exige que você converta o JSON em uma string precedendo todas as aspas incorporadas com um caractere de barra invertida (") e combinando todas as linhas em uma única linha de texto sem quebras de linha.

As sequências de caracteres de exemplo podem ser exibidas em várias linhas aqui para facilitar a leitura, mas a operação exige que os parâmetros sejam enviados como cadeias de caracteres de uma única linha.

as permissões verificadas pus-schema --definition file: //schema.txt -- policy-store-id PSEXAMPLEabcdefg111111

Conteúdo de schema.txt:

{ "cedarJson": "{\"MySampleNamespace\": {\"actions\": {\"remoteAccess\": { \"appliesTo\": {\"principalTypes\": [\"Employee\"]}}},\"entityTypes\": { \"Employee\": {\"shape\": {\"attributes\": {\"jobLevel\": {\"type\": \"Long\"},\"name\": {\"type\": \"String\"}},\"type\": \"Record\"}}}}}" }

Saída:

{ "policyStoreId": "PSEXAMPLEabcdefg111111", "namespaces": [ "MySampleNamespace" ], "createdDate": "2023-06-14T17:47:13.999885+00:00", "lastUpdatedDate": "2023-06-14T17:47:13.999885+00:00" }

Para obter mais informações sobre o esquema, consulte Esquema do repositório de políticas no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte PutSchemana Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar update-identity-source.

AWS CLI

Para atualizar uma fonte de identidade

O update-identity-source exemplo a seguir modifica a fonte de identidade especificada fornecendo uma nova configuração do grupo de usuários do Cognito e alterando o tipo de entidade retornado pela fonte de identidade.

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

Conteúdo de config.txt:

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

Saída:

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

Para obter mais informações sobre fontes de identidade, consulte Uso de permissões verificadas da Amazon com provedores de identidade no Guia do usuário de permissões verificadas da Amazon.

O código de exemplo a seguir mostra como usar update-policy-store.

AWS CLI

Para atualizar um repositório de políticas

O update-policy-store exemplo a seguir modifica um repositório de políticas alterando sua configuração de validação.

aws verifiedpermissions update-policy-store \ --validation-settings "mode=STRICT" \ --policy-store-id PSEXAMPLEabcdefg111111

Saída:

{ "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-05-16T17:41:29.103459+00:00", "lastUpdatedDate": "2023-05-16T17:41:29.103459+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }

Para obter mais informações sobre repositórios de políticas, consulte Armazenamentos de políticas de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte UpdatePolicyStorena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar update-policy-template.

AWS CLI

Exemplo 1: Para atualizar um modelo de política

O update-policy-template exemplo a seguir modifica a política vinculada ao modelo especificado para substituir sua declaração de política.

aws verifiedpermissions update-policy-template \ --policy-template-id PTEXAMPLEabcdefg111111 \ --statement file://template1.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Conteúdo do arquivo template1.txt:

permit( principal in ?principal, action == Action::"view", resource == Photo::"VacationPhoto94.jpg" );

Saída:

{ "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" }

Para obter mais informações sobre modelos de políticas, consulte Modelos de política de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

O código de exemplo a seguir mostra como usar update-policy.

AWS CLI

Exemplo 1: Para criar uma política estática

O create-policy exemplo a seguir cria uma política estática com um escopo de política que especifica tanto um principal quanto um recurso.

aws verifiedpermissions create-policy \ --definition file://definition.txt \ --policy-store-id PSEXAMPLEabcdefg111111

O statement parâmetro usa uma representação em cadeia de caracteres de um JSON objeto. Ele contém aspas incorporadas (“) dentro do par de aspas mais externo. Isso exige que você converta o JSON em uma string precedendo todas as aspas incorporadas com um caractere de barra invertida (") e combinando todas as linhas em uma única linha de texto sem quebras de linha.

As sequências de caracteres de exemplo podem ser exibidas em várias linhas aqui para facilitar a leitura, mas a operação exige que os parâmetros sejam enviados como cadeias de caracteres de uma única linha.

Conteúdo do arquivo 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\" );" } }

Saída:

{ "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" } }

Exemplo 2: Para criar uma política estática que conceda acesso a um recurso para todos

O create-policy exemplo a seguir cria uma política estática com um escopo de política que especifica somente um recurso.

aws verifiedpermissions create-policy \ --definition file://definition2.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Conteúdo do arquivo definition2.txt:

{ "static": { "description": "Grant everyone access to the publicFolder Album", "statement": "permit(principal, action, resource in Album::\"publicFolder\");" } }

Saída:

{ "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" } }

Exemplo 3: Para criar uma política vinculada ao modelo que esteja associada ao modelo especificado

O create-policy exemplo a seguir cria uma política vinculada ao modelo usando o modelo de política especificado e associa o principal especificado a ser usado à nova política vinculada ao modelo.

aws verifiedpermissions create-policy \ --definition file://definition2.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Conteúdo do definition3.txt:

{ "templateLinked": { "policyTemplateId": "PTEXAMPLEabcdefg111111", "principal": { "entityType": "User", "entityId": "alice" } } }

Saída:

{ "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" } }

Para obter mais informações sobre políticas, consulte as políticas de permissões verificadas da Amazon no Guia do usuário de permissões verificadas da Amazon.

  • Para API obter detalhes, consulte UpdatePolicyna Referência de AWS CLI Comandos.