Esempi di autorizzazioni verificate utilizzando AWS CLI - AWS Command Line Interface

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di autorizzazioni verificate utilizzando AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with Verified Permissions.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzarecreate-identity-source.

AWS CLI

Per creare una fonte di identità

L'create-identity-sourceesempio seguente crea un'origine di identità che consente di fare riferimento alle identità archiviate nel pool di utenti Amazon Cognito specificato. Queste identità sono disponibili in Autorizzazioni verificate come entità di tipo. User

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

Contenuto di config.txt.

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

Output:

{ "createdDate": "2023-05-19T20:30:28.214829+00:00", "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }

Per ulteriori informazioni sulle fonti di identità, consulta Using Amazon Verified Permissions with identity provider nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzarecreate-policy-store.

AWS CLI

Per creare un archivio delle politiche

L'create-policy-storeesempio seguente crea un archivio delle politiche nella AWS regione corrente.

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

Output:

{ "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" }

Per ulteriori informazioni sugli archivi delle politiche, consulta gli archivi delle politiche di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzarecreate-policy-template.

AWS CLI

Esempio 1: creare un modello di policy

L'create-policy-templateesempio seguente crea un modello di policy con un'istruzione che contiene un segnaposto per il principale.

aws verifiedpermissions create-policy-template \ --definition file://template1.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Contenuto del file: template1.txt

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

Output:

{ "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" }

Per ulteriori informazioni sui modelli di policy, consulta i modelli di policy di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzarecreate-policy.

AWS CLI

Esempio 1: creare una politica statica

L'create-policyesempio seguente crea una politica statica con un ambito di policy che specifica sia un principale che una risorsa.

aws verifiedpermissions create-policy \ --definition file://definition1.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Contenuto del filedefinition1.txt:

{ "static": { "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album", "statement": "permit(principal in UserGroup::\"janeFriends\", action, resource in Album::\"vacationFolder\" );" } }

Output:

{ "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" } }

Esempio 2: creare una politica statica che garantisca l'accesso a una risorsa a tutti

L'create-policyesempio seguente crea una politica statica con un ambito di policy che specifica solo una risorsa.

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

Contenuto del filedefinition2.txt:

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

Output:

{ "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" } }

Esempio 3: creare una politica collegata al modello associata al modello specificato

L'create-policyesempio seguente crea una politica collegata al modello utilizzando il modello di policy specificato e associa il principale specificato da utilizzare alla nuova politica collegata al modello.

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

Contenuto di definition.txt.

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

Output:

{ "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" } }

Per ulteriori informazioni sulle politiche, consulta le politiche di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

  • Per API i dettagli, consulta AWS CLI Command CreatePolicyReference.

Il seguente esempio di codice mostra come utilizzaredelete-identity-source.

AWS CLI

Per eliminare una fonte di identità

L'delete-identity-sourceesempio seguente elimina l'origine dell'identità con l'ID specificato.

aws verifiedpermissions delete-identity-source \ --identity-source-id ISEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Questo comando non produce alcun output.

Per ulteriori informazioni sulle fonti di identità, consulta Using Amazon Verified Permissions with identity provider nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzaredelete-policy-store.

AWS CLI

Per eliminare un archivio delle politiche

L'delete-policy-storeesempio seguente elimina il policy store con l'ID specificato.

aws verifiedpermissions delete-policy-store \ --policy-store-id PSEXAMPLEabcdefg111111

Questo comando non produce alcun output.

Per ulteriori informazioni sugli archivi delle politiche, consulta gli archivi delle politiche di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzaredelete-policy-template.

AWS CLI

Per eliminare un modello di policy

L'delete-policy-templateesempio seguente elimina il modello di policy con l'ID specificato.

aws verifiedpermissions delete-policy \ --policy-template-id PTEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Questo comando non produce alcun output.

Per ulteriori informazioni sui modelli di policy, consulta i modelli di policy di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzaredelete-policy.

AWS CLI

Per eliminare una policy statica o collegata a un modello

L'delete-policyesempio seguente elimina la politica con l'ID specificato.

aws verifiedpermissions delete-policy \ --policy-id SPEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Questo comando non produce alcun output.

Per ulteriori informazioni sulle politiche, consulta le politiche di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

  • Per API i dettagli, consulta AWS CLI Command DeletePolicyReference.

Il seguente esempio di codice mostra come utilizzareget-identity-source.

AWS CLI

Per recuperare i dettagli su una fonte di identità

L'get-identity-sourceesempio seguente visualizza i dettagli dell'origine dell'identità con l'ID specificato.

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

Output:

{ "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" }

Per ulteriori informazioni sulle fonti di identità, consulta Using Amazon Verified Permissions with identity provider nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzareget-policy-store.

AWS CLI

Per recuperare i dettagli su un archivio di politiche

L'get-policy-storeesempio seguente visualizza i dettagli del policy store con l'ID specificato.

aws verifiedpermissions get-policy-store \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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" } }

Per ulteriori informazioni sugli archivi delle politiche, consulta gli archivi delle politiche di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

  • Per API i dettagli, consulta AWS CLI Command GetPolicyStoreReference.

Il seguente esempio di codice mostra come utilizzareget-policy-template.

AWS CLI

Per recuperare i dettagli su un modello di policy

L'get-policy-templateesempio seguente visualizza i dettagli del modello di policy con l'ID specificato.

aws verifiedpermissions get-policy-template \ --policy-template-id PTEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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);" }

Per ulteriori informazioni sui modelli di policy, consulta i modelli di policy di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzareget-policy.

AWS CLI

Per recuperare i dettagli su una politica

L'get-policyesempio seguente visualizza i dettagli della politica con l'ID specificato.

aws verifiedpermissions get-policy \ --policy-id PSEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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" } }

Per ulteriori informazioni sulle politiche, consulta le politiche di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

  • Per API i dettagli, consulta AWS CLI Command GetPolicyReference.

Il seguente esempio di codice mostra come utilizzareget-schema.

AWS CLI

Per recuperare lo schema in un archivio di politiche

L'get-schemaesempio seguente visualizza i dettagli dello schema nel policy store specificato.

aws verifiedpermissions get-schema \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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" }

Per ulteriori informazioni sullo schema, consulta lo schema del Policy store nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzareis-authorized-with-token.

AWS CLI

Esempio 1: richiedere una decisione di autorizzazione per una richiesta dell'utente (consentire)

L'is-authorized-with-tokenesempio seguente richiede una decisione di autorizzazione per un utente autenticato da Amazon Cognito. La richiesta utilizza il token di identità fornito da Cognito anziché il token di accesso. In questo esempio, l'archivio di informazioni specificato è configurato per restituire i principali come entità di 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"

Il policy store contiene una policy con la seguente dichiarazione che accetta le identità dal pool di utenti e dall'ID dell'applicazione Cognito specificati.

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

Output:

{ "decision":"Allow", "determiningPolicies":[ { "determiningPolicyId":"SPEXAMPLEabcdefg111111" } ], "errors":[] }

Per ulteriori informazioni sull'utilizzo delle identità di un pool di utenti Cognito, consulta Using Amazon Verified Permissions con provider di identità nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzareis-authorized.

AWS CLI

Esempio 1: richiedere una decisione di autorizzazione per una richiesta dell'utente (consentire)

L'is-authorizedesempio seguente richiede una decisione di autorizzazione per un principale di tipo User namedAlice, che desidera eseguire l'updatePhotooperazione, su una risorsa di tipo Photo denominatoVacationPhoto94.jpg.

La risposta mostra che la richiesta è consentita da una politica.

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

Output:

{ "decision": "ALLOW", "determiningPolicies": [ { "policyId": "SPEXAMPLEabcdefg111111" } ], "errors": [] }

Esempio 2: richiedere una decisione di autorizzazione per una richiesta dell'utente (negare)

L'esempio seguente è lo stesso dell'esempio precedente, tranne per il fatto che il principale èUser::"Bob". L'archivio delle politiche non contiene alcuna politica che consenta l'accesso a tale utenteAlbum::"alice_folder".

L'output indica che Deny era implicito perché l'elenco di DeterminingPolicies è vuoto.

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

Output:

{ "decision": "DENY", "determiningPolicies": [], "errors": [] }

Per ulteriori informazioni, consulta la Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzarelist-identity-sources.

AWS CLI

Per elencare le fonti di identità disponibili

L'list-identity-sourcesesempio seguente elenca tutte le fonti di identità nell'archivio delle politiche specificato.

aws verifiedpermissions list-identity-sources \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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" } ] }

Per ulteriori informazioni sulle fonti di identità, consulta Using Amazon Verified Permissions with identity provider nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzarelist-policies.

AWS CLI

Per elencare le politiche disponibili

L'list-policiesesempio seguente elenca tutte le politiche nel policy store specificato.

aws verifiedpermissions list-policies \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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" } } ] }

Per ulteriori informazioni sulle politiche, consulta le politiche di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

  • Per API i dettagli, consulta AWS CLI Command ListPoliciesReference.

Il seguente esempio di codice mostra come utilizzarelist-policy-stores.

AWS CLI

Per elencare gli archivi di policy disponibili

L'list-policy-storesesempio seguente elenca tutti gli archivi delle politiche della AWS regione. Tutti i comandi per le autorizzazioni verificate, ad eccezione create-policy-store dei comandi che list-policy-stores richiedono la specificazione dell'ID del policy store con cui si desidera lavorare.

aws verifiedpermissions list-policy-stores

Output:

{ "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" } ] }

Per ulteriori informazioni sugli archivi delle politiche, consulta gli archivi delle politiche di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzarelist-policy-templates.

AWS CLI

Per elencare i modelli di policy disponibili

L'list-policy-templatesesempio seguente elenca tutti i modelli di policy nel policy store specificato.

aws verifiedpermissions list-policy-templates \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "policyTemplates": [ { "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" } ] }

Per ulteriori informazioni sui modelli di policy, consulta i modelli di policy di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzareput-schema.

AWS CLI

Per salvare uno schema in un archivio di politiche

L'put-schemaesempio seguente crea o sostituisce lo schema nel policy store specificato.

Il cedarJson parametro nel file di input accetta una rappresentazione in formato stringa di un JSON oggetto. Contiene virgolette incorporate («) all'interno della coppia di virgolette più esterna. A tale scopo è necessario JSON convertire il in stringa facendo precedere tutte le virgolette incorporate da una barra rovesciata (") e combinando tutte le righe in un'unica riga di testo senza interruzioni di riga.

Le stringhe di esempio possono essere visualizzate su più righe per motivi di leggibilità, ma l'operazione richiede che i parametri vengano inviati come stringhe a riga singola.

aws verifiedpermissions put-schema --definition file: //schema.txt -- policy-store-id PSEXAMPLEabcdefg111111

Contenuto di schema.txt.

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

Output:

{ "policyStoreId": "PSEXAMPLEabcdefg111111", "namespaces": [ "MySampleNamespace" ], "createdDate": "2023-06-14T17:47:13.999885+00:00", "lastUpdatedDate": "2023-06-14T17:47:13.999885+00:00" }

Per ulteriori informazioni sullo schema, consulta lo schema del Policy store nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzareupdate-identity-source.

AWS CLI

Per aggiornare una fonte di identità

L'update-identity-sourceesempio seguente modifica l'origine dell'identità specificata fornendo una nuova configurazione del pool di utenti di Cognito e cambiando il tipo di entità restituito dall'origine dell'identità.

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

Contenuto di config.txt.

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

Output:

{ "createdDate": "2023-05-19T20:30:28.214829+00:00", "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }

Per ulteriori informazioni sulle fonti di identità, consulta Using Amazon Verified Permissions with identity provider nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzareupdate-policy-store.

AWS CLI

Per aggiornare un archivio di politiche

L'update-policy-storeesempio seguente modifica un policy store cambiandone l'impostazione di convalida.

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

Output:

{ "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" }

Per ulteriori informazioni sugli archivi delle politiche, consulta gli archivi delle politiche di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzareupdate-policy-template.

AWS CLI

Esempio 1: aggiornare un modello di policy

L'update-policy-templateesempio seguente modifica la politica specificata collegata al modello per sostituire la relativa dichiarazione di politica.

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

Contenuto del file: template1.txt

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

Output:

{ "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" }

Per ulteriori informazioni sui modelli di policy, consulta i modelli di policy di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

Il seguente esempio di codice mostra come utilizzareupdate-policy.

AWS CLI

Esempio 1: creare una politica statica

L'create-policyesempio seguente crea una politica statica con un ambito di policy che specifica sia un principale che una risorsa.

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

Il statement parametro accetta una rappresentazione in formato stringa di un JSON oggetto. Contiene virgolette incorporate («) all'interno della coppia di virgolette più esterna. A tale scopo è necessario JSON convertire il in stringa facendo precedere tutte le virgolette incorporate da una barra rovesciata (") e combinando tutte le righe in un'unica riga di testo senza interruzioni di riga.

Le stringhe di esempio possono essere visualizzate su più righe per motivi di leggibilità, ma l'operazione richiede che i parametri vengano inviati come stringhe a riga singola.

Contenuto del file: 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\" );" } }

Output:

{ "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" } }

Esempio 2: creare una politica statica che garantisca l'accesso a una risorsa a tutti

L'create-policyesempio seguente crea una politica statica con un ambito di policy che specifica solo una risorsa.

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

Contenuto del filedefinition2.txt:

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

Output:

{ "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" } }

Esempio 3: creare una politica collegata al modello associata al modello specificato

L'create-policyesempio seguente crea una politica collegata al modello utilizzando il modello di policy specificato e associa il principale specificato da utilizzare alla nuova politica collegata al modello.

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

Contenuto di definition3.txt:

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

Output:

{ "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" } }

Per ulteriori informazioni sulle politiche, consulta le politiche di Amazon Verified Permissions nella Amazon Verified Permissions User Guide.

  • Per API i dettagli, consulta AWS CLI Command UpdatePolicyReference.