

Há mais exemplos de AWS SDK disponíveis no repositório [AWS Doc SDK Examples](https://github.com/awsdocs/aws-doc-sdk-examples) GitHub .

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
<a name="cli_2_verifiedpermissions_code_examples"></a>

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

**Topics**
+ [Ações](#actions)

## Ações
<a name="actions"></a>

### `create-identity-source`
<a name="verifiedpermissions_CreateIdentitySource_cli_2_topic"></a>

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-source` a 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 tipo `User`.  

```
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 identidades, consulte [Como usar o Amazon Verified Permissions com provedores de identidade](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/identity-providers.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [CreateIdentitySource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/create-identity-source.html)em *Referência de AWS CLI Comandos*. 

### `create-policy-store`
<a name="verifiedpermissions_CreatePolicyStore_cli_2_topic"></a>

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

**AWS CLI**  
**Para criar um armazenamento 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 armazenamentos de políticas, consulte [Armazenamentos de políticas do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-stores.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [CreatePolicyStore](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/create-policy-store.html)em *Referência de AWS CLI Comandos*. 

### `create-policy-template`
<a name="verifiedpermissions_CreatePolicyTemplate_cli_2_topic"></a>

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-template` a 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 \
    --statement file://template1.txt \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Conteú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](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-templates.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [CreatePolicyTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/create-policy-template.html)em *Referência de AWS CLI Comandos*. 

### `create-policy`
<a name="verifiedpermissions_CreatePolicy_cli_2_topic"></a>

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-policy` a 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 \
    --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: criar uma política estática que conceda acesso a um recurso para todos**  
O exemplo `create-policy` 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: criar uma política vinculada a um modelo que esteja associada ao modelo especificado**  
O exemplo `create-policy` a 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 \
    --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 [Políticas do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policies.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [CreatePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/create-policy.html)em *Referência de AWS CLI Comandos*. 

### `delete-identity-source`
<a name="verifiedpermissions_DeleteIdentitySource_cli_2_topic"></a>

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-source` a seguir exclui a fonte de identidades 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 identidades, consulte [Como usar o Amazon Verified Permissions com provedores de identidade](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/identity-providers.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [DeleteIdentitySource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/delete-identity-source.html)em *Referência de AWS CLI Comandos*. 

### `delete-policy-store`
<a name="verifiedpermissions_DeletePolicyStore_cli_2_topic"></a>

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-store` a seguir exclui o armazenamento 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 armazenamentos de políticas, consulte [Armazenamentos de políticas do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-stores.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [DeletePolicyStore](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/delete-policy-store.html)em *Referência de AWS CLI Comandos*. 

### `delete-policy-template`
<a name="verifiedpermissions_DeletePolicyTemplate_cli_2_topic"></a>

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-template` 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íticas do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-templates.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [DeletePolicyTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/delete-policy-template.html)em *Referência de AWS CLI Comandos*. 

### `delete-policy`
<a name="verifiedpermissions_DeletePolicy_cli_2_topic"></a>

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-policy` 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 [Políticas do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policies.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [DeletePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/delete-policy.html)em *Referência de AWS CLI Comandos*. 

### `get-identity-source`
<a name="verifiedpermissions_GetIdentitySource_cli_2_topic"></a>

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-source` a seguir exibe os detalhes da fonte de identidades 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 identidades, consulte [Como usar o Amazon Verified Permissions com provedores de identidade](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/identity-providers.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [GetIdentitySource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/get-identity-source.html)em *Referência de AWS CLI Comandos*. 

### `get-policy-store`
<a name="verifiedpermissions_GetPolicyStore_cli_2_topic"></a>

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-store` a seguir exibe os detalhes do armazenamento 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 armazenamentos de políticas, consulte [Armazenamentos de políticas do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-stores.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [GetPolicyStore](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/get-policy-store.html)em *Referência de AWS CLI Comandos*. 

### `get-policy-template`
<a name="verifiedpermissions_GetPolicyTemplate_cli_2_topic"></a>

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-template` a seguir exibe os detalhes do modelo de políticas com o ID especificado.  

```
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íticas do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-templates.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [GetPolicyTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/get-policy-template.html)em *Referência de AWS CLI Comandos*. 

### `get-policy`
<a name="verifiedpermissions_GetPolicy_cli_2_topic"></a>

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

**AWS CLI**  
**Para recuperar detalhes sobre uma política**  
O exemplo `get-policy` 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 [Políticas do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policies.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [GetPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/get-policy.html)em *Referência de AWS CLI Comandos*. 

### `get-schema`
<a name="verifiedpermissions_GetSchema_cli_2_topic"></a>

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-schema` a seguir exibe os detalhes do esquema no armazenamento 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 de repositório de políticas](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/schema.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [GetSchema](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/get-schema.html)em *Referência de AWS CLI Comandos*. 

### `is-authorized-with-token`
<a name="verifiedpermissions_IsAuthorizedWithToken_cli_2_topic"></a>

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-token` 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 tipo `CognitoUser`.  

```
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 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](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/identity-providers.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [IsAuthorizedWithToken](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/is-authorized-with-token.html)em *Referência de AWS CLI Comandos*. 

### `is-authorized`
<a name="verifiedpermissions_IsAuthorized_cli_2_topic"></a>

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-authorized` a seguir solicita uma decisão de autorização para uma entidade principal do tipo `User` chamado `Alice`, que deseja realizar a operação `updatePhoto`, em um recurso do tipo `Photo` chamado `VacationPhoto94.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: 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 a `Album::"alice_folder"`.  
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 do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/).  
+  Para obter detalhes da API, consulte [IsAuthorized](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/is-authorized.html)em *Referência de AWS CLI Comandos*. 

### `list-identity-sources`
<a name="verifiedpermissions_ListIdentitySources_cli_2_topic"></a>

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-sources` a seguir lista todas as fontes de identidade no armazenamento 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 identidades, consulte [Como usar o Amazon Verified Permissions com provedores de identidade](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/identity-providers.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [ListIdentitySources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/list-identity-sources.html)em *Referência de AWS CLI Comandos*. 

### `list-policies`
<a name="verifiedpermissions_ListPolicies_cli_2_topic"></a>

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

**AWS CLI**  
**Para listar as políticas disponíveis**  
O exemplo `list-policies` a seguir lista todas as políticas no armazenamento 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 [Políticas do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policies.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [ListPolicies](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/list-policies.html)em *Referência de AWS CLI Comandos*. 

### `list-policy-stores`
<a name="verifiedpermissions_ListPolicyStores_cli_2_topic"></a>

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 `list-policy-stores` exemplo a seguir lista todos os repositórios de políticas na AWS região. Todos os comandos para o Verified Permissions, 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 armazenamentos de políticas, consulte [Armazenamentos de políticas do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-stores.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [ListPolicyStores](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/list-policy-stores.html)em *Referência de AWS CLI Comandos*. 

### `list-policy-templates`
<a name="verifiedpermissions_ListPolicyTemplates_cli_2_topic"></a>

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-templates` a seguir lista todos modelos de política no armazenamento 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íticas do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-templates.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [ListPolicyTemplates](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/list-policy-templates.html)em *Referência de AWS CLI Comandos*. 

### `put-schema`
<a name="verifiedpermissions_PutSchema_cli_2_topic"></a>

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-schema` a seguir cria ou substitui o esquema no armazenamento de políticas especificado.  
O parâmetro `cedarJson` no 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.  
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 de repositório de políticas](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/schema.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [PutSchema](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/put-schema.html)em *Referência de AWS CLI Comandos*. 

### `update-identity-source`
<a name="verifiedpermissions_UpdateIdentitySource_cli_2_topic"></a>

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-source` a 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-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 identidades, consulte [Como usar o Amazon Verified Permissions com provedores de identidade](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/identity-providers.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [UpdateIdentitySource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/update-identity-source.html)em *Referência de AWS CLI Comandos*. 

### `update-policy-store`
<a name="verifiedpermissions_UpdatePolicyStore_cli_2_topic"></a>

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-store` a 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-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 armazenamentos de políticas, consulte [Armazenamentos de políticas do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-stores.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [UpdatePolicyStore](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/update-policy-store.html)em *Referência de AWS CLI Comandos*. 

### `update-policy-template`
<a name="verifiedpermissions_UpdatePolicyTemplate_cli_2_topic"></a>

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-template` 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íticas do Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-templates.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [UpdatePolicyTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/update-policy-template.html)em *Referência de AWS CLI Comandos*. 

### `update-policy`
<a name="verifiedpermissions_UpdatePolicy_cli_2_topic"></a>

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

**AWS CLI**  
**Como atualizar uma política estática**  
O exemplo `update-policy` a seguir modifica uma política estática existente atualizando a respectiva descrição e declaração.  

```
aws verifiedpermissions update-policy \
    --policy-id SPEXAMPLEabcdefg111111 \
    --definition file://updated-definition.txt \
    --policy-store-id PSEXAMPLEabcdefg111111
```
O parâmetro `statement` 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.  
É 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](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policies.html) no *Guia do usuário do Amazon Verified Permissions*.  
+  Para obter detalhes da API, consulte [UpdatePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/update-policy.html)em *Referência de AWS CLI Comandos*. 