

Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de [ejemplos de AWS Doc SDK](https://github.com/awsdocs/aws-doc-sdk-examples).

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.

# Ejemplos de permisos verificados mediante AWS CLI
<a name="cli_2_verifiedpermissions_code_examples"></a>

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar situaciones comunes mediante el uso de permisos AWS Command Line Interface verificados.

Las *acciones* son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

**Topics**
+ [Acciones](#actions)

## Acciones
<a name="actions"></a>

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

En el siguiente ejemplo de código, se muestra cómo utilizar `create-identity-source`.

**AWS CLI**  
**Para crear un origen de identidad**  
En el siguiente ejemplo de `create-identity-source`, se crea un origen de identidad que permite hacer referencia a las identidades almacenadas en el grupo de usuarios de Amazon Cognito especificado. Esas identidades están disponibles en Verified Permissions como entidades de tipo `User`.  

```
aws verifiedpermissions create-identity-source \
    --configuration file://config.txt \
    --principal-entity-type "User" \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Contenido de `config.txt`:  

```
{
    "cognitoUserPoolConfiguration": {
        "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5",
        "clientIds":["a1b2c3d4e5f6g7h8i9j0kalbmc"]
    }
}
```
Salida:  

```
{
    "createdDate": "2023-05-19T20:30:28.214829+00:00",
    "identitySourceId": "ISEXAMPLEabcdefg111111",
    "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00",
    "policyStoreId": "PSEXAMPLEabcdefg111111"
}
```
Para obtener más información los orígenes de las identidades, consulte [Using Amazon Verified Permissions with identity providers](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/identity-providers.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [CreateIdentitySource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/create-identity-source.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `create-policy-store`.

**AWS CLI**  
**Para crear un almacén de políticas**  
El siguiente `create-policy-store` ejemplo crea un almacén de políticas en la AWS región actual.  

```
aws verifiedpermissions create-policy-store \
    --validation-settings "mode=STRICT"
```
Salida:  

```
{
    "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 obtener más información, consulte [Amazon Verified Permissions policy stores](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-stores.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [CreatePolicyStore](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/create-policy-store.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `create-policy-template`.

**AWS CLI**  
**Creación de una plantilla de política**  
En el siguiente ejemplo de `create-policy-template`, se crea una plantilla de política con una instrucción que contiene un marcador de posición para la entidad principal.  

```
aws verifiedpermissions create-policy-template \
    --statement file://template1.txt \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Contenido de `template1.txt`:  

```
permit(
    principal in ?principal,
    action == Action::"view",
    resource == Photo::"VacationPhoto94.jpg"
);
```
Salida:  

```
{
    "createdDate": "2023-06-12T20:47:42.804511+00:00",
    "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00",
    "policyStoreId": "PSEXAMPLEabcdefg111111",
    "policyTemplateId": "PTEXAMPLEabcdefg111111"
}
```
Para obtener más información acerca de las plantillas de políticas, consulte [Amazon Verified Permissions policy templates](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-templates.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [CreatePolicyTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/create-policy-template.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `create-policy`.

**AWS CLI**  
**Ejemplo 1: creación de una política estática**  
En el siguiente ejemplo de `create-policy`, se crea una política estática con un ámbito de la política que especifica tanto una entidad principal como un recurso.  

```
aws verifiedpermissions create-policy \
    --definition file://definition1.txt \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Contenido del archivo `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\" );"
    }
}
```
Salida:  

```
{
    "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"
    }
}
```
**Ejemplo 2: creación de una política estática que conceda acceso general a un recurso**  
En el siguiente ejemplo de `create-policy`, se crea una política estática con un ámbito de la política que especifica únicamente un recurso.  

```
aws verifiedpermissions create-policy \
    --definition file://definition2.txt \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Contenido del archivo `definition2.txt`:  

```
{
    "static": {
        "description":  "Grant everyone access to the publicFolder Album",
        "statement": "permit(principal, action, resource in Album::\"publicFolder\");"
    }
}
```
Salida:  

```
{
    "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"
    }
}
```
**Ejemplo 3: creación de una política vinculada a una plantilla que esté asociada a la plantilla especificada**  
En el siguiente ejemplo de `create-policy`, se crea una política vinculada a una plantilla mediante la plantilla de política especificada y se asocia la entidad principal especificada a utilizar con la nueva política vinculada a la plantilla.  

```
aws verifiedpermissions create-policy \
    --definition file://definition.txt \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Contenido de `definition.txt`:  

```
{
    "templateLinked": {
        "policyTemplateId": "PTEXAMPLEabcdefg111111",
        "principal": {
            "entityType": "User",
            "entityId": "alice"
        }
    }
}
```
Salida:  

```
{
    "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 obtener más información sobre las políticas, consulte [Amazon Verified Permissions policies](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policies.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [CreatePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/create-policy.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `delete-identity-source`.

**AWS CLI**  
**Para eliminar un origen de identidad**  
En el siguiente ejemplo de `delete-identity-source`, se elimina el origen de la identidad que tiene el ID especificado.  

```
aws verifiedpermissions delete-identity-source \
    --identity-source-id ISEXAMPLEabcdefg111111 \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Este comando no genera ninguna salida.  
Para obtener más información los orígenes de las identidades, consulte [Using Amazon Verified Permissions with identity providers](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/identity-providers.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [DeleteIdentitySource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/delete-identity-source.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `delete-policy-store`.

**AWS CLI**  
**Para eliminar un almacén de políticas**  
En el siguiente ejemplo de `delete-policy-store`, se elimina el almacén de políticas que tiene el ID especificado.  

```
aws verifiedpermissions delete-policy-store \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Este comando no genera ninguna salida.  
Para obtener más información, consulte [Amazon Verified Permissions policy stores](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-stores.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [DeletePolicyStore](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/delete-policy-store.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `delete-policy-template`.

**AWS CLI**  
**Para eliminar una plantilla de políticas**  
En el siguiente ejemplo de `delete-policy-template`, se elimina la plantilla de políticas que tiene el ID especificado.  

```
aws verifiedpermissions delete-policy \
    --policy-template-id PTEXAMPLEabcdefg111111 \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Este comando no genera ninguna salida.  
Para obtener más información acerca de las plantillas de políticas, consulte [Amazon Verified Permissions policy templates](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-templates.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [DeletePolicyTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/delete-policy-template.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `delete-policy`.

**AWS CLI**  
**Para eliminar una política estática o vinculada a una plantilla**  
En el siguiente ejemplo de `delete-policy`, se elimina la política que tiene el ID especificado.  

```
aws verifiedpermissions delete-policy \
    --policy-id SPEXAMPLEabcdefg111111 \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Este comando no genera ninguna salida.  
Para obtener más información sobre las políticas, consulte [Amazon Verified Permissions policies](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policies.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [DeletePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/delete-policy.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `get-identity-source`.

**AWS CLI**  
**Para recuperar detalles sobre un origen de identidad**  
En el siguiente ejemplo de `get-identity-source`, se muestran los detalles del origen de la identidad con el ID especificado.  

```
aws verifiedpermissions get-identity-source \
    --identity-source  ISEXAMPLEabcdefg111111 \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Salida:  

```
{
    "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 obtener más información los orígenes de las identidades, consulte [Using Amazon Verified Permissions with identity providers](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/identity-providers.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [GetIdentitySource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/get-identity-source.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `get-policy-store`.

**AWS CLI**  
**Para recuperar detalles sobre un almacén de políticas**  
En el siguiente ejemplo de `get-policy-store`, se muestran los detalles del almacén de políticas con el ID especificado.  

```
aws verifiedpermissions get-policy-store \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Salida:  

```
{
    "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 obtener más información, consulte [Amazon Verified Permissions policy stores](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-stores.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [GetPolicyStore](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/get-policy-store.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `get-policy-template`.

**AWS CLI**  
**Para recuperar detalles sobre una plantilla de políticas**  
En el siguiente ejemplo de `get-policy-template`, se muestran los detalles de la plantilla de políticas con el ID especificado.  

```
aws verifiedpermissions get-policy-template \
    --policy-template-id  PTEXAMPLEabcdefg111111 \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Salida:  

```
{
    "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 obtener más información acerca de las plantillas de políticas, consulte [Amazon Verified Permissions policy templates](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-templates.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [GetPolicyTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/get-policy-template.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `get-policy`.

**AWS CLI**  
**Para recuperar información sobre una política**  
En el siguiente ejemplo de `get-policy`, se muestran los detalles de la política con el ID especificado.  

```
aws verifiedpermissions get-policy \
    --policy-id PSEXAMPLEabcdefg111111 \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Salida:  

```
{
    "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 obtener más información sobre las políticas, consulte [Amazon Verified Permissions policies](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policies.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [GetPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/get-policy.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `get-schema`.

**AWS CLI**  
**Para recuperar el esquema en un almacén de políticas**  
En el siguiente ejemplo de `get-schema`, se muestran los detalles del esquema en el almacén de políticas especificado.  

```
aws verifiedpermissions get-schema \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Salida:  

```
{
    "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 obtener más información sobre el esquema, consulte [Policy store schema](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/schema.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [GetSchema](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/get-schema.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `is-authorized-with-token`.

**AWS CLI**  
**Ejemplo 1: solicitud de una decisión de autorización para una solicitud de usuario (permitir)**  
En el siguiente ejemplo de `is-authorized-with-token`, se solicita una decisión de autorización para un usuario autenticado por Amazon Cognito. La solicitud utiliza el token de identidad proporcionado por Cognito en lugar del token de acceso. En este ejemplo, el almacén de información especificado está configurado para devolver las entidades principales como entidades de 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"
```
El almacén de políticas contiene una política con la siguiente instrucción que acepta identidades del grupo de usuarios y del ID de aplicación de Cognito especificados.  

```
permit(
    principal == CognitoUser::"us-east-1_1a2b3c4d5|a1b2c3d4e5f6g7h8i9j0kalbmc",
    action,
    resource == Photo::"VacationPhoto94.jpg"
);
```
Salida:  

```
{
    "decision":"Allow",
    "determiningPolicies":[
        {
        "determiningPolicyId":"SPEXAMPLEabcdefg111111"
        }
    ],
    "errors":[]
}
```
Para obtener más información las identidades de un grupo de usuarios de Cognito, consulte [Using Amazon Verified Permissions with identity providers](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/identity-providers.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [IsAuthorizedWithToken](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/is-authorized-with-token.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `is-authorized`.

**AWS CLI**  
**Ejemplo 1: solicitud de una decisión de autorización para una solicitud de usuario (permitir)**  
En el siguiente ejemplo de `is-authorized`, se solicita una decisión de autorización para una entidad principal del tipo `User` denominada `Alice` que desea realizar la operación `updatePhoto` en un recurso del tipo `Photo` denominado `VacationPhoto94.jpg`.  
La respuesta muestra que una política permite la solicitud.  

```
aws verifiedpermissions is-authorized \
    --principal entityType=User,entityId=alice \
    --action actionType=Action,actionId=view \
    --resource entityType=Photo,entityId=VactionPhoto94.jpg \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Salida:  

```
{
    "decision": "ALLOW",
    "determiningPolicies": [
        {
            "policyId": "SPEXAMPLEabcdefg111111"
        }
    ],
    "errors": []
}
```
**Ejemplo 2: solicitud de una decisión de autorización para una solicitud de usuario (denegar)**  
El ejemplo siguiente es igual al ejemplo anterior, con la salvedad de que la entidad principal es `User::"Bob"`. El almacén de políticas no contiene ninguna política que permita a ese usuario acceder a`Album::"alice_folder"`.  
El resultado indica que `Deny` estaba implícito porque la lista de `DeterminingPolicies` está vacía.  

```
aws verifiedpermissions create-policy \
    --definition file://definition2.txt \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Salida:  

```
{
    "decision": "DENY",
    "determiningPolicies": [],
    "errors": []
}
```
Para obtener más información, consulte la [Guía del usuario de Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/).  
+  Para obtener más información sobre la API, consulte [IsAuthorized](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/is-authorized.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `list-identity-sources`.

**AWS CLI**  
**Para enumerar los orígenes de la identidad disponibles**  
En el siguiente ejemplo de `list-identity-sources`, se enumeran todos los orígenes de la identidad del almacén de políticas especificado.  

```
aws verifiedpermissions list-identity-sources \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Salida:  

```
{
    "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 obtener más información los orígenes de las identidades, consulte [Using Amazon Verified Permissions with identity providers](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/identity-providers.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [ListIdentitySources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/list-identity-sources.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `list-policies`.

**AWS CLI**  
**Para enumerar las políticas disponibles**  
En el siguiente ejemplo de `list-policies`, se enumeran todas las políticas del almacén de políticas especificado.  

```
aws verifiedpermissions list-policies \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Salida:  

```
{
    "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 obtener más información sobre las políticas, consulte [Amazon Verified Permissions policies](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policies.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [ListPolicies](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/list-policies.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `list-policy-stores`.

**AWS CLI**  
**Para enumerar los almacenes de políticas disponibles**  
En el siguiente `list-policy-stores` ejemplo, se enumeran todos los almacenes de políticas de la AWS región. Todos los comandos de Verified Permissions, excepto `create-policy-store` y `list-policy-stores` requieren que especifique el ID del almacén de políticas con el que desea trabajar.  

```
aws verifiedpermissions list-policy-stores
```
Salida:  

```
{
    "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 obtener más información, consulte [Amazon Verified Permissions policy stores](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-stores.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [ListPolicyStores](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/list-policy-stores.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `list-policy-templates`.

**AWS CLI**  
**Para enumerar las plantillas de políticas disponibles**  
En el siguiente ejemplo de `list-policy-templates`, se enumeran todas las plantilla de políticas del almacén de políticas especificado.  

```
aws verifiedpermissions list-policy-templates \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Salida:  

```
{
    "policyTemplates": [
        {
            "createdDate": "2023-06-12T20:47:42.804511+00:00",
            "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00",
            "policyStoreId": "PSEXAMPLEabcdefg111111",
            "policyTemplateId": "PTEXAMPLEabcdefg111111"
        }
    ]
}
```
Para obtener más información acerca de las plantillas de políticas, consulte [Amazon Verified Permissions policy templates](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-templates.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [ListPolicyTemplates](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/list-policy-templates.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `put-schema`.

**AWS CLI**  
**Para guardar un esquema en un almacén de políticas**  
En el siguiente ejemplo de `put-schema`, se crea o reemplaza el esquema del almacén de políticas especificado.  
El parámetro `cedarJson` del archivo de entrada toma una representación de cadena de un objeto JSON. Contiene comillas incrustadas (") dentro del par de comillas más externas. Para ello, debe convertir el JSON en una cadena y poner una barra invertida (\$1) delante de todas las comillas incrustadas y combinar todas las líneas en una sola línea de texto sin saltos de línea.  
Las cadenas de ejemplo se pueden mostrar agrupadas entre varias líneas para facilitar la lectura, pero la operación requiere que los parámetros se envíen como cadenas de una sola línea.  
aws verifiedpermissions put-schema --archivo de definición: //schema.txt -- policy-store-id PSEXAMPLEabcdefg111111  
Contenido de `schema.txt`:  

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

```
{
    "policyStoreId": "PSEXAMPLEabcdefg111111",
    "namespaces": [
        "MySampleNamespace"
    ],
    "createdDate": "2023-06-14T17:47:13.999885+00:00",
    "lastUpdatedDate": "2023-06-14T17:47:13.999885+00:00"
}
```
Para obtener más información sobre el esquema, consulte [Policy store schema](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/schema.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  *Para obtener más información sobre la API, consulte la Referencia de comandos. [PutSchema](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/put-schema.html)AWS CLI * 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `update-identity-source`.

**AWS CLI**  
**Para actualizar un origen de identidad**  
En el siguiente ejemplo de `update-identity-source`, se modifica el origen de la identidad especificada al proporcionar una nueva configuración de grupo de usuarios de Cognito y cambiar el tipo de entidad devuelto por el origen de la identidad.  

```
aws verifiedpermissions update-identity-source
    --identity-source-id ISEXAMPLEabcdefg111111 \
    --update-configuration file://config.txt \
    --principal-entity-type "Employee" \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Contenido de `config.txt`:  

```
{
        "cognitoUserPoolConfiguration": {
                "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5",
                "clientIds":["a1b2c3d4e5f6g7h8i9j0kalbmc"]
        }
}
```
Salida:  

```
{
    "createdDate": "2023-05-19T20:30:28.214829+00:00",
    "identitySourceId": "ISEXAMPLEabcdefg111111",
    "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00",
    "policyStoreId": "PSEXAMPLEabcdefg111111"
}
```
Para obtener más información los orígenes de las identidades, consulte [Using Amazon Verified Permissions with identity providers](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/identity-providers.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [UpdateIdentitySource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/update-identity-source.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `update-policy-store`.

**AWS CLI**  
**Para actualizar un almacén de políticas**  
En el siguiente ejemplo de `update-policy-store`, se modifica un almacén de políticas al cambiar su configuración de validación.  

```
aws verifiedpermissions update-policy-store \
    --validation-settings "mode=STRICT" \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Salida:  

```
{
    "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 obtener más información, consulte [Amazon Verified Permissions policy stores](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-stores.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [UpdatePolicyStore](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/update-policy-store.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `update-policy-template`.

**AWS CLI**  
**Ejemplo 1: actualización de una plantilla de políticas**  
En el siguiente ejemplo de `update-policy-template`, se modifica la política vinculada a la plantilla especificada para reemplazar su instrucción de política.  

```
aws verifiedpermissions update-policy-template \
    --policy-template-id PTEXAMPLEabcdefg111111 \
    --statement file://template1.txt \
    --policy-store-id PSEXAMPLEabcdefg111111
```
Contenido del archivo `template1.txt`:  

```
permit(
    principal in ?principal,
    action == Action::"view",
    resource == Photo::"VacationPhoto94.jpg"
);
```
Salida:  

```
{
    "createdDate": "2023-06-12T20:47:42.804511+00:00",
    "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00",
    "policyStoreId": "PSEXAMPLEabcdefg111111",
    "policyTemplateId": "PTEXAMPLEabcdefg111111"
}
```
Para obtener más información acerca de las plantillas de políticas, consulte [Amazon Verified Permissions policy templates](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-templates.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [UpdatePolicyTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/update-policy-template.html)la *Referencia de AWS CLI comandos*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `update-policy`.

**AWS CLI**  
**Actualización de una política estática**  
En el siguiente ejemplo de `update-policy`, se modifica una política estática existente actualizando su descripción y su instrucción.  

```
aws verifiedpermissions update-policy \
    --policy-id SPEXAMPLEabcdefg111111 \
    --definition file://updated-definition.txt \
    --policy-store-id PSEXAMPLEabcdefg111111
```
El parámetro `statement` toma una representación de cadena de un objeto JSON. Contiene comillas incrustadas (") dentro del par de comillas más externas. Para ello, debe convertir el JSON en una cadena y poner una barra invertida (\$1) delante de todas las comillas incrustadas y combinar todas las líneas en una sola línea de texto sin saltos de línea.  
Puede mostrar cadenas de ejemplo agrupadas entre varias líneas para facilitar la lectura, pero la operación requiere que los parámetros se envíen como cadenas de una sola línea.  
Contenido del archivo `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\" );"
    }
}
```
Salida:  

```
{
    "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 obtener más información sobre las políticas, consulte [Amazon Verified Permissions policies](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policies.html) en la *Guía del usuario de Amazon Verified Permissions*.  
+  Para obtener más información sobre la API, consulte [UpdatePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/verifiedpermissions/update-policy.html)la *Referencia de AWS CLI comandos*. 