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. Les actions vous indiquent comment appeler des fonctions de service individuelles, mais vous pouvez les visualiser dans leur contexte dans les scénarios correspondants.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le 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'create-identity-sourceexemple 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 les autorisations vérifiées en tant qu'entités de typeUser.

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 sur les sources d'identité, consultez la section Utilisation des autorisations vérifiées par Amazon auprès des fournisseurs d'identité dans le guide de l'utilisateur Amazon Verified Permissions.

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

AWS CLI

Pour créer un magasin 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 sur les boutiques politiques, consultez les boutiques Amazon Verified Permissions Policy dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir CreatePolicyStorela section Référence des AWS CLI commandes.

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

AWS CLI

Exemple 1 : pour créer un modèle de politique

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

aws verifiedpermissions create-policy-template \ --definition 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 sur les modèles de politiques, consultez les modèles de politiques Amazon Verified Permissions dans le guide de l'utilisateur Amazon Verified Permissions.

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

AWS CLI

Exemple 1 : pour créer une politique statique

L'create-policyexemple suivant crée une politique statique dont le champ d'application 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 : créer une politique statique qui accorde l'accès à une ressource à tout le monde

L'create-policyexemple 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 à un modèle associée au modèle spécifié

L'create-policyexemple suivant crée une politique liée à un modèle à l'aide du modèle de stratégie 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 sur les politiques, consultez les politiques d'Amazon Verified Permissions dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir CreatePolicyla 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'delete-identity-sourceexemple suivant supprime la source d'identité qui possède l'identifiant spécifié.

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

Cette commande ne produit aucun résultat.

Pour plus d'informations sur les sources d'identité, consultez la section Utilisation des autorisations vérifiées par Amazon auprès des fournisseurs d'identité dans le guide de l'utilisateur Amazon Verified Permissions.

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

AWS CLI

Pour supprimer un magasin de politiques

L'delete-policy-storeexemple suivant supprime le magasin de politiques qui possède l'ID spécifié.

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

Cette commande ne produit aucun résultat.

Pour plus d'informations sur les boutiques politiques, consultez les boutiques Amazon Verified Permissions Policy dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir DeletePolicyStorela 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'delete-policy-templateexemple suivant supprime le modèle de politique dont l'identifiant est spécifié.

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

Cette commande ne produit aucun résultat.

Pour plus d'informations sur les modèles de politiques, consultez les modèles de politiques Amazon Verified Permissions dans le guide de l'utilisateur Amazon Verified Permissions.

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

AWS CLI

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

L'delete-policyexemple suivant supprime la politique dont l'identifiant est spécifié.

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

Cette commande ne produit aucun résultat.

Pour plus d'informations sur les politiques, consultez les politiques d'Amazon Verified Permissions dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir DeletePolicyla section Référence des AWS CLI commandes.

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

AWS CLI

Pour récupérer les informations relatives à une source d'identité

L'get-identity-sourceexemple suivant affiche les détails de la source d'identité avec 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 sur les sources d'identité, consultez la section Utilisation des autorisations vérifiées par Amazon auprès des fournisseurs d'identité dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir GetIdentitySourcela section Référence des AWS CLI commandes.

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

AWS CLI

Pour récupérer les informations relatives à un magasin de politiques

L'get-policy-storeexemple suivant affiche les détails du magasin de politiques avec 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 sur les boutiques politiques, consultez les boutiques Amazon Verified Permissions Policy dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir GetPolicyStorela section Référence des AWS CLI commandes.

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

AWS CLI

Pour récupérer les informations relatives à un modèle de politique

L'get-policy-templateexemple suivant affiche les détails du modèle de politique avec 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 sur les modèles de politiques, consultez les modèles de politiques Amazon Verified Permissions dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir GetPolicyTemplatela section Référence des AWS CLI commandes.

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

AWS CLI

Pour récupérer les informations relatives à une politique

L'get-policyexemple suivant affiche les détails de la politique avec 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 sur les politiques, consultez les politiques d'Amazon Verified Permissions dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir GetPolicyla section Référence des AWS CLI commandes.

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

AWS CLI

Pour récupérer le schéma dans un magasin de politiques

L'get-schemaexemple suivant affiche les détails du schéma dans le magasin 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 le schéma du magasin Policy dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir GetSchemala 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'is-authorized-with-tokenexemple 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 typeCognitoUser.

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"

Le magasin de politiques contient une politique avec l'instruction suivante qui accepte les identités provenant du groupe d'utilisateurs et de l'identifiant d'application Cognito 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 des identités issues d'un groupe d'utilisateurs de Cognito, consultez la section Utilisation des autorisations vérifiées par Amazon avec les fournisseurs d'identité dans le guide de l'utilisateur Amazon Verified Permissions.

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'is-authorizedexemple suivant demande une décision d'autorisation pour un principal de type User namedAlice, qui souhaite effectuer l'updatePhotoopération, sur une ressource de type Photo nommé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 estUser::"Bob". Le magasin de politiques ne contient aucune politique autorisant cet utilisateur à accéder àAlbum::"alice_folder".

La sortie indique que c'Denyétait implicite car la liste des 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 API plus de détails, voir IsAuthorizedla 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'list-identity-sourcesexemple suivant répertorie toutes les sources d'identité du magasin 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 sur les sources d'identité, consultez la section Utilisation des autorisations vérifiées par Amazon auprès des fournisseurs d'identité dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir ListIdentitySourcesla 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'list-policiesexemple suivant répertorie toutes les politiques du magasin 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 sur les politiques, consultez les politiques d'Amazon Verified Permissions dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir ListPoliciesla section Référence des AWS CLI commandes.

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

AWS CLI

Pour répertorier les magasins de politiques disponibles

L'list-policy-storesexemple suivant répertorie tous les magasins de politiques de la AWS région. Toutes les commandes relatives aux autorisations vérifiées, à l'exception create-policy-store de celles qui list-policy-stores nécessitent que vous spécifiiez l'ID du magasin 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 sur les boutiques politiques, consultez les boutiques Amazon Verified Permissions Policy dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir ListPolicyStoresla 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 politiques disponibles

L'list-policy-templatesexemple suivant répertorie tous les modèles de politiques du magasin 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 sur les modèles de politiques, consultez les modèles de politiques Amazon Verified Permissions dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir ListPolicyTemplatesla section Référence des AWS CLI commandes.

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

AWS CLI

Pour enregistrer un schéma dans un magasin de politiques

L'put-schemaexemple suivant crée ou remplace le schéma dans le magasin de politiques spécifié.

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

Des 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 d'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 le schéma du magasin Policy dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir PutSchemala 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'update-identity-sourceexemple suivant modifie la source d'identité spécifiée en fournissant une nouvelle configuration du 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 sur les sources d'identité, consultez la section Utilisation des autorisations vérifiées par Amazon auprès des fournisseurs d'identité dans le guide de l'utilisateur Amazon Verified Permissions.

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

AWS CLI

Pour mettre à jour un magasin de politiques

L'update-policy-storeexemple suivant modifie un magasin 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 sur les boutiques politiques, consultez les boutiques Amazon Verified Permissions Policy dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir UpdatePolicyStorela 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'update-policy-templateexemple suivant modifie la politique liée au modèle spécifiée pour remplacer sa déclaration de politique.

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 sur les modèles de politiques, consultez les modèles de politiques Amazon Verified Permissions dans le guide de l'utilisateur Amazon Verified Permissions.

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

AWS CLI

Exemple 1 : pour créer une politique statique

L'create-policyexemple suivant crée une politique statique dont le champ d'application spécifie à la fois un principal et une ressource.

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

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

Des 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 d'une seule ligne.

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

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 : créer une politique statique qui accorde l'accès à une ressource à tout le monde

L'create-policyexemple 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 à un modèle associée au modèle spécifié

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

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

Contenu du fichier definition3.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 sur les politiques, consultez les politiques d'Amazon Verified Permissions dans le guide de l'utilisateur Amazon Verified Permissions.

  • Pour API plus de détails, voir UpdatePolicyla section Référence des AWS CLI commandes.