Exemples d'autorisations vérifiées utilisant AWS CLI - AWS Command Line Interface

Cette documentation concerne AWS CLI uniquement la version 1. Pour la documentation relative à la version 2 du AWS CLI, consultez le guide de l'utilisateur de la version 2.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples d'autorisations vérifiées utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l' AWS Command Line Interface aide des autorisations vérifiées.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L'exemple de code suivant montre comment utilisercreate-identity-source.

AWS CLI

Pour créer une source d’identité

L’exemple create-identity-source suivant crée une source d’identité qui vous permet de référencer les identités stockées dans le groupe d’utilisateurs Amazon Cognito spécifié. Ces identités sont disponibles dans Verified Permissions en tant qu’entités de type User.

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

Contenu de config.txt :

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

Sortie :

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

Pour plus d’informations, consultez Using Amazon Verified Permissions with identity providers dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous CreateIdentitySourceà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-policy-store.

AWS CLI

Pour créer un entrepôt de politiques

L'create-policy-storeexemple suivant crée un magasin de politiques dans la AWS région actuelle.

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

Sortie :

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

Pour plus d’informations, consultez Amazon Verified Permissions policy stores dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous CreatePolicyStoreà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-policy-template.

AWS CLI

Pour créer un modèle de politique

L’exemple create-policy-template suivant crée un modèle de politique avec une instruction contenant un espace réservé pour le principal.

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

Contenu de template1.txt :

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

Sortie :

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

Pour plus d’informations, consultez Amazon Verified Permissions policy templates dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous CreatePolicyTemplateà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-policy.

AWS CLI

Exemple 1 : pour créer une politique statique

L’exemple create-policy suivant crée une politique statique dont la portée spécifie à la fois un principal et une ressource.

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

Contenu du fichier 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\" );" } }

Sortie :

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

Exemple 2 : pour créer une politique statique qui autorise l’accès à une ressource à tout le monde

L’exemple create-policy suivant crée une politique statique dont la portée ne spécifie qu’une ressource.

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

Contenu du fichier definition2.txt :

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

Sortie :

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

Exemple 3 : pour créer une politique liée au modèle spécifié

L’exemple create-policy suivant crée une politique liée à un modèle à l’aide du modèle de politique spécifié et associe le principal spécifié à utiliser à la nouvelle politique liée au modèle.

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

Contenu de definition.txt :

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

Sortie :

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

Pour plus d’informations, consultez Amazon Verified Permissions policies dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous CreatePolicyà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-identity-source.

AWS CLI

Pour supprimer une source d’identité

L’exemple delete-identity-source suivant supprime la source d’identité qui possède l’ID spécifié.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Using Amazon Verified Permissions with identity providers dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous DeleteIdentitySourceà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-policy-store.

AWS CLI

Pour supprimer un entrepôt de politiques

L’exemple delete-policy-store suivant supprime l’entrepôt de politiques qui possède l’ID spécifié.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Amazon Verified Permissions policy stores dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous DeletePolicyStoreà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-policy-template.

AWS CLI

Pour supprimer un modèle de politique

L’exemple delete-policy-template suivant supprime le modèle de politique qui possède l’ID spécifié.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Amazon Verified Permissions policy templates dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous DeletePolicyTemplateà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-policy.

AWS CLI

Pour supprimer une politique statique ou liée à un modèle

L’exemple delete-policy suivant supprime la politique qui possède l’ID spécifié.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Amazon Verified Permissions policies dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous DeletePolicyà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-identity-source.

AWS CLI

Pour extraire les informations d’une source d’identité

L’exemple get-identity-source suivant affiche les informations de la source d’identité qui possède l’ID spécifié.

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

Sortie :

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

Pour plus d’informations, consultez Using Amazon Verified Permissions with identity providers dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous GetIdentitySourceà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-policy-store.

AWS CLI

Pour extraire des informations sur un entrepôt de politiques

L’exemple get-policy-store suivant affiche les informations de l’entrepôt de politiques qui possède l’ID spécifié.

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

Sortie :

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

Pour plus d’informations, consultez Amazon Verified Permissions policy stores dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous GetPolicyStoreà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-policy-template.

AWS CLI

Pour extraire les informations d’un modèle de politique

L’exemple get-policy-template suivant affiche les informations du modèle de politique qui possède l’ID spécifié.

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

Sortie :

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

Pour plus d’informations, consultez Amazon Verified Permissions policy templates dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous GetPolicyTemplateà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-policy.

AWS CLI

Pour extraire les informations d’une politique

L’exemple get-policy suivant affiche les informations de la politique qui possède l’ID spécifié.

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

Sortie :

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

Pour plus d’informations, consultez Amazon Verified Permissions policies dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous GetPolicyà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-schema.

AWS CLI

Pour extraire le schéma d’un entrepôt de politiques

L’exemple get-schema suivant affiche les informations du schéma de l’entrepôt de politiques spécifié.

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

Sortie :

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

Pour plus d’informations sur le schéma, consultez Policy store schema dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous GetSchemaà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliseris-authorized-with-token.

AWS CLI

Exemple 1 : pour demander une décision d’autorisation pour une demande d’utilisateur (autoriser)

L’exemple is-authorized-with-token suivant demande une décision d’autorisation pour un utilisateur authentifié par Amazon Cognito. La demande utilise le jeton d’identité fourni par Cognito plutôt que le jeton d’accès. Dans cet exemple, la banque d’informations spécifiée est configurée pour renvoyer les principaux sous forme d’entités de type 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’entrepôt de politiques contient une politique avec l’instruction suivante qui accepte les identités provenant du groupe d’utilisateurs Cognito et de l’ID d’application spécifiés.

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

Sortie :

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

Pour plus d’informations sur l’utilisation d’identités issues d’un groupe d’utilisateurs Cognito, consultez Using Amazon Verified Permissions with identity providers dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous IsAuthorizedWithTokenà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliseris-authorized.

AWS CLI

Exemple 1 : pour demander une décision d’autorisation pour une demande d’utilisateur (autoriser)

L’exemple is-authorized suivant demande une décision d’autorisation pour un principal de type User nommé Alice, qui souhaite effectuer l’opération updatePhoto sur une ressource de type Photo nommée VacationPhoto94.jpg.

La réponse indique que la demande est autorisée par une politique.

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

Sortie :

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

Exemple 2 : pour demander une décision d’autorisation pour une demande utilisateur (refuser)

L’exemple suivant est identique à l’exemple précédent, sauf que le principal est User::"Bob". L’entrepôt de politiques ne contient aucune politique autorisant cet utilisateur à accéder à Album::"alice_folder".

La sortie indique que Deny était implicite, car la liste DeterminingPolicies est vide.

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

Sortie :

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

Pour plus d’informations, consultez le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous IsAuthorizedà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-identity-sources.

AWS CLI

Pour répertorier les sources d’identité disponibles

L’exemple list-identity-sources suivant répertorie toutes les sources d’identité de l’entrepôt de politiques spécifié.

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

Sortie :

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

Pour plus d’informations, consultez Using Amazon Verified Permissions with identity providers dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous ListIdentitySourcesà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-policies.

AWS CLI

Pour répertorier les politiques disponibles

L’exemple list-policies suivant répertorie toutes les politiques de l’entrepôt de politiques spécifié.

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

Sortie :

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

Pour plus d’informations, consultez Amazon Verified Permissions policies dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous ListPoliciesà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-policy-stores.

AWS CLI

Pour répertorier les entrepôts de politiques disponibles

L'list-policy-storesexemple suivant répertorie tous les magasins de politiques de la AWS région. Toutes les commandes de Verified Permissions, à l’exception de create-policy-store et list-policy-stores, nécessitent que vous spécifiiez l’ID de l’entrepôt de politiques avec lequel vous souhaitez travailler.

aws verifiedpermissions list-policy-stores

Sortie :

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

Pour plus d’informations, consultez Amazon Verified Permissions policy stores dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous ListPolicyStoresà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-policy-templates.

AWS CLI

Pour répertorier les modèles de politique disponibles

L’exemple list-policy-templates suivant répertorie tous les modèles de politique de l’entrepôt de politiques spécifié.

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

Sortie :

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

Pour plus d’informations, consultez Amazon Verified Permissions policy templates dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous ListPolicyTemplatesà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-schema.

AWS CLI

Pour enregistrer un schéma d’un entrepôt de politiques

L’exemple put-schema suivant crée ou remplace le schéma de l’entrepôt de politiques spécifié.

Le paramètre cedarJson du fichier d’entrée prend la forme d’une chaîne d’objet JSON. Il contient des guillemets intégrés (") dans la paire de guillemets la plus externe. Pour ce faire, vous devez convertir le JSON en chaîne en faisant précéder tous les guillemets intégrés d’une barre oblique inverse (") et en combinant toutes les lignes en une seule ligne de texte sans sauts de ligne.

Les exemples de chaînes peuvent être affichés sur plusieurs lignes ici pour des raisons de lisibilité, mais l’opération nécessite que les paramètres soient soumis sous forme de chaînes sur une seule ligne.

aws verifiedpermissions put-schema --fichier de définition : //schema.txt -- policy-store-id PSEXAMPLEabcdefg111111

Contenu de schema.txt :

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

Sortie :

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

Pour plus d’informations sur le schéma, consultez Policy store schema dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous PutSchemaà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-identity-source.

AWS CLI

Pour mettre à jour une source d’identité

L’exemple update-identity-source suivant modifie la source d’identité spécifiée en fournissant une nouvelle configuration pour le groupe d’utilisateurs Cognito et en modifiant le type d’entité renvoyé par la source d’identité.

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

Contenu de config.txt :

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

Sortie :

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

Pour plus d’informations, consultez Using Amazon Verified Permissions with identity providers dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous UpdateIdentitySourceà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-policy-store.

AWS CLI

Pour mettre à jour un entrepôt de politiques

L’exemple update-policy-store suivant modifie un entrepôt de politiques en modifiant son paramètre de validation.

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

Sortie :

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

Pour plus d’informations, consultez Amazon Verified Permissions policy stores dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous UpdatePolicyStoreà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-policy-template.

AWS CLI

Exemple 1 : pour mettre à jour un modèle de politique

L’exemple update-policy-template suivant modifie la politique liée à un modèle spécifiée pour remplacer son instruction.

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

Contenu du fichier template1.txt :

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

Sortie :

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

Pour plus d’informations, consultez Amazon Verified Permissions policy templates dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous UpdatePolicyTemplateà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-policy.

AWS CLI

Pour mettre à jour une politique statique

L’exemple update-policy suivant modifie une politique statique existante en mettant à jour sa description et son instruction.

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

Le paramètre statement prend la forme d’une chaîne d’objet JSON. Il contient des guillemets intégrés (") dans la paire de guillemets la plus externe. Pour ce faire, vous devez convertir le JSON en chaîne en faisant précéder tous les guillemets intégrés d’une barre oblique inverse (") et en combinant toutes les lignes en une seule ligne de texte sans sauts de ligne.

Vous pouvez afficher les exemples de chaînes sur plusieurs lignes pour des raisons de lisibilité, mais l’opération nécessite que les paramètres soient soumis sous forme de chaînes sur une seule ligne.

Contenu du fichier 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\" );" } }

Sortie :

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

Pour plus d’informations, consultez Amazon Verified Permissions policies dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l'API, reportez-vous UpdatePolicyà la section Référence des AWS CLI commandes.