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 azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

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

AWS CLI

Come creare un’origine dell’identità

L’esempio create-identity-source 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 nell’area 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 origini dell’identità, consulta Utilizzo delle autorizzazioni verificate con i provider di identità nella Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

Come creare un archivio di policy

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 di policy, consulta Archivi di policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

Come creare un modello di policy

L’esempio create-policy-template seguente crea un modello di policy con un’istruzione contenente un segnaposto per il principale.

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

Contenuto di 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 Modelli di policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

Il seguente esempio di codice mostra come utilizzarecreate-policy.

AWS CLI

Esempio 1: come creare una policy statica

L’esempio create-policy seguente crea una policy statica con un ambito che specifica sia un principale che una risorsa.

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

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

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: come creare una policy statica che garantisca a tutti l’accesso a una risorsa

L’esempio create-policy seguente crea una policy statica con un ambito che specifica solo una risorsa.

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

Contenuto del file definition2.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: come creare una policy basata su modello associata al modello specificato

L’esempio create-policy seguente crea una policy collegata al modello utilizzando il modello di policy specificato e associa il principale specificato da utilizzare con la nuova policy 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 policy, consulta Policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

Come eliminare un’origine dell’identità

L’esempio delete-identity-source 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 origini dell’identità, consulta Utilizzo delle autorizzazioni verificate con i provider di identità nella Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

Come eliminare un archivio di policy

L’esempio delete-policy-store seguente elimina l’archivio di policy con l’ID specificato.

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

Questo comando non produce alcun output.

Per ulteriori informazioni sugli archivi di policy, consulta Archivi di policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

Come eliminare un modello di policy

L’esempio delete-policy-template 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 Modelli di policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

Il seguente esempio di codice mostra come utilizzaredelete-policy.

AWS CLI

Come eliminare una policy statica o basata su modello

L’esempio delete-policy seguente elimina la policy 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 policy, consulta Policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

Come recuperare i dettagli su un’origine dell’identità

L’esempio get-identity-source 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 origini dell’identità, consulta Utilizzo delle autorizzazioni verificate con i provider di identità nella Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

Come recuperare i dettagli relativi a un archivio di policy

L’esempio get-policy-store seguente visualizza i dettagli dell’archivio di policy 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 di policy, consulta Archivi di policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

Come recuperare i dettagli relativi a un modello di policy

L’esempio get-policy-template 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 Modelli di policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

Il seguente esempio di codice mostra come utilizzareget-policy.

AWS CLI

Come recuperare i dettagli relativi a una policy

L’esempio get-policy seguente mostra i dettagli della policy 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 policy, consulta Policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

Il seguente esempio di codice mostra come utilizzareget-schema.

AWS CLI

Come recuperare lo schema in un archivio di policy

L’esempio get-schema seguente mostra i dettagli dello schema nell’archivio di policy 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 Schema di archivio di policy nella Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

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

L’esempio is-authorized-with-token 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"

L’archivio delle policy contiene una policy con la seguente istruzione che accetta le identità dal pool di utenti e dall’ID 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 Utilizzo delle autorizzazioni verificate con i provider di identità nella Guida per l’utente di Autorizzazioni verificate da Amazon.

Il seguente esempio di codice mostra come utilizzareis-authorized.

AWS CLI

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

L’esempio is-authorized seguente richiede una decisione di autorizzazione per un principale di tipo User denominato Alice che desidera eseguire l’operazione updatePhoto su una risorsa di tipo Photo denominata VacationPhoto94.jpg.

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

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: come richiedere una decisione di autorizzazione per una richiesta utente (negare)

L’esempio seguente è uguale all’esempio precedente tranne per il fatto che il principale è User::"Bob". L’archivio delle policy non contiene alcuna policy che consenta a tale utente l’accesso a Album::"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 Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

Come elencare le origini dell’identità disponibili

L’esempio list-identity-sources seguente elenca tutte le origini dell’identità nell’archivio delle policy 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 origini dell’identità, consulta Utilizzo delle autorizzazioni verificate con i provider di identità nella Guida per l’utente di Autorizzazioni verificate da Amazon.

Il seguente esempio di codice mostra come utilizzarelist-policies.

AWS CLI

Come elencare le policy disponibili

L’esempio list-policies seguente elenca tutte le policy nell’archivio di policy 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 policy, consulta Policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

Come elencare gli archivi di policy disponibili

L'list-policy-storesesempio seguente elenca tutti gli archivi delle politiche nella AWS regione. Tutti i comandi per Autorizzazioni verificate da Amazon tranne create-policy-store e list-policy-stores richiedono la specificazione dell’ID del archivio delle policy 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 di policy, consulta Archivi di policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

Come elencare i modelli di policy disponibili

L’esempio list-policy-templates seguente elenca tutti i modelli di policy nell’archivio di policy 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 Modelli di policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

Il seguente esempio di codice mostra come utilizzareput-schema.

AWS CLI

Come salvare uno schema in un archivio di policy

L’esempio put-schema seguente crea o sostituisce lo schema nell’archivio di policy specificato.

Il parametro cedarJson nel file di input accetta una rappresentazione di stringa di un oggetto JSON. Contiene virgolette incorporate (“”) all’interno della coppia di virgolette più esterna. A tale scopo è necessario convertire il codice JSON in una 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 Schema di archivio di policy nella Guida per l’utente di Autorizzazioni verificate da Amazon.

  • Per i dettagli sull'API, consulta Command Reference. PutSchemaAWS CLI

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

AWS CLI

Come aggiornare un’origine dell’identità

L’esempio update-identity-source seguente modifica l’origine dell’identità specificata fornendo una nuova configurazione del pool di utenti 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 origini dell’identità, consulta Utilizzo delle autorizzazioni verificate con i provider di identità nella Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

Come aggiornare un archivio di policy

L’esempio update-policy-store seguente modifica un archivio di policy 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 di policy, consulta Archivi di policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

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

AWS CLI

Esempio 1: come aggiornare un modello di policy

L’esempio update-policy-template seguente modifica la policy specificata collegata al modello per sostituire la relativa dichiarazione di policy.

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 Modelli di policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

Il seguente esempio di codice mostra come utilizzareupdate-policy.

AWS CLI

Come aggiornare una policy statica

L’esempio update-policy seguente modifica una policy statica esistente aggiornandone la descrizione e l’istruzione.

aws verifiedpermissions update-policy \ --policy-id SPEXAMPLEabcdefg111111 \ --definition file://updated-definition.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Il parametro statement accetta una rappresentazione di stringa di un oggetto JSON. Contiene virgolette incorporate (“”) all’interno della coppia di virgolette più esterna. A tale scopo è necessario convertire il codice JSON in una 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.

È possibile visualizzare stringhe di esempio su più righe per motivi di leggibilità, ma l’operazione richiede che i parametri vengano inviati come stringhe a riga singola.

Contenuto del file updated-definition.txt:

{ "static": { "description": "Updated policy to grant janeFriends UserGroup access to the vacationFolder Album with view action only", "statement": "permit(principal in UserGroup::\"janeFriends\", action == Action::\"view\", resource in Album::\"vacationFolder\" );" } }

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

Per ulteriori informazioni sulle policy, consulta Policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.