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-idPSEXAMPLEabcdefg111111
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.
-
Para API obter detalhes, consulte CreateIdentitySource
na Referência de AWS CLI Comandos.
-
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 CreatePolicyStore
na 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-idPSEXAMPLEabcdefg111111
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.
-
Para API obter detalhes, consulte CreatePolicyTemplate
na Referência de AWS CLI Comandos.
-
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-idPSEXAMPLEabcdefg111111
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-idPSEXAMPLEabcdefg111111
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-idPSEXAMPLEabcdefg111111
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 CreatePolicy
na 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-idPSEXAMPLEabcdefg111111
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.
-
Para API obter detalhes, consulte DeleteIdentitySource
na Referência de AWS CLI Comandos.
-
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 DeletePolicyStore
na 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-idPSEXAMPLEabcdefg111111
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.
-
Para API obter detalhes, consulte DeletePolicyTemplate
na Referência de AWS CLI Comandos.
-
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-idPSEXAMPLEabcdefg111111
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 DeletePolicy
na 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-idPSEXAMPLEabcdefg111111
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 GetIdentitySource
na 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 GetPolicyStore
na 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-idPSEXAMPLEabcdefg111111
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 GetPolicyTemplate
na 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-idPSEXAMPLEabcdefg111111
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 GetPolicy
na 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 GetSchema
na 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.
-
Para API obter detalhes, consulte IsAuthorizedWithToken
na Referência de AWS CLI Comandos.
-
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 tipoUser
chamadoAlice
, que deseja realizar aupdatePhoto
operação, em um recurso do tipoPhoto
chamadoVacationPhoto94.jpg
.A resposta mostra que a solicitação é permitida por uma política.
aws verifiedpermissions is-authorized \ --principal
entityType=User,entityId=alice
\ --actionactionType=Action,actionId=view
\ --resourceentityType=Photo,entityId=VactionPhoto94.jpg
\ --policy-store-idPSEXAMPLEabcdefg111111
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 acesseAlbum::"alice_folder"
o.A saída indica que
Deny
estava implícito porque a lista deDeterminingPolicies
está vazia.aws verifiedpermissions create-policy \ --definition
file://definition2.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
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 IsAuthorized
na 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.
-
Para API obter detalhes, consulte ListIdentitySources
na Referência de AWS CLI Comandos.
-
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 ListPolicies
na 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, excetocreate-policy-store
elist-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 ListPolicyStores
na 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.
-
Para API obter detalhes, consulte ListPolicyTemplates
na Referência de AWS CLI Comandos.
-
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 PutSchema
na 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-configurationfile://config.txt
\ --principal-entity-type"Employee"
\ --policy-store-idPSEXAMPLEabcdefg111111
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.
-
Para API obter detalhes, consulte UpdateIdentitySource
na Referência de AWS CLI Comandos.
-
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-idPSEXAMPLEabcdefg111111
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 UpdatePolicyStore
na 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
\ --statementfile://template1.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
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.
-
Para API obter detalhes, consulte UpdatePolicyTemplate
na Referência de AWS CLI Comandos.
-
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-idPSEXAMPLEabcdefg111111
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-idPSEXAMPLEabcdefg111111
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-idPSEXAMPLEabcdefg111111
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 UpdatePolicy
na Referência de AWS CLI Comandos.
-