Exemples d’utilisation de l’AWS CLI avec Verified Permissions - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec Verified Permissions

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec Verified Permissions.

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 utiliser create-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, consultez CreateIdentitySource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-policy-store.

AWS CLI

Pour créer un entrepôt de politiques

L’exemple create-policy-store suivant crée un entrepôt de politiques dans la région AWS en cours.

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, consultez CreatePolicyStore dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-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 Modèles de politique d’Amazon Verified Permissions dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l’API, consultez CreatePolicyTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-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 Politiques Amazon Verified Permissions dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l’API, consultez CreatePolicy dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteIdentitySource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeletePolicyStore dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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 Modèles de politique d’Amazon Verified Permissions dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l’API, consultez DeletePolicyTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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 Politiques Amazon Verified Permissions dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l’API, consultez DeletePolicy dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-identity-source.

AWS CLI

Pour récupérer 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, consultez GetIdentitySource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-policy-store.

AWS CLI

Pour récupérer les 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, consultez GetPolicyStore dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-policy-template.

AWS CLI

Pour récupérer les informations sur 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 Modèles de politique d’Amazon Verified Permissions dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l’API, consultez GetPolicyTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-policy.

AWS CLI

Pour récupérer les informations sur 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 Politiques Amazon Verified Permissions dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l’API, consultez GetPolicy dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-schema.

AWS CLI

Pour récupérer 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, consultez GetSchema dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser is-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’identifiant 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, consultez IsAuthorizedWithToken dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser is-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 estUser::"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, consultez IsAuthorized dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-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, consultez ListIdentitySources dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-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 Politiques Amazon Verified Permissions dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l’API, consultez ListPolicies dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-policy-stores.

AWS CLI

Pour répertorier les entrepôts de politiques disponibles

L’exemple list-policy-stores suivant répertorie tous les entrepôts de politiques d’une région AWS. 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, consultez ListPolicyStores dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-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 Modèles de politique d’Amazon Verified Permissions dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l’API, consultez ListPolicyTemplates dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-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 --definition file://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, consultez PutSchema dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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, consultez UpdateIdentitySource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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, consultez UpdatePolicyStore dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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 Modèles de politique d’Amazon Verified Permissions dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l’API, consultez UpdatePolicyTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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 Politiques Amazon Verified Permissions dans le Guide de l’utilisateur Amazon Verified Permissions.

  • Pour plus de détails sur l’API, consultez UpdatePolicy dans la Référence des commandes de l’AWS CLI.