Esempi di Autorizzazioni verificate da Amazon con l’utilizzo della AWS CLI - AWS Command Line Interface

Esempi di Autorizzazioni verificate da Amazon con l’utilizzo della AWS CLI

Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando la AWS Command Line Interface con Autorizzazioni verificate da Amazon.

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

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare create-identity-source.

AWS CLI

Come creare un’origine dell’identità

Nell’esempio seguente, create-identity-source 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 da Amazon 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 di Autorizzazioni verificate da Amazon con i provider di identità nella Guida per l’utente di Autorizzazioni verificate da Amazon.

  • Per informazioni dettagliate sull’API, consulta CreateIdentitySource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-policy-store.

AWS CLI

Come creare un archivio di policy

Nell’esempio seguente, create-policy-store crea un archivio delle policy nella Regione AWS 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 policy, consulta Archivi delle policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

  • Per informazioni dettagliate sull’API, consulta CreatePolicyStore in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-policy-template.

AWS CLI

Come creare un modello di policy

Nell’esempio seguente, create-policy-template 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 store di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

  • Per informazioni dettagliate sull’API, consulta CreatePolicyTemplate in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-policy.

AWS CLI

Esempio 1: come creare una policy statica

Nell’esempio seguente, create-policy 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

Nell’esempio seguente, create-policy 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

Nell’esempio seguente, create-policy 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.

  • Per informazioni dettagliate sull’API, consulta CreatePolicy nella Documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare delete-identity-source.

AWS CLI

Come eliminare un’origine dell’identità

Nell’esempio seguente, delete-identity-source 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 di Autorizzazioni verificate da Amazon con i provider di identità nella Guida per l’utente di Autorizzazioni verificate da Amazon.

  • Per informazioni dettagliate sull’API, consulta DeleteIdentitySource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-policy-store.

AWS CLI

Come eliminare un archivio di policy

Nell’esempio seguente, delete-policy-store elimina l’archivio delle 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 delle policy, consulta Archivi delle policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

  • Per informazioni dettagliate sull’API, consulta DeletePolicyStore in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-policy-template.

AWS CLI

Come eliminare un modello di policy

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

  • Per informazioni dettagliate sull’API, consulta DeletePolicyTemplate in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-policy.

AWS CLI

Come eliminare una policy statica o basata su modello

Nell’esempio seguente, delete-policy 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.

  • Per informazioni dettagliate sull’API, consulta DeletePolicy nella Documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare get-identity-source.

AWS CLI

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

Nell’esempio seguente, get-identity-source 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 di Autorizzazioni verificate da Amazon con i provider di identità nella Guida per l’utente di Autorizzazioni verificate da Amazon.

  • Per informazioni dettagliate sull’API, consulta GetIdentitySource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-policy-store.

AWS CLI

Come recuperare i dettagli relativi a un archivio di policy

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

  • Per informazioni dettagliate sull’API, consulta GetPolicyStore in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-policy-template.

AWS CLI

Come recuperare i dettagli relativi a un modello di policy

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

  • Per informazioni dettagliate sull’API, consulta GetPolicyTemplate in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-policy.

AWS CLI

Come recuperare i dettagli relativi a una policy

Nell’esempio seguente, get-policy visualizza 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.

  • Per informazioni dettagliate sull’API, consulta GetPolicy nella Documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare get-schema.

AWS CLI

Come recuperare lo schema in un archivio di policy

Nell’esempio seguente, get-schema visualizza i dettagli dello schema nell’archivio delle 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 dell’archivio delle policy nella Guida per l’utente di Autorizzazioni verificate da Amazon.

  • Per informazioni dettagliate sull’API, consulta GetSchema in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare is-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 di Autorizzazioni verificate da Amazon con i provider di identità nella Guida per l’utente di Autorizzazioni verificate da Amazon.

L’esempio di codice seguente mostra come utilizzare is-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.

  • Per informazioni dettagliate sull’API, consulta IsAuthorized in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-identity-sources.

AWS CLI

Come elencare le origini dell’identità disponibili

Nell’esempio seguente, list-identity-sources 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 di Autorizzazioni verificate da Amazon con i provider di identità nella Guida per l’utente di Autorizzazioni verificate da Amazon.

  • Per informazioni dettagliate sull’API, consulta ListIdentitySources in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-policies.

AWS CLI

Come elencare le policy disponibili

Nell’esempio seguente, list-policies elenca tutte le policy nell’archivio delle 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.

  • Per informazioni dettagliate sull’API, consulta ListPolicies nella Documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare list-policy-stores.

AWS CLI

Come elencare gli archivi delle policy disponibili

Nell’esempio seguente, list-policy-stores elenca tutti gli archivi delle policy nella Regione AWS. 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 delle policy, consulta Archivi delle policy di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

  • Per informazioni dettagliate sull’API, consulta ListPolicyStores in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-policy-templates.

AWS CLI

Come elencare i modelli di policy disponibili

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

  • Per informazioni dettagliate sull’API, consulta ListPolicyTemplates in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare put-schema.

AWS CLI

Come salvare uno schema in un archivio di policy

L’esempio put-schema seguente crea o sostituisce lo schema nell’archivio delle 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 dell’archivio delle policy nella Guida per l’utente di Autorizzazioni verificate da Amazon.

  • Per informazioni dettagliate sull’API, consulta PutSchema in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-identity-source.

AWS CLI

Come aggiornare un’origine dell’identità

Nell’esempio seguente, update-identity-source 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 di Autorizzazioni verificate da Amazon con i provider di identità nella Guida per l’utente di Autorizzazioni verificate da Amazon.

  • Per informazioni dettagliate sull’API, consulta UpdateIdentitySource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-policy-store.

AWS CLI

Come aggiornare un archivio di policy

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

  • Per informazioni dettagliate sull’API, consulta UpdatePolicyStore in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-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 store di Autorizzazioni verificate da Amazon nella Guida per l’utente di Autorizzazioni verificate da Amazon.

  • Per informazioni dettagliate sull’API, consulta UpdatePolicyTemplate in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-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.

  • Per informazioni dettagliate sull’API, consulta UpdatePolicy in AWS CLI Command Reference.