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.
Contrôlez l'accès aux services VPC Lattice à l'aide de politiques d'authentification
Les politiques d'authentification VPC Lattice sont des documents de stratégie IAM que vous attachez à des réseaux de services ou à des services pour contrôler si un principal spécifié a accès à un groupe de services ou à un service spécifique. Vous pouvez associer une politique d’authentification à chaque réseau de services ou à chaque service dont vous souhaitez contrôler l’accès.
Note
La politique d'authentification du réseau de service ne s'applique pas aux configurations de ressources du réseau de service.
Les politiques d'authentification sont différentes des politiques basées sur l'identité IAM. Les politiques basées sur l'identité IAM sont associées aux utilisateurs, groupes ou rôles IAM et définissent les actions que ces identités peuvent effectuer sur quelles ressources. Les politiques d'authentification sont associées aux services et aux réseaux de services. Pour que l'autorisation réussisse, les politiques d'authentification et les politiques basées sur l'identité doivent comporter des instructions d'autorisation explicites. Pour de plus amples informations, veuillez consulter Comment fonctionne l'autorisation.
Vous pouvez utiliser la console AWS CLI et pour afficher, ajouter, mettre à jour ou supprimer des politiques d'authentification sur les services et les réseaux de services. Lorsque vous ajoutez, mettez à jour ou supprimez une politique d'authentification, celle-ci peut prendre quelques minutes pour être prête. Lorsque vous utilisez le AWS CLI, assurez-vous que vous vous trouvez dans la bonne région. Vous pouvez soit modifier la région par défaut de votre profil, soit utiliser le --region paramètre avec la commande.
Pour commencer à utiliser les politiques d'authentification, suivez la procédure de création d'une politique d'authentification qui s'applique à un réseau de service. Pour des autorisations plus restrictives que vous ne souhaitez pas appliquer à d'autres services, vous pouvez éventuellement définir des politiques d'authentification pour des services individuels.
Les AWS CLI tâches suivantes vous montrent comment gérer l'accès à un réseau de service à l'aide de politiques d'authentification. Pour obtenir des instructions relatives à l'utilisation de la console, consultezRéseaux de service en VPC Lattice.
Tâches
Ajouter une politique d'authentification à un réseau de service
Suivez les étapes de cette section pour les utiliser AWS CLI pour :
-
Activez le contrôle d'accès sur un réseau de service à l'aide d'IAM.
-
Ajoutez une politique d'authentification au réseau de service. Si vous n'ajoutez pas de politique d'authentification, tout le trafic recevra une erreur d'accès refusé.
Pour activer le contrôle d'accès et ajouter une politique d'authentification à un nouveau réseau de service
-
Pour activer le contrôle d'accès sur un réseau de service afin qu'il puisse utiliser une politique d'authentification, utilisez la create-service-network commande avec l'
--auth-typeoption et une valeur deAWS_IAM.aws vpc-lattice create-service-network --nameName--auth-type AWS_IAM [--tagsTagSpecification]Si elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "arn": "arn", "authType": "AWS_IAM", "id": "sn-0123456789abcdef0", "name": "Name" } -
Utilisez la put-auth-policy commande en spécifiant l'ID du réseau de service auquel vous souhaitez ajouter la politique d'authentification et la politique d'authentification que vous souhaitez ajouter.
Par exemple, utilisez la commande suivante pour créer une politique d'authentification pour le réseau de service avec l'ID
.sn-0123456789abcdef0aws vpc-lattice put-auth-policy --resource-identifiersn-0123456789abcdef0--policyfile://policy.jsonUtilisez JSON pour créer une définition de politique. Pour de plus amples informations, veuillez consulter Éléments communs d'une politique d'authentification.
Si elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "policy": "policy", "state": "Active" }
Pour activer le contrôle d'accès et ajouter une politique d'authentification à un réseau de service existant
-
Pour activer le contrôle d'accès sur un réseau de service afin qu'il puisse utiliser une politique d'authentification, utilisez la update-service-network commande avec l'
--auth-typeoption et une valeur deAWS_IAM.aws vpc-lattice update-service-network --service-network-identifiersn-0123456789abcdef0--auth-type AWS_IAMSi elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "arn": "arn", "authType": "AWS_IAM", "id": "sn-0123456789abcdef0", "name": "Name" } -
Utilisez la put-auth-policy commande en spécifiant l'ID du réseau de service auquel vous souhaitez ajouter la politique d'authentification et la politique d'authentification que vous souhaitez ajouter.
aws vpc-lattice put-auth-policy --resource-identifiersn-0123456789abcdef0--policyfile://policy.jsonUtilisez JSON pour créer une définition de politique. Pour de plus amples informations, veuillez consulter Éléments communs d'une politique d'authentification.
Si elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "policy": "policy", "state": "Active" }
Modifier le type d'authentification d'un réseau de services
Pour désactiver la politique d'authentification pour un réseau de service
Utilisez la update-service-network commande avec l'--auth-typeoption et une valeur deNONE.
aws vpc-lattice update-service-network --service-network-identifiersn-0123456789abcdef0--auth-type NONE
Si vous devez réactiver la politique d'authentification ultérieurement, exécutez cette commande en AWS_IAM spécifiant l'--auth-typeoption.
Supprimer une politique d'authentification d'un réseau de service
Pour supprimer une politique d'authentification d'un réseau de service
Utilisez la commande delete-auth-policy.
aws vpc-lattice delete-auth-policy --resource-identifiersn-0123456789abcdef0
La demande échoue si vous supprimez une politique d'authentification avant de changer le type d'authentification d'un réseau de service en. NONE
Les AWS CLI tâches suivantes vous montrent comment gérer l'accès à un service à l'aide de politiques d'authentification. Pour obtenir des instructions relatives à l'utilisation de la console, consultezServices en VPC Lattice.
Tâches
Ajouter une politique d'authentification à un service
Suivez ces étapes pour les utiliser AWS CLI pour :
-
Activez le contrôle d'accès à un service à l'aide d'IAM.
-
Ajoutez une politique d'authentification au service. Si vous n'ajoutez pas de politique d'authentification, tout le trafic recevra une erreur d'accès refusé.
Pour activer le contrôle d'accès et ajouter une politique d'authentification à un nouveau service
-
Pour activer le contrôle d'accès sur un service afin qu'il puisse utiliser une politique d'authentification, utilisez la create-service commande avec l'
--auth-typeoption et une valeur deAWS_IAM.aws vpc-lattice create-service --nameName--auth-type AWS_IAM [--tagsTagSpecification]Si elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "arn": "arn", "authType": "AWS_IAM", "dnsEntry": { ... }, "id": "svc-0123456789abcdef0", "name": "Name", "status": "CREATE_IN_PROGRESS" } -
Utilisez la put-auth-policy commande en spécifiant l'ID du service auquel vous souhaitez ajouter la politique d'authentification et la politique d'authentification que vous souhaitez ajouter.
Par exemple, utilisez la commande suivante pour créer une politique d'authentification pour le service avec l'ID
svc-0123456789abcdef0.aws vpc-lattice put-auth-policy --resource-identifiersvc-0123456789abcdef0--policyfile://policy.jsonUtilisez JSON pour créer une définition de politique. Pour de plus amples informations, veuillez consulter Éléments communs d'une politique d'authentification.
Si elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "policy": "policy", "state": "Active" }
Pour activer le contrôle d'accès et ajouter une politique d'authentification à un service existant
-
Pour activer le contrôle d'accès sur un service afin qu'il puisse utiliser une politique d'authentification, utilisez la update-service commande avec l'
--auth-typeoption et une valeur deAWS_IAM.aws vpc-lattice update-service --service-identifiersvc-0123456789abcdef0--auth-type AWS_IAMSi elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "arn": "arn", "authType": "AWS_IAM", "id": "svc-0123456789abcdef0", "name": "Name" } -
Utilisez la put-auth-policy commande en spécifiant l'ID du service auquel vous souhaitez ajouter la politique d'authentification et la politique d'authentification que vous souhaitez ajouter.
aws vpc-lattice put-auth-policy --resource-identifiersvc-0123456789abcdef0--policyfile://policy.jsonUtilisez JSON pour créer une définition de politique. Pour de plus amples informations, veuillez consulter Éléments communs d'une politique d'authentification.
Si elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "policy": "policy", "state": "Active" }
Modifier le type d'authentification d'un service
Pour désactiver la politique d'authentification pour un service
Utilisez la update-service commande avec l'--auth-typeoption et une valeur deNONE.
aws vpc-lattice update-service --service-identifiersvc-0123456789abcdef0--auth-type NONE
Si vous devez réactiver la politique d'authentification ultérieurement, exécutez cette commande en AWS_IAM spécifiant l'--auth-typeoption.
Supprimer une politique d'authentification d'un service
Pour supprimer une politique d'authentification d'un service
Utilisez la commande delete-auth-policy.
aws vpc-lattice delete-auth-policy --resource-identifiersvc-0123456789abcdef0
La demande échoue si vous supprimez une politique d'authentification avant de modifier le type d'authentification du service en. NONE
Si vous activez des politiques d'authentification qui nécessitent des demandes authentifiées adressées à un service, toutes les demandes adressées à ce service doivent contenir une signature de demande valide calculée à l'aide de Signature Version 4 (Sigv4). Pour de plus amples informations, veuillez consulter Requêtes authentifiées Sigv4 pour Amazon VPC Lattice.
Éléments communs d'une politique d'authentification
Les politiques d'authentification VPC Lattice sont spécifiées à l'aide de la même syntaxe que les politiques IAM. Pour plus d'informations, consultez Identity-based les politiques et les politiques basées sur les ressources dans le Guide de l'utilisateur IAM.
Une politique d'authentification contient les éléments suivants :
-
Principal : personne ou application autorisée à accéder aux actions et aux ressources figurant dans le relevé. Dans une politique d'authentification, le principal est l'entité IAM qui reçoit cette autorisation. Le principal est authentifié en tant qu'entité IAM pour adresser des demandes à une ressource spécifique ou à un groupe de ressources, comme dans le cas des services d'un réseau de services.
Vous devez spécifier un principal dans une politique basée sur les ressources. Les principaux peuvent inclure des comptes, des utilisateurs, des rôles, des utilisateurs fédérés ou AWS des services. Pour plus d'informations, consultez la section Éléments de politique AWS JSON : Principal dans le guide de l'utilisateur IAM.
-
Effet : effet lorsque le principal spécifié demande l'action spécifique. Il peut correspondre à
AllowouDeny. Par défaut, lorsque vous activez le contrôle d'accès sur un service ou un réseau de services à l'aide d'IAM, les mandants ne sont pas autorisés à adresser des demandes au service ou au réseau de services. -
Actions : action d'API spécifique pour laquelle vous accordez ou refusez l'autorisation. VPC Lattice prend en charge les actions qui utilisent le
vpc-lattice-svcspréfixe. Pour plus d'informations, consultez la section Actions définies par Amazon VPC Lattice Services dans la référence d'autorisation des services. -
Ressources : services concernés par l'action.
-
Condition — Les conditions sont facultatives. Vous pouvez les utiliser pour contrôler la date d'entrée en vigueur de votre politique. Pour plus d'informations, consultez la section Clés de condition pour Amazon VPC Lattice Services dans la référence d'autorisation des services.
Lorsque vous créez et gérez des politiques d'authentification, vous souhaiterez peut-être utiliser le générateur de politiques IAM.
Exigence
La politique au format JSON ne doit pas contenir de nouvelles lignes ni de lignes vides.
Format de ressource pour les politiques d'authentification
Vous pouvez restreindre l'accès à des ressources spécifiques en créant une politique d'authentification qui utilise un schéma correspondant avec un <serviceARN>/<path> modèle et codant l'Resourceélément comme indiqué dans les exemples suivants.
| Protocole | Exemples |
|---|---|
| HTTP |
|
| gRPC |
|
Utilisez le format de ressource Amazon Resource Name (ARN) suivant pour <serviceARN> :
arn:aws:vpc-lattice:region:account-id:service/service-id
Par exemple :
"Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0"
Clés de condition pouvant être utilisées dans les politiques d'authentification
L'accès peut être davantage contrôlé par des clés de condition dans l'élément Condition des politiques d'authentification. Ces clés de condition sont présentes pour évaluation selon le protocole et selon que la demande est signée avec Signature Version 4 (Sigv4) ou anonyme. Les clés de condition sont sensibles à la casse.
AWS fournit des clés de condition globales que vous pouvez utiliser pour contrôler l'accès, telles que aws:PrincipalOrgID etaws:SourceIp. Pour consulter la liste des clés de condition AWS globales, consultez la section Clés contextuelles de conditions AWS globales dans le guide de l'utilisateur IAM.
Le tableau suivant répertorie les clés de condition VPC Lattice. Pour plus d'informations, consultez la section Clés de condition pour Amazon VPC Lattice Services dans la référence d'autorisation des services.
| Clés de condition | Description | Exemple | Disponible pour les appelants anonymes (non authentifiés) ? | Disponible pour gRPC ? |
|---|---|---|---|---|
vpc-lattice-svcs:Port |
Filtre l'accès par le port de service auquel la demande est faite | 80 | Oui | Oui |
vpc-lattice-svcs:RequestMethod |
Filtre l'accès en fonction de la méthode de la requête | GET | Oui | Publiez toujours |
vpc-lattice-svcs:RequestPath |
Filtre l'accès en fonction de la partie chemin de l'URL de la demande | /path | Oui | Oui |
vpc-lattice-svcs:RequestHeader/ |
Filtre l'accès en fonction d'une paire nom-valeur dans les en-têtes de la demande | content-type: application/json | Oui | Oui |
vpc-lattice-svcs:RequestQueryString/ |
Filtre l'accès en fonction des paires clé-valeur de la chaîne de requête dans l'URL de la demande | quux: [corge, grault] | Oui | Non |
vpc-lattice-svcs:ServiceNetworkArn |
Filtre l'accès par l'ARN au réseau de service du service qui reçoit la demande | arn:aws:vpc-lattice:us-west-2:123456789012:servicenetwork/sn-0123456789abcdef0 | Oui | Oui |
vpc-lattice-svcs:ServiceArn |
Filtre l'accès par l'ARN du service qui reçoit la demande | arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0 | Oui | Oui |
vpc-lattice-svcs:SourceVpc |
Filtre l'accès en fonction du VPC d'où provient la requête | vpc-1a2b3c4d | Oui | Oui |
vpc-lattice-svcs:SourceVpcOwnerAccount |
Filtre l'accès en fonction du compte propriétaire du VPC d'où provient la requête | 123456789012 | Oui | Oui |
Balises de ressources
Une balise est une étiquette de métadonnées que vous attribuez ou que vous AWS attribuez à une AWS ressource. Chaque balise se compose de deux parties :
-
Une clé de balise (par exemple,
CostCenter,EnvironmentouProject). Les clés de balises sont sensibles à la casse. -
Un champ facultatif appelé valeur de balise (par exemple,
111122223333ouProduction). Si la valeur de balise est identique à l’utilisation d’une chaîne vide. Tout comme les clés de balises, les valeurs de balises sont sensibles à la casse.
Pour plus d'informations sur le balisage, voir Contrôler l'accès aux AWS ressources à l'aide de balises
Vous pouvez utiliser des balises dans vos politiques d'authentification à l'aide de la clé contextuelle de condition aws:ResourceTag/key AWS globale.
L'exemple de politique suivant autorise l'accès aux services dotés de la baliseEnvironment=Gamma. Cette politique vous permet de faire référence à des services sans coder en dur les ARN ou les ID de service.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGammaAccess", "Effect": "Allow", "Principal": "*", "Action": "vpc-lattice-svcs:Invoke", "Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0124446789abcdef0/*", "Condition": { "StringEquals": { "aws:ResourceTag/Environment": "Gamma", } } } ] }
Tags principaux
Vous pouvez contrôler l'accès à vos services et ressources en fonction des balises associées à l'identité de l'appelant. VPC Lattice prend en charge le contrôle d'accès sur la base de toutes les balises principales de l'utilisateur, du rôle ou des balises de session utilisant les aws:PrincipalTag/context variables. Pour plus d'informations, consultez la section Contrôle de l'accès pour les principaux administrateurs IAM.
L'exemple de politique suivant n'autorise l'accès qu'aux identités dotées de la baliseTeam=Payments. Cette politique vous permet de contrôler l'accès sans coder en dur les ID de compte ou les ARN de rôle.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPaymentsTeam", "Effect": "Allow", "Principal": "*", "Action": "vpc-lattice-svcs:Invoke", "Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0/*", "Condition": { "StringEquals": { "aws:PrincipalTag/Team": "Payments", } } } ] }
Responsables anonymes (non authentifiés)
Les principaux anonymes sont des appelants qui ne signent pas leurs AWS demandes avec Signature Version 4 (Sigv4) et qui se trouvent dans un VPC connecté au réseau de service. Les mandants anonymes peuvent envoyer des demandes non authentifiées aux services du réseau de services si une politique d'authentification le permet.
Exemples de politiques d'authentification
Voici des exemples de politiques d'authentification qui exigent que les demandes soient effectuées par des mandants authentifiés.
Tous les exemples utilisent la us-west-2 région et contiennent des identifiants de compte fictifs.
Exemple 1 : Restreindre l'accès aux services par une personne spécifique AWS organization
L'exemple de politique d'authentification suivant accorde des autorisations à toute demande authentifiée pour accéder à tous les services du réseau de services auxquels la politique s'applique. Cependant, la demande doit provenir de mandants appartenant à l' AWS organisation spécifiée dans la condition.
Exemple 2 : Restreindre l'accès à un service par un rôle IAM spécifique
L'exemple de politique d'authentification suivant accorde des autorisations à toute demande authentifiée qui utilise le rôle IAM rates-client pour effectuer des requêtes HTTP GET sur le service spécifié dans l'élément. Resource La ressource contenue dans l'Resourceélément est la même que le service auquel la politique est attachée.
Exemple 3 : Restreindre l'accès aux services par des mandants authentifiés dans un VPC spécifique
L'exemple de politique d'authentification suivant n'autorise que les demandes authentifiées provenant des principaux du VPC dont l'ID de VPC est. vpc-1a2b3c4d
Comment fonctionne l'autorisation
Lorsqu'un service VPC Lattice reçoit une demande, le code d' AWS application évalue ensemble toutes les politiques d'autorisations pertinentes afin de déterminer s'il faut autoriser ou refuser la demande. Il évalue toutes les politiques IAM basées sur l'identité et les politiques d'authentification applicables dans le contexte de la demande lors de l'autorisation. Par défaut, toutes les demandes sont implicitement refusées lorsque le type d'authentification est. AWS_IAM Une autorisation explicite provenant de toutes les politiques pertinentes remplace la valeur par défaut.
L'autorisation inclut :
-
Collecte de toutes les politiques IAM basées sur l'identité et politiques d'authentification pertinentes.
-
Évaluation de l'ensemble de politiques qui en résulte :
-
Vérifier que le demandeur (tel qu'un utilisateur ou un rôle IAM) est autorisé à effectuer l'opération à partir du compte auquel appartient le demandeur. S'il n'y a pas de déclaration d'autorisation explicite, AWS n'autorise pas la demande.
-
Vérifier que la demande est autorisée par la politique d'authentification du réseau de service. Si une politique d'authentification est activée, mais qu'il n'existe aucune instruction d'autorisation explicite, AWS cela n'autorise pas la demande. S'il existe une instruction d'autorisation explicite ou si le type d'authentification l'est
NONE, le code continue. -
Vérifier que la demande est autorisée par la politique d'authentification du service. Si une politique d'authentification est activée, mais qu'il n'existe aucune instruction d'autorisation explicite, AWS cela n'autorise pas la demande. S'il existe une instruction d'autorisation explicite ou si le type d'authentification l'est
NONE, le code d'application renvoie la décision finale Autoriser. -
Un refus explicite dans n'importe quelle stratégie remplace toutes les autorisations.
-
Le diagramme montre le flux de travail d'autorisation. Lorsqu'une demande est faite, les politiques pertinentes autorisent ou refusent l'accès à un service donné.