Ejemplos de Verified Permissions que utilizan la AWS CLI
En los siguientes ejemplos de código, se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con Verified Permissions.
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 funciones de servicio individuales, 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.
Temas
Acciones
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 tipoUser
.aws verifiedpermissions create-identity-source \ --configuration
file://config.txt
\ --principal-entity-type"User"
\ --policy-store-idPSEXAMPLEabcdefg111111
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte CreateIdentitySource
en la Referencia de comandos de la AWS CLI.
-
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
En el siguiente ejemplo de
create-policy-store
, se crea un almacén de políticas en la región de AWS 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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte CreatePolicyStore
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-policy-template
.
- AWS CLI
-
Ejemplo 1: creación de una plantilla de políticas
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 \ --definition
file://template1.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte CreatePolicyTemplate
en la Referencia de comandos de la AWS CLI.
-
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-idPSEXAMPLEabcdefg111111
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-idPSEXAMPLEabcdefg111111
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-idPSEXAMPLEabcdefg111111
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte CreatePolicy
en la Referencia de comandos de la AWS CLI.
-
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-idPSEXAMPLEabcdefg111111
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte DeleteIdentitySource
en la Referencia de comandos de la AWS CLI.
-
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte DeletePolicyStore
en la Referencia de comandos de la AWS CLI.
-
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-idPSEXAMPLEabcdefg111111
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte DeletePolicyTemplate
en la Referencia de comandos de la AWS CLI.
-
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-idPSEXAMPLEabcdefg111111
Este comando no genera ninguna salida.
Para obtener más información sobre las políticas, consulte Amazon Verified Permissions policies en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte DeletePolicy
en la Referencia de comandos de la AWS CLI.
-
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-idPSEXAMPLEabcdefg111111
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte GetIdentitySource
en la Referencia de comandos de la AWS CLI.
-
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte GetPolicyStore
en la Referencia de comandos de la AWS CLI.
-
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-idPSEXAMPLEabcdefg111111
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte GetPolicyTemplate
en la Referencia de comandos de la AWS CLI.
-
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-idPSEXAMPLEabcdefg111111
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte GetPolicy
en la Referencia de comandos de la AWS CLI.
-
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte GetSchema
en la Referencia de comandos de la AWS CLI.
-
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 tipoCognitoUser
.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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener más información sobre la API, consulte IsAuthorizedWithToken
en la Referencia de comandos de la AWS CLI.
-
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 tipoUser
denominadaAlice
que desea realizar la operaciónupdatePhoto
en un recurso del tipoPhoto
denominadoVacationPhoto94.jpg
.La respuesta muestra que una política permite la solicitud.
aws verifiedpermissions is-authorized \ --principal
entityType=User,entityId=alice
\ --actionactionType=Action,actionId=view
\ --resourceentityType=Photo,entityId=VactionPhoto94.jpg
\ --policy-store-idPSEXAMPLEabcdefg111111
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 aAlbum::"alice_folder"
.El resultado indica que
Deny
estaba implícito porque la lista deDeterminingPolicies
está vacía.aws verifiedpermissions create-policy \ --definition
file://definition2.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
Salida:
{ "decision": "DENY", "determiningPolicies": [], "errors": [] }
Para obtener más información, consulte la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte IsAuthorized
en la Referencia de comandos de la AWS CLI.
-
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte ListIdentitySources
en la Referencia de comandos de la AWS CLI.
-
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte ListPolicies
en la Referencia de comandos de la AWS CLI.
-
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 ejemplo de
list-policy-stores
, se enumeran todos los almacenes de políticas de la región de AWS. Todos los comandos de Verified Permissions, exceptocreate-policy-store
ylist-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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte ListPolicyStores
en la Referencia de comandos de la AWS CLI.
-
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte ListPolicyTemplates
en la Referencia de comandos de la AWS CLI.
-
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 (\) 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 --definition file://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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte PutSchema
en la Referencia de comandos de la AWS CLI.
-
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-configurationfile://config.txt
\ --principal-entity-type"Employee"
\ --policy-store-idPSEXAMPLEabcdefg111111
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte UpdateIdentitySource
en la Referencia de comandos de la AWS CLI.
-
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-idPSEXAMPLEabcdefg111111
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte UpdatePolicyStore
en la Referencia de comandos de la AWS CLI.
-
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
\ --statementfile://template1.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte UpdatePolicyTemplate
en la Referencia de comandos de AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-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://definition.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
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 (\) 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.
Contenido del archivo
definition.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-idPSEXAMPLEabcdefg111111
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://definition2.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
Contenido del archivo definition3.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 en la Guía del usuario de Amazon Verified Permissions.
-
Para obtener información sobre la API, consulte UpdatePolicy
en la Referencia de comandos de la AWS CLI.
-