

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.

# Tester votre modèle d'autorisation
<a name="authorization-testing"></a>

Pour comprendre l'effet de la décision d'autorisation Amazon Verified Permissions lorsque vous déployez votre application, vous pouvez évaluer vos politiques au fur [Utilisation du banc de test Amazon Verified Permissions](test-bench.md) et à mesure que vous les développez à l'aide des demandes d'API REST HTTPS adressées à Verified Permissions. Le banc de test est un outil permettant d' AWS Management Console évaluer les demandes d'autorisation et les réponses dans votre magasin de politiques.

L'API REST Verified Permissions est la prochaine étape de votre développement alors que vous passez de la compréhension conceptuelle à la conception d'applications. L'API Verified Permissions accepte les demandes d'autorisation avec [IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html)et [BatchIsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_BatchIsAuthorized.html)sous forme de [demandes d' AWS API signées adressées](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html) aux [points de terminaison des services](https://docs.aws.amazon.com/general/latest/gr/verifiedpermissions.html) régionaux. [IsAuthorizedWithToken](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html) Pour tester votre modèle d'autorisation, vous pouvez générer des demandes auprès de n'importe quel client d'API et vérifier que vos politiques renvoient les décisions d'autorisation comme prévu.

Par exemple, vous pouvez effectuer un test `IsAuthorized` dans un exemple de magasin de politiques en suivant la procédure suivante.

------
#### [ Test bench ]

1. Ouvrez la console Permissions vérifiées dans la [console Permissions vérifiées](https://console.aws.amazon.com/verifiedpermissions/). Créez un magasin de politiques à partir du **magasin de politiques Sample** avec le nom **DigitalPetStore**.

1. Sélectionnez **Test bench** dans votre nouveau magasin de polices.

1. Remplissez votre demande de banc de test [IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples)dans la référence de l'API Verified Permissions. Les détails suivants reproduisent les conditions de l'**exemple 4** qui fait référence à l'**DigitalPetStore**échantillon.

   1. Définissez Alice comme directrice. Pour que **le principal passe à l'action**, choisissez `DigitalPetStore::User` et entrez`Alice`.

   1. Définissez le rôle d'Alice en tant que cliente. Choisissez **Ajouter un parent**`DigitalPetStore::Role`, puis saisissez Client.

   1. Définissez la ressource dans l'ordre « 1234 ». Pour la **ressource sur laquelle le principal agit**, choisissez `DigitalPetStore::Order` et entrez`1234`.

   1. La `DigitalPetStore::Order` ressource nécessite un `owner` attribut. Définissez Alice comme propriétaire de la commande. Choisissez `DigitalPetStore::User` et entrez `Alice`

   1. Alice a demandé à voir la commande. Dans la **zone Action entreprise par le principal**, sélectionnez`DigitalPetStore::Action::"GetOrder"`.

1. Choisissez **Exécuter la demande d'autorisation**. Dans un magasin de politiques non modifié, cette demande aboutit à une `ALLOW` décision. Notez la **politique Satisfied** qui a renvoyé la décision.

1. Choisissez **Politiques** dans la barre de navigation de gauche. Passez en revue la politique statique avec la description **Rôle du client - Obtenir une commande**.

1. Notez que Verified Permissions a autorisé la demande parce que le principal occupait un rôle de client et était le propriétaire de la ressource.

------
#### [ REST API ]

1. Ouvrez la console Permissions vérifiées dans la [console Permissions vérifiées](https://console.aws.amazon.com/verifiedpermissions/). Créez un magasin de politiques à partir du **magasin de politiques Sample** avec le nom **DigitalPetStore**.

1. Notez l'**ID du magasin Policy** de votre nouveau Policy Store.

1. [IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples)Dans la référence de l'API Verified Permissions, copiez le corps de la demande de l'**exemple 4** qui fait référence à l'**DigitalPetStore**exemple.

1. Ouvrez votre client API et créez une demande auprès du point de terminaison du service régional pour votre magasin de politiques. [Remplissez les en-têtes comme indiqué dans l'exemple.](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples)

1. Collez le corps de la demande d'exemple et remplacez la valeur de par `policyStoreId` l'ID du magasin de politiques que vous avez indiqué précédemment.

1. Soumettez la demande et examinez les résultats. Dans un magasin **DigitalPetStore**de politiques par défaut, cette demande renvoie une `ALLOW` décision.

------

Vous pouvez modifier les politiques, le schéma et les demandes dans votre environnement de test afin de modifier les résultats et de prendre des décisions plus complexes.

1. Modifiez la demande de manière à modifier la décision prise à partir des autorisations vérifiées. Par exemple, remplacez le rôle d'Alice par `Employee` ou modifiez l'`owner`attribut de l'ordre 1234 par`Bob`.

1. Modifiez les politiques de manière à affecter les décisions d'autorisation. Par exemple, modifiez la politique avec la description **Rôle du client - Obtenir la commande** pour supprimer la condition selon laquelle `User` il doit être le propriétaire du `Resource` et modifiez la demande afin que `Bob` celui-ci souhaite consulter la commande.

1. Modifiez le schéma pour permettre aux politiques de prendre des décisions plus complexes. Mettez à jour les entités de demande afin qu'Alice puisse satisfaire aux nouvelles exigences. Par exemple, modifiez le schéma pour autoriser `User` à être membre de `ActiveUsers` ou`InactiveUsers`. Mettez à jour la politique afin que seuls les utilisateurs actifs puissent consulter leurs propres commandes. Mettez à jour les entités de demande afin qu'Alice soit une utilisateur active ou inactive.