Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de 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
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 funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.
Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.
Temas
Acciones
En el siguiente ejemplo de código se muestra cómo usar create-identity-source
.
- AWS CLI
-
Para crear una fuente de identidad
El siguiente
create-identity-source
ejemplo crea una fuente de identidad que le permite hacer referencia a las identidades almacenadas en el grupo de usuarios de Amazon Cognito especificado. Esas identidades están disponibles en los permisos verificados como entidades de tipoUser
.aws verifiedpermissions create-identity-source \ --configuration
file://config.txt
\ --principal-entity-type"User"
\ --policy-store-idPSEXAMPLEabcdefg111111
Contenidos 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 sobre las fuentes de identidad, consulte Uso de permisos verificados de Amazon con proveedores de identidad en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte CreateIdentitySource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar create-policy-store
.
- AWS CLI
-
Para crear un almacén de políticas
En el siguiente
create-policy-store
ejemplo, se 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 sobre los almacenes de políticas, consulta los almacenes de políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte CreatePolicyStore
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar create-policy-template
.
- AWS CLI
-
Ejemplo 1: Para crear una plantilla de políticas
En el siguiente
create-policy-template
ejemplo, se crea una plantilla de política con una declaración que contiene un marcador de posición para el director.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 sobre las plantillas de políticas, consulte las plantillas de políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte CreatePolicyTemplate
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar create-policy
.
- AWS CLI
-
Ejemplo 1: Para crear una política estática
El siguiente
create-policy
ejemplo crea una política estática con un alcance de política que especifica tanto un 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: Crear una política estática que conceda acceso a un recurso a todos
El siguiente
create-policy
ejemplo crea una política estática con un alcance de política que especifica solo 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: Para crear una política vinculada a una plantilla que esté asociada a la plantilla especificada
En el siguiente
create-policy
ejemplo, se crea una política vinculada a una plantilla mediante la plantilla de política especificada y se asocia el principio especificado que se va a utilizar con la nueva política vinculada a la plantilla.aws verifiedpermissions create-policy \ --definition
file://definition.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
Contenidos 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, consulta las políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte CreatePolicy
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-identity-source
.
- AWS CLI
-
Para eliminar una fuente de identidad
En el siguiente
delete-identity-source
ejemplo, se elimina la fuente de identidad que tiene el identificador 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 sobre las fuentes de identidad, consulte Uso de permisos verificados de Amazon con proveedores de identidad en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte DeleteIdentitySource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-policy-store
.
- AWS CLI
-
Para eliminar un almacén de políticas
En el siguiente
delete-policy-store
ejemplo, se elimina el almacén de políticas que tiene el identificador especificado.aws verifiedpermissions delete-policy-store \ --policy-store-id
PSEXAMPLEabcdefg111111
Este comando no genera ninguna salida.
Para obtener más información sobre los almacenes de políticas, consulta los almacenes de políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte DeletePolicyStore
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-policy-template
.
- AWS CLI
-
Para eliminar una plantilla de política
En el siguiente
delete-policy-template
ejemplo, se elimina la plantilla de política que tiene el identificador especificado.aws verifiedpermissions delete-policy \ --policy-template-id
PTEXAMPLEabcdefg111111
\ --policy-store-idPSEXAMPLEabcdefg111111
Este comando no genera ninguna salida.
Para obtener más información sobre las plantillas de políticas, consulte las plantillas de políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte DeletePolicyTemplate
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-policy
.
- AWS CLI
-
Para eliminar una política estática o vinculada a una plantilla
En el siguiente
delete-policy
ejemplo, se elimina la política que tiene el identificador 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, consulta las políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte DeletePolicy
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar get-identity-source
.
- AWS CLI
-
Para recuperar detalles sobre una fuente de identidad
En el siguiente
get-identity-source
ejemplo, se muestran los detalles de la fuente de identidad con el identificador 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 sobre las fuentes de identidad, consulte Uso de permisos verificados de Amazon con proveedores de identidad en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte GetIdentitySource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar get-policy-store
.
- AWS CLI
-
Para recuperar detalles sobre un almacén de políticas
En el siguiente
get-policy-store
ejemplo, se muestran los detalles del almacén de políticas con el identificador 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 sobre los almacenes de políticas, consulta los almacenes de políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte GetPolicyStore
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar get-policy-template
.
- AWS CLI
-
Para recuperar detalles sobre una plantilla de política
En el siguiente
get-policy-template
ejemplo, se muestran los detalles de la plantilla de política 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 sobre las plantillas de políticas, consulte las plantillas de políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte GetPolicyTemplate
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar get-policy
.
- AWS CLI
-
Para recuperar detalles sobre una política
En el siguiente
get-policy
ejemplo, 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, consulta las políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte GetPolicy
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar get-schema
.
- AWS CLI
-
Para recuperar el esquema en un almacén de políticas
En el siguiente
get-schema
ejemplo, 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 el esquema del almacén de políticas en la Guía del usuario de Amazon Verified Permissions.
-
Para API obtener más información, consulte GetSchema
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar is-authorized-with-token
.
- AWS CLI
-
Ejemplo 1: solicitar una decisión de autorización para una solicitud de usuario (permitir)
En el siguiente
is-authorized-with-token
ejemplo, 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 los 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 declaración que acepta identidades del grupo de usuarios y del identificador 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 sobre el uso de identidades de un grupo de usuarios de Cognito, consulte Uso de permisos verificados de Amazon con proveedores de identidad en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte IsAuthorizedWithToken
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar is-authorized
.
- AWS CLI
-
Ejemplo 1: solicitar una decisión de autorización para una solicitud de usuario (permitir)
El siguiente
is-authorized
ejemplo solicita una decisión de autorización para un principal del tipoUser
denominadoAlice
, que desea realizar laupdatePhoto
operación, en un recurso del tipoPhoto
denominadoVacationPhoto94.jpg
.La respuesta muestra que la solicitud está permitida por una política.
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: solicitar una decisión de autorización para una solicitud de un usuario (denegar)
El siguiente ejemplo es el mismo que el anterior, excepto que el principal sí lo 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, consulta la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte IsAuthorized
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-identity-sources
.
- AWS CLI
-
Para enumerar las fuentes de identidad disponibles
En el siguiente
list-identity-sources
ejemplo, se enumeran todas las fuentes de 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 sobre las fuentes de identidad, consulte Uso de permisos verificados de Amazon con proveedores de identidad en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte ListIdentitySources
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-policies
.
- AWS CLI
-
Para ver una lista de las políticas disponibles
En el siguiente
list-policies
ejemplo, 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, consulta las políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte ListPolicies
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-policy-stores
.
- AWS CLI
-
Para ver una lista de 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 permisoscreate-policy-store
verificados, excepto los quelist-policy-stores
requieren que especifique el identificador 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 sobre los almacenes de políticas, consulta los almacenes de políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte ListPolicyStores
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-policy-templates
.
- AWS CLI
-
Para ver una lista de las plantillas de políticas disponibles
En el siguiente
list-policy-templates
ejemplo, se enumeran todas las plantillas 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 sobre las plantillas de políticas, consulte las plantillas de políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte ListPolicyTemplates
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar put-schema
.
- AWS CLI
-
Para guardar un esquema en un almacén de políticas
El siguiente
put-schema
ejemplo crea o reemplaza el esquema en el almacén de políticas especificado.El
cedarJson
parámetro del archivo de entrada toma una representación en cadena de un JSON objeto. Contiene comillas incrustadas («) dentro del par de comillas más externas. Para ello, debe convertir la JSON cadena en una cadena poniendo una barra invertida (") delante de todas las comillas incrustadas y combinando 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 --fichero de definición: //schema.txt -- policy-store-id PSEXAMPLEabcdefg111111
Contenidos 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 el esquema del almacén de políticas en la Guía del usuario de Amazon Verified Permissions.
-
Para API obtener más información, consulte PutSchema
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-identity-source
.
- AWS CLI
-
Para actualizar una fuente de identidad
El siguiente
update-identity-source
ejemplo modifica la fuente de identidad especificada proporcionando una nueva configuración de grupo de usuarios de Cognito y cambiando el tipo de entidad devuelto por la fuente de identidad.aws verifiedpermissions update-identity-source --identity-source-id
ISEXAMPLEabcdefg111111
\ --update-configurationfile://config.txt
\ --principal-entity-type"Employee"
\ --policy-store-idPSEXAMPLEabcdefg111111
Contenidos 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 sobre las fuentes de identidad, consulte Uso de permisos verificados de Amazon con proveedores de identidad en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte UpdateIdentitySource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-policy-store
.
- AWS CLI
-
Para actualizar un almacén de políticas
En el siguiente
update-policy-store
ejemplo, se modifica un almacén de políticas cambiando 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 sobre los almacenes de políticas, consulta los almacenes de políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte UpdatePolicyStore
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-policy-template
.
- AWS CLI
-
Ejemplo 1: Para actualizar una plantilla de política
El siguiente
update-policy-template
ejemplo modifica la política vinculada a la plantilla especificada para reemplazar su declaració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 sobre las plantillas de políticas, consulte las plantillas de políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte UpdatePolicyTemplate
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-policy
.
- AWS CLI
-
Ejemplo 1: Para crear una política estática
El siguiente
create-policy
ejemplo crea una política estática con un alcance de política que especifica tanto un principal como un recurso.aws verifiedpermissions create-policy \ --definition
file://definition.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
El
statement
parámetro toma una representación en cadena de un JSON objeto. Contiene comillas incrustadas («) dentro del par de comillas más externas. Para ello, debe convertir la JSON cadena en una cadena poniendo una barra invertida (") delante de todas las comillas incrustadas y combinando 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: Crear una política estática que conceda acceso a un recurso a todos
El siguiente
create-policy
ejemplo crea una política estática con un alcance de política que especifica solo 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: Para crear una política vinculada a una plantilla que esté asociada a la plantilla especificada
En el siguiente
create-policy
ejemplo, se crea una política vinculada a una plantilla mediante la plantilla de política especificada y se asocia el principio especificado que se va 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, consulta las políticas de permisos verificados de Amazon en la Guía del usuario de permisos verificados de Amazon.
-
Para API obtener más información, consulte UpdatePolicy
la Referencia de AWS CLI comandos.
-