

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 políticas do Amazon Verified Permissions
<a name="policies-examples"></a>

Alguns dos exemplos de políticas incluídos aqui são exemplos básicos de políticas da Cedar e alguns são verificados Permissions-specific. Os básicos estão vinculados ao Guia de referência da linguagem política do Cedar e estão incluídos nele. Para obter mais informações sobre a sintaxe de política do Cedar, consulte [Construção de políticas básicas no Cedar](https://docs.cedarpolicy.com/policies/syntax-policy.html) no Guia de referência da linguagem de política Cedar.

**Exemplos de políticas**
+ [Permite acesso a entidades individuais](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-acces-indivuals)
+ [Permite acesso a grupos de entidades](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-acces-groups)
+ [Permite acesso para qualquer entidade](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-any)
+ [Permite acesso aos atributos de uma entidade (ABAC)](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-abac)
+ [Nega acesso](https://docs.cedarpolicy.com/policies/policy-examples.html#deny-access)
+ [Usa notação de colchetes para referenciar atributos de token](#policies-examples-brackets)
+ [Usa notação de pontos para referenciar atributos](#policies-examples-dot)
+ [Reflete Amazon Cognito Atributos do token de ID](#policies-examples-cognito-id)
+ [Reflete os atributos do token de ID OIDC](#policies-examples-oidc-id)
+ [Reflete Amazon Cognito atributos do token de acesso](#policies-examples-cognito-access)
+ [Reflete os atributos do token de acesso OIDC](#policies-examples-oidc-access)

## Usa notação de colchetes para referenciar atributos de token
<a name="policies-examples-brackets"></a>

O exemplo a seguir mostra como você pode criar uma política que usa a notação de colchetes para referenciar atributos de token.

Para obter mais informações sobre o uso de atributos de token em políticas em Permissões verificadas, consulte [Mapeamento de Amazon Cognito tokens para o esquema](cognito-map-token-to-schema.md) e [Mapeamento de tokens do OIDC](oidc-map-token-to-schema.md) para o esquema.

```
permit (
    principal in MyCorp::UserGroup::"us-west-2_EXAMPLE|MyUserGroup",
    action,
    resource
) when {
    principal["cognito:username"] == "alice" &&
    principal["custom:employmentStoreCode"] == "petstore-dallas" &&
    principal has email && principal.email == "alice@example.com" &&
    context["ip-address"] like "192.0.2.*"
};
```

## Usa notação de pontos para referenciar atributos
<a name="policies-examples-dot"></a>

O exemplo a seguir mostra como você pode criar uma política que usa notação de pontos para referenciar atributos.

Para obter mais informações sobre o uso de atributos de token em políticas em Permissões verificadas, consulte [Mapeamento de Amazon Cognito tokens para o esquema](cognito-map-token-to-schema.md) e [Mapeamento de tokens do OIDC](oidc-map-token-to-schema.md) para o esquema.

```
permit(principal, action, resource)
when {
    principal.cognito.username == "alice" &&
    principal.custom.employmentStoreCode == "petstore-dallas" &&
    principal.tenant == "x11app-tenant-1" &&
    principal has email && principal.email == "alice@example.com"
};
```

## Reflete Amazon Cognito Atributos do token de ID
<a name="policies-examples-cognito-id"></a>

O exemplo a seguir mostra como você pode criar uma política que faça referência aos atributos do token de ID Amazon Cognito.

Para obter mais informações sobre o uso de atributos de token em políticas em Permissões verificadas, consulte [Mapeamento de Amazon Cognito tokens para o esquema](cognito-map-token-to-schema.md) e [Mapeamento de tokens do OIDC](oidc-map-token-to-schema.md) para o esquema.

```
permit (
    principal in MyCorp::UserGroup::"us-west-2_EXAMPLE|MyUserGroup",
    action,
    resource
) when {
    principal["cognito:username"] == "alice" &&
    principal["custom:employmentStoreCode"] == "petstore-dallas" &&
    principal.tenant == "x11app-tenant-1" &&
    principal has email && principal.email == "alice@example.com"
};
```

## Reflete os atributos do token de ID OIDC
<a name="policies-examples-oidc-id"></a>

O exemplo a seguir mostra como você pode criar uma política que faça referência aos atributos do token de ID de um provedor OIDC.

Para obter mais informações sobre o uso de atributos de token em políticas em Permissões verificadas, consulte [Mapeamento de Amazon Cognito tokens para o esquema](cognito-map-token-to-schema.md) e [Mapeamento de tokens do OIDC](oidc-map-token-to-schema.md) para o esquema.

```
permit (
    principal in MyCorp::UserGroup::"MyOIDCProvider|MyUserGroup",
    action,
    resource
) when {
    principal.email_verified == true && principal.email == "alice@example.com" &&
    principal.phone_number_verified == true && principal.phone_number like "+1206*"
};
```

## Reflete Amazon Cognito atributos do token de acesso
<a name="policies-examples-cognito-access"></a>

O exemplo a seguir mostra como você pode criar uma política que faça referência aos atributos do token de acesso a partir de Amazon Cognito.

Para obter mais informações sobre o uso de atributos de token em políticas em Permissões verificadas, consulte [Mapeamento de Amazon Cognito tokens para o esquema](cognito-map-token-to-schema.md) e [Mapeamento de tokens do OIDC](oidc-map-token-to-schema.md) para o esquema.

```
permit(principal, action in [MyApplication::Action::"Read", MyApplication::Action::"GetStoreInventory"], resource)
when { 
    context.token.client_id == "52n97d5afhfiu1c4di1k5m8f60" &&
    context.token.scope.contains("MyAPI/mydata.write")
};
```

## Reflete os atributos do token de acesso OIDC
<a name="policies-examples-oidc-access"></a>

O exemplo a seguir mostra como você pode criar uma política que faça referência aos atributos do token de acesso de um provedor OIDC.

Para obter mais informações sobre o uso de atributos de token em políticas em Permissões verificadas, consulte [Mapeamento de Amazon Cognito tokens para o esquema](cognito-map-token-to-schema.md) e [Mapeamento de tokens do OIDC](oidc-map-token-to-schema.md) para o esquema.

```
permit(
    principal, 
    action in [MyApplication::Action::"Read", MyApplication::Action::"GetStoreInventory"],
    resource
)
when { 
    context.token.client_id == "52n97d5afhfiu1c4di1k5m8f60" &&
    context.token.scope.contains("MyAPI-read")
};
```