Exemplos do Verified Permissions usando a AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando a AWS Command Line Interface com o Verified Permissions.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.
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 exemplo
create-identity-sourcea seguir cria uma fonte de identidades que permite referenciar identidades armazenadas no grupo de usuários do Amazon Cognito especificado. Essas identidades estão disponíveis no Verified Permissions como entidades do tipoUser.aws verifiedpermissions create-identity-source \ --configurationfile://config.txt\ --principal-entity-type"User"\ --policy-store-idPSEXAMPLEabcdefg111111Conteú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 identidades, consulte Como usar o Amazon Verified Permissions com provedores de identidade no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte CreateIdentitySource
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar create-policy-store.
- AWS CLI
-
Para criar um armazenamento de políticas
O exemplo
create-policy-storea seguir cria um repositório de políticas na região da AWS 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 armazenamentos de políticas, consulte Armazenamentos de políticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte CreatePolicyStore
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar create-policy-template.
- AWS CLI
-
Como criar um modelo de política
O exemplo
create-policy-templatea seguir cria um modelo de política com uma declaração que contém um espaço reservado para a entidade principal.aws verifiedpermissions create-policy-template \ --statementfile://template1.txt\ --policy-store-idPSEXAMPLEabcdefg111111Conteúdo de
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íticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte CreatePolicyTemplate
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar create-policy.
- AWS CLI
-
Exemplo 1: criar uma política estática
O exemplo
create-policya seguir cria uma política estática com um escopo de política que especifica tanto uma entidade principal quanto um recurso.aws verifiedpermissions create-policy \ --definitionfile://definition1.txt\ --policy-store-idPSEXAMPLEabcdefg111111Conteú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: criar uma política estática que conceda acesso a um recurso para todos
O exemplo
create-policya seguir cria uma política estática com um escopo de política que especifica somente um recurso.aws verifiedpermissions create-policy \ --definitionfile://definition2.txt\ --policy-store-idPSEXAMPLEabcdefg111111Conteú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: criar uma política vinculada a um modelo que esteja associada ao modelo especificado
O exemplo
create-policya seguir cria uma política vinculada ao modelo usando o modelo de política especificado e associa a entidade principal especificada a ser usada à nova política vinculada ao modelo.aws verifiedpermissions create-policy \ --definitionfile://definition.txt\ --policy-store-idPSEXAMPLEabcdefg111111Conteú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 Políticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para obter detalhes da API, consulte CreatePolicy
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar delete-identity-source.
- AWS CLI
-
Para excluir uma fonte de identidade
O exemplo
delete-identity-sourcea seguir exclui a fonte de identidades que tem o ID especificado.aws verifiedpermissions delete-identity-source \ --identity-source-idISEXAMPLEabcdefg111111\ --policy-store-idPSEXAMPLEabcdefg111111Este comando não produz saída.
Para obter mais informações sobre fontes de identidades, consulte Como usar o Amazon Verified Permissions com provedores de identidade no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte DeleteIdentitySource
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar delete-policy-store.
- AWS CLI
-
Para excluir um armazenamento de políticas
O exemplo
delete-policy-storea seguir exclui o armazenamento de políticas que tem o ID especificado.aws verifiedpermissions delete-policy-store \ --policy-store-idPSEXAMPLEabcdefg111111Este comando não produz saída.
Para obter mais informações sobre armazenamentos de políticas, consulte Armazenamentos de políticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte DeletePolicyStore
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar delete-policy-template.
- AWS CLI
-
Para excluir um modelo de política
O exemplo
delete-policy-templatea seguir exclui o modelo de política que tem o ID especificado.aws verifiedpermissions delete-policy \ --policy-template-idPTEXAMPLEabcdefg111111\ --policy-store-idPSEXAMPLEabcdefg111111Este comando não produz saída.
Para obter mais informações sobre modelos de políticas, consulte Modelos de políticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte DeletePolicyTemplate
na Referência de comandos da AWS CLI.
-
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 exemplo
delete-policya seguir exclui a política que tem o ID especificado.aws verifiedpermissions delete-policy \ --policy-idSPEXAMPLEabcdefg111111\ --policy-store-idPSEXAMPLEabcdefg111111Este comando não produz saída.
Para obter mais informações sobre políticas, consulte Políticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para obter detalhes da API, consulte DeletePolicy
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar get-identity-source.
- AWS CLI
-
Para recuperar detalhes sobre uma fonte de identidade
O exemplo
get-identity-sourcea seguir exibe os detalhes da fonte de identidades com o ID especificado.aws verifiedpermissions get-identity-source \ --identity-sourceISEXAMPLEabcdefg111111\ --policy-store-idPSEXAMPLEabcdefg111111Saí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 identidades, consulte Como usar o Amazon Verified Permissions com provedores de identidade no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte GetIdentitySource
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar get-policy-store.
- AWS CLI
-
Para recuperar detalhes sobre um armazenamento de políticas
O exemplo
get-policy-storea seguir exibe os detalhes do armazenamento de políticas com o ID especificado.aws verifiedpermissions get-policy-store \ --policy-store-idPSEXAMPLEabcdefg111111Saí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 armazenamentos de políticas, consulte Armazenamentos de políticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte GetPolicyStore
na Referência de comandos da AWS CLI.
-
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 exemplo
get-policy-templatea seguir exibe os detalhes do modelo de políticas com o ID especificado.aws verifiedpermissions get-policy-template \ --policy-template-idPTEXAMPLEabcdefg111111\ --policy-store-idPSEXAMPLEabcdefg111111Saí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íticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte GetPolicyTemplate
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar get-policy.
- AWS CLI
-
Para recuperar detalhes sobre uma política
O exemplo
get-policya seguir exibe os detalhes da política com o ID especificado.aws verifiedpermissions get-policy \ --policy-idPSEXAMPLEabcdefg111111\ --policy-store-idPSEXAMPLEabcdefg111111Saí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 Políticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para obter detalhes da API, consulte GetPolicy
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar get-schema.
- AWS CLI
-
Para recuperar o esquema em um armazenamento de políticas
O exemplo
get-schemaa seguir exibe os detalhes do esquema no armazenamento de políticas especificado.aws verifiedpermissions get-schema \ --policy-store-idPSEXAMPLEabcdefg111111Saí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 de repositório de políticas no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte GetSchema
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar is-authorized-with-token.
- AWS CLI
-
Exemplo 1: solicitar uma decisão de autorização para uma solicitação de usuário (permitir)
O exemplo
is-authorized-with-tokena 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-idPSEXAMPLEabcdefg111111\ --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 da aplicação 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 Como usar o Amazon Verified Permissions com provedores de identidade no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte IsAuthorizedWithToken
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar is-authorized.
- AWS CLI
-
Exemplo 1: solicitar uma decisão de autorização para uma solicitação de usuário (permitir)
O exemplo
is-authorizeda seguir solicita uma decisão de autorização para uma entidade principal do tipoUserchamadoAlice, que deseja realizar a operaçãoupdatePhoto, em um recurso do tipoPhotochamadoVacationPhoto94.jpg.A resposta mostra que a solicitação é permitida por uma política.
aws verifiedpermissions is-authorized \ --principalentityType=User,entityId=alice\ --actionactionType=Action,actionId=view\ --resourceentityType=Photo,entityId=VactionPhoto94.jpg\ --policy-store-idPSEXAMPLEabcdefg111111Saída:
{ "decision": "ALLOW", "determiningPolicies": [ { "policyId": "SPEXAMPLEabcdefg111111" } ], "errors": [] }Exemplo 2: solicitar uma decisão de autorização para uma solicitação de usuário (negar)
O exemplo a seguir é igual ao exemplo anterior, com a exceção de que a entidade principal é
User::"Bob". O repositório de políticas não contém nenhuma política que permita o acesso desse usuário aAlbum::"alice_folder".A saída indica que
Denyestava implícito porque a lista deDeterminingPoliciesestá vazia.aws verifiedpermissions create-policy \ --definitionfile://definition2.txt\ --policy-store-idPSEXAMPLEabcdefg111111Saída:
{ "decision": "DENY", "determiningPolicies": [], "errors": [] }Para obter mais informações, consulte o Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte IsAuthorized
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar list-identity-sources.
- AWS CLI
-
Para listar as fontes de identidades disponíveis
O exemplo
list-identity-sourcesa seguir lista todas as fontes de identidade no armazenamento de políticas especificado.aws verifiedpermissions list-identity-sources \ --policy-store-idPSEXAMPLEabcdefg111111Saí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 identidades, consulte Como usar o Amazon Verified Permissions com provedores de identidade no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte ListIdentitySources
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar list-policies.
- AWS CLI
-
Para listar as políticas disponíveis
O exemplo
list-policiesa seguir lista todas as políticas no armazenamento de políticas especificado.aws verifiedpermissions list-policies \ --policy-store-idPSEXAMPLEabcdefg111111Saí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 Políticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para obter detalhes da API, consulte ListPolicies
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar list-policy-stores.
- AWS CLI
-
Para listar os armazenamentos de políticas disponíveis
O exemplo
list-policy-storesa seguir lista todos os armazenamentos de políticas na região da AWS. Todos os comandos para o Verified Permissions, excetocreate-policy-storeelist-policy-stores, exigem que você especifique o ID do repositório de políticas com o qual deseja trabalhar.aws verifiedpermissions list-policy-storesSaí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 armazenamentos de políticas, consulte Armazenamentos de políticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte ListPolicyStores
na Referência de comandos da AWS CLI.
-
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 exemplo
list-policy-templatesa seguir lista todos modelos de política no armazenamento de políticas especificado.aws verifiedpermissions list-policy-templates \ --policy-store-idPSEXAMPLEabcdefg111111Saí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íticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte ListPolicyTemplates
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar put-schema.
- AWS CLI
-
Como salvar um esquema em um armazenamento de políticas
O exemplo
put-schemaa seguir cria ou substitui o esquema no armazenamento de políticas especificado.O parâmetro
cedarJsonno arquivo de entrada usa uma representação de string de um objeto JSON. 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 strings 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 strings de uma única linha.
aws verifiedpermissions put-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 de repositório de políticas no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte PutSchema
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar update-identity-source.
- AWS CLI
-
Para atualizar uma fonte de identidades
O exemplo
update-identity-sourcea seguir modifica a fonte de identidades especificada fornecendo uma nova configuração do grupo de usuários do Cognito e alterando o tipo de entidade retornado pela fonte de identidades.aws verifiedpermissions update-identity-source --identity-source-idISEXAMPLEabcdefg111111\ --update-configurationfile://config.txt\ --principal-entity-type"Employee"\ --policy-store-idPSEXAMPLEabcdefg111111Conteú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 identidades, consulte Como usar o Amazon Verified Permissions com provedores de identidade no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte UpdateIdentitySource
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar update-policy-store.
- AWS CLI
-
Para atualizar um armazenamento de políticas
O exemplo
update-policy-storea seguir modifica um armazenamento de políticas alterando sua configuração de validação.aws verifiedpermissions update-policy-store \ --validation-settings"mode=STRICT"\ --policy-store-idPSEXAMPLEabcdefg111111Saí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 armazenamentos de políticas, consulte Armazenamentos de políticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte UpdatePolicyStore
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar update-policy-template.
- AWS CLI
-
Exemplo 1: atualizar um modelo de política
O exemplo
update-policy-templatea seguir modifica a política vinculada ao modelo especificado para substituir sua declaração de política.aws verifiedpermissions update-policy-template \ --policy-template-idPTEXAMPLEabcdefg111111\ --statementfile://template1.txt\ --policy-store-idPSEXAMPLEabcdefg111111Conteú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íticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte UpdatePolicyTemplate
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar update-policy.
- AWS CLI
-
Como atualizar uma política estática
O exemplo
update-policya seguir modifica uma política estática existente atualizando a respectiva descrição e declaração.aws verifiedpermissions update-policy \ --policy-idSPEXAMPLEabcdefg111111\ --definitionfile://updated-definition.txt\ --policy-store-idPSEXAMPLEabcdefg111111O parâmetro
statementusa uma representação de string de um objeto JSON. 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.É possível exibir strings de exemplo em várias linhas para facilitar a leitura, mas a operação exige que os parâmetros sejam enviados como strings de uma única linha.
Conteúdo do arquivo
updated-definition.txt:{ "static": { "description": "Updated policy to grant janeFriends UserGroup access to the vacationFolder Album with view action only", "statement": "permit(principal in UserGroup::\"janeFriends\", action == Action::\"view\", 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" } }Para obter mais informações sobre políticas, consulte Políticas do Amazon Verified Permissions no Guia do usuário do Amazon Verified Permissions.
-
Para ver detalhes da API, consulte UpdatePolicy
na Referência de comandos da AWS CLI.
-