Contrôle de l’accès sur la base des attributs d’une identité avec Verified Permissions
Utilisez Amazon Verified Permissions pour contrôler l’accès à votre API API Gateway. Lorsque vous utilisez API Gateway avec Verified Permissions, Verified Permissions crée un mécanisme d’autorisation Lambda qui utilise des décisions d’autorisation précises pour contrôler l’accès à votre API. Verified Permissions autorise les appelants sur la base d’un schéma d’entrepôt de politiques et de politiques utilisant le langage de politique Cedar pour définir des autorisations précises pour les utilisateurs de l’application. Pour plus d’informations, consultez Create a policy store with a connected API and identity provider dans le Guide de l’utilisateur Amazon Verified Permissions.
Verified Permissions prend en charge les groupes d’utilisateurs Amazon Cognito ou les fournisseurs d’identité OpenID Connect (OIDC) comme sources d’identité. Verified Permissions présume que le principal a déjà été identifié et authentifié. Verified Permissions n’est pris en charge que pour les API REST régionales et optimisées pour la périphérie.
Création d’un mécanisme d’autorisation Lambda à l’aide de Verified Permissions
Verified Permissions crée un mécanisme d’autorisation Lambda pour déterminer si un principal est autorisé à effectuer une action sur votre API. Vous allez créer la politique Cedar que Verified Permissions utilisera pour effectuer ses tâches d’autorisation.
Voici un exemple de politique Cedar qui autorise l’invocation d’une API sur la base du groupe d’utilisateurs Amazon Cognito us-east-1_ABC1234 pour le groupe developer sur la ressource GET /users d’une API. Verified Permissions détermine l’appartenance du groupe en recherchant l’identité de l’appelant dans le jeton de porteur.
permit( principal in MyAPI::UserGroup::"us-east-1_ABC1234|developer", action in [ MyAPI::Action::"get /users" ], resource );
Verified Permissions peut éventuellement attacher le mécanisme d’autorisation aux méthodes de votre API. Pour les étapes de production de votre API, nous vous recommandons de ne pas autoriser Verified Permissions à attacher le mécanisme d’autorisation à votre place.
La liste suivante indique comment configurer Verified Permissions pour qu’il attache ou non le mécanisme d’autorisation Lambda à la demande de méthode envoyée à votre API.
- Verified Permissions attache le mécanisme d’autorisation pour vous (AWS Management Console)
-
Lorsque vous choisissez Créer un entrepôt de politiques dans la console Verified Permissions, sur la page Déployer l’intégration d’application, sélectionnez Maintenant.
- Verified Permissions n’attache pas le mécanisme d’autorisation pour vous (AWS Management Console)
-
Lorsque vous choisissez Créer un entrepôt de politiques dans la console Verified Permissions, sur la page Déployer l’intégration d’application, sélectionnez Plus tard.
Verified Permissions crée tout de même un mécanisme d’autorisation Lambda pour vous. Le mécanisme d’autorisation Lambda commence par
AVPAuthorizerLambda-. Pour apprendre à attacher votre mécanisme d’autorisation à une méthode, consultez Configuration d’une méthode pour utiliser un mécanisme d’autorisation Lambda (console). - Verified Permissions attache le mécanisme d’autorisation pour vous (AWS CloudFormation)
-
Dans le modèle AWS CloudFormation généré par Verified Permissions, dans la section
Conditions, définissez"Ref": "shouldAttachAuthorizer"surtrue. - Verified Permissions n’attache pas le mécanisme d’autorisation pour vous (AWS CloudFormation)
-
Dans le modèle AWS CloudFormation généré par Verified Permissions, dans la section
Conditions, définissez"Ref": "shouldAttachAuthorizer"surfalse.Verified Permissions crée tout de même un mécanisme d’autorisation Lambda pour vous. Le mécanisme d’autorisation Lambda commence par
AVPAuthorizerLambda-. Pour apprendre à attacher votre mécanisme d’autorisation à une méthode, consultez Configuration d’une méthode pour utiliser un mécanisme d’autorisation Lambda (AWS CLI).
Appel d’un mécanisme d’autorisation Lambda à l’aide de Verified Permissions
Vous pouvez appeler votre mécanisme d’autorisation Lambda en fournissant une identité ou un jeton d’accès dans l’en-tête Authorization. Pour plus d’informations, consultez Appel d’une API avec un mécanisme d’autorisation Lambda API Gateway.
API Gateway met en cache la politique renvoyée par votre mécanisme d’autorisation Lambda pendant 120 secondes. Vous pouvez modifier la TTL dans la console API Gateway ou à l’aide de l’AWS CLI.