

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

# Esquema do armazenamento de políticas do Amazon Verified Permissions
<a name="schema"></a>

O *[esquema](https://docs.cedarpolicy.com/overview/terminology.html#schema)* é uma declaração da estrutura dos tipos de entidade compatíveis com sua aplicação e das ações que a aplicação pode fornecer nas solicitações de autorização. Para ver a diferença entre como as Permissões Verificadas e o Cedar lidam com esquemas, consulte. [Suporte ao esquema](terminology-differences-avp-cedar.md#differences-templates)

Para obter mais informações, consulte [Formato do esquema do Cedar](https://docs.cedarpolicy.com/schema/schema.html) no Guia de referência da linguagem de política Cedar.

**nota**  
O uso de esquemas no Verified Permissions é opcional, mas eles são altamente recomendados para software de produção. Quando você cria uma nova política, o Verified Permissions pode usar o esquema para validar as entidades e os atributos referenciados no escopo e nas condições, a fim de evitar erros de digitação e nas políticas que possam resultar em um comportamento confuso do sistema. Se você ativar a [validação da política](policy-validation-mode.md), todas as novas políticas deverão estar em conformidade com o esquema.

------
#### [ Console de gerenciamento da AWS ]

**Para criar um esquema**

1. Abra o [console de Permissões verificadas](https://console.aws.amazon.com/verifiedpermissions/). Escolha seu repositório de políticas.

1. No painel de navegação à esquerda, escolha **Esquema**.

1. Selecione **Create schema** (Criar esquema).

------
#### [ AWS CLI ]

**Para enviar um novo esquema ou substituir um esquema existente por meio do AWS CLI.**  
Você pode criar um repositório de políticas executando um AWS CLI comando semelhante ao exemplo a seguir.

Considere um esquema que contenha o seguinte conteúdo do Cedar:

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

Você deve primeiro inserir o JSON em uma string de linha única e prefaciá-lo com uma declaração do seu tipo de dados: `cedarJson`. O exemplo a seguir usa o seguinte conteúdo do arquivo `schema.json` que contém a versão de escape do esquema JSON.

**nota**  
O exemplo aqui apresenta quebra de linha para facilitar a leitura. O arquivo inteiro deve aparecer em uma única linha para que o comando o aceite.

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

```
$ aws verifiedpermissions put-schema \
    --definition file://schema.json \
    --policy-store PSEXAMPLEabcdefg111111
{
    "policyStoreId": "PSEXAMPLEabcdefg111111",
    "namespaces": [
        "MySampleNamespace"
    ],
    "createdDate": "2023-07-17T21:07:43.659196+00:00",
    "lastUpdatedDate": "2023-08-16T17:03:53.081839+00:00"
}
```

------
#### [ AWS SDKs ]

Você pode criar um armazenamento de políticas usando a API `PutSchema`. Para obter mais informações, consulte o Guia [PutSchema](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_PutSchema.html)de referência da API de permissões verificadas da Amazon.

------