

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Ejemplo de políticas de Amazon Verified Permissions
<a name="policies-examples"></a>

Algunos de los ejemplos de políticas que se incluyen aquí son ejemplos básicos de políticas de Cedar y otros son específicos de permisos verificados. Los más básicos enlazan con la Guía de referencia sobre el lenguaje de las políticas de Cedar y están incluidos allí. Para obtener más información sobre la sintaxis de las políticas de Cedar, consulte el tema sobre la [construcción básica de políticas en Cedar](https://docs.cedarpolicy.com/policies/syntax-policy.html) en la Guía de referencia sobre el lenguaje de las políticas de Cedar.

**Ejemplos de políticas**
+ [Permite el acceso a entidades individuales](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-acces-indivuals)
+ [Permite el acceso a grupos de entidades](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-acces-groups)
+ [Permite el acceso a cualquier entidad](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-any)
+ [Permite el acceso a los atributos de una entidad (ABAC)](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-abac)
+ [Denega el acceso](https://docs.cedarpolicy.com/policies/policy-examples.html#deny-access)
+ [Utiliza la notación entre corchetes para hacer referencia a los atributos del token](#policies-examples-brackets)
+ [Utiliza la notación de puntos para hacer referencia a los atributos](#policies-examples-dot)
+ [Refleja los atributos Amazon Cognito del token de ID](#policies-examples-cognito-id)
+ [Refleja los atributos del token de ID de OIDC](#policies-examples-oidc-id)
+ [Refleja los atributos del token de Amazon Cognito acceso](#policies-examples-cognito-access)
+ [Refleja los atributos del token de acceso del OIDC](#policies-examples-oidc-access)

## Utiliza la notación entre corchetes para hacer referencia a los atributos del token
<a name="policies-examples-brackets"></a>

En el siguiente ejemplo, se muestra cómo se puede crear una política que utilice la notación entre corchetes para hacer referencia a los atributos del token.

Para obtener más información sobre el uso de atributos de token en las políticas de Verified Permissions, consulte [Asignación de Amazon Cognito tokens a un esquema](cognito-map-token-to-schema.md) y [Asignación de tokens OIDC a](oidc-map-token-to-schema.md) un 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.*"
};
```

## Utiliza la notación de puntos para hacer referencia a los atributos
<a name="policies-examples-dot"></a>

En el siguiente ejemplo, se muestra cómo se puede crear una política que utilice la notación de puntos para hacer referencia a los atributos.

Para obtener más información sobre el uso de atributos de token en las políticas de Verified Permissions, consulte [Asignación de Amazon Cognito tokens a un esquema](cognito-map-token-to-schema.md) y [Asignación de tokens OIDC a](oidc-map-token-to-schema.md) un 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"
};
```

## Refleja los atributos Amazon Cognito del token de ID
<a name="policies-examples-cognito-id"></a>

En el siguiente ejemplo, se muestra cómo se puede crear una política a partir de las referencias a los atributos del token de ID Amazon Cognito.

Para obtener más información sobre el uso de atributos de token en las políticas de Verified Permissions, consulte [Asignación de Amazon Cognito tokens a un esquema](cognito-map-token-to-schema.md) y [Asignación de tokens OIDC a](oidc-map-token-to-schema.md) un 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"
};
```

## Refleja los atributos del token de ID de OIDC
<a name="policies-examples-oidc-id"></a>

En el siguiente ejemplo, se muestra cómo se puede crear una política que haga referencia a los atributos del token de ID desde un proveedor de OIDC.

Para obtener más información sobre el uso de atributos de token en las políticas de permisos verificados, consulte [Asignación de Amazon Cognito tokens a un esquema y Asignación](cognito-map-token-to-schema.md) [de tokens OIDC](oidc-map-token-to-schema.md) a un 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*"
};
```

## Refleja los atributos del token de Amazon Cognito acceso
<a name="policies-examples-cognito-access"></a>

En el siguiente ejemplo, se muestra cómo se puede crear una política desde la que se haga referencia a los atributos del token de acceso Amazon Cognito.

Para obtener más información sobre el uso de atributos de token en las políticas de Verified Permissions, consulte [Asignación de Amazon Cognito tokens a un esquema](cognito-map-token-to-schema.md) y [Asignación de tokens OIDC a](oidc-map-token-to-schema.md) un 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")
};
```

## Refleja los atributos del token de acceso del OIDC
<a name="policies-examples-oidc-access"></a>

En el siguiente ejemplo, se muestra cómo se puede crear una política que haga referencia a los atributos del token de acceso de un proveedor de OIDC.

Para obtener más información sobre el uso de atributos de token en las políticas de permisos verificados, consulte [Asignación de Amazon Cognito tokens a un esquema y Asignación](cognito-map-token-to-schema.md) [de tokens OIDC](oidc-map-token-to-schema.md) a un esquema.

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