View a markdown version of this page

Transmission des sessions d'accès - AWS Gestion de l’identité et des accès

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.

Transmission des sessions d'accès

Les sessions d'accès direct (FAS) sont une technologie IAM utilisée par les AWS services pour transmettre votre identité, vos autorisations et vos attributs de session lorsqu'un AWS service fait une demande en votre nom. FAS utilise les autorisations de l'identité appelant un AWS service, combinées à l'identité d'un AWS service pour adresser des demandes aux services en aval. Les demandes FAS ne sont adressées aux AWS services pour le compte d'un responsable IAM qu'après qu'un service a reçu une demande nécessitant des interactions avec d'autres AWS services ou ressources pour être traitée. Lorsqu'une demande de FAS est effectuée :

  • Le service qui reçoit la demande initiale d'un principal IAM vérifie les autorisations de ce dernier.

  • Le service qui reçoit une demande de FAS ultérieure vérifie également les autorisations du même principal IAM.

Par exemple, le FAS est utilisé par Amazon S3 pour passer des appels AWS Key Management Service afin de déchiffrer un objet alors qu'il SSE-KMS était utilisé pour le chiffrer. Lors du téléchargement d'un objet SSE-KMS chiffré, un rôle nommé data-reader fait GetObject appel à l'objet par rapport à Amazon S3, mais pas AWS KMS directement. Après avoir reçu la GetObject demande et autorisé le lecteur de données, Amazon S3 envoie une demande FAS AWS KMS à afin de déchiffrer l'objet Amazon S3. Lorsque KMS reçoit la demande de FAS, il vérifie les autorisations du rôle et n'autorise la demande de déchiffrement que si le lecteur de données dispose des autorisations correctes sur la clé KMS. Les demandes adressées à Amazon S3 et à Amazon S3 AWS KMS sont autorisées à l'aide des autorisations du rôle et ne sont acceptées que si le lecteur de données possède des autorisations à la fois sur l'objet Amazon S3 et sur la clé AWS KMS.

Schéma de flux d'un rôle IAM transmis en tant que principal à Amazon S3, puis à AWS KMS.
Note

Des demandes de FAS supplémentaires peuvent être effectuées par les services qui ont reçu une demande de FAS. Dans ce cas, le principal demandeur doit disposer d'autorisations pour tous les services appelés par la FAS.

Conditions des demandes de FAS et de la politique IAM

Lorsque des demandes de FAS sont effectuées, les clés de condition aws : CalledVia, aws : CalledViaFirst, et aws : CalledViaLast sont renseignées avec le principal du service qui a initié l'appel FAS. La valeur de la clé de condition aws:ViaAWSService est définie sur true chaque fois qu'une demande de FAS est effectuée. Dans le schéma suivant, aucune clé de aws:ViaAWSService condition aws:CalledVia ou aucune clé de condition n'est définie pour la requête CloudFormation directe. Lorsque CloudFormation DynamoDB effectue des requêtes FAS en aval pour le compte du rôle, les valeurs de ces clés de condition sont renseignées.

Organigramme d'un rôle IAM transmis en tant que principal à DynamoDB CloudFormation et à. AWS KMS

Pour permettre à une demande de FAS d'être effectuée alors qu'elle serait autrement refusée par une déclaration de politique de refus avec une clé de condition testant les adresses IP source ou les VPC source, vous devez utiliser des clés de condition pour fournir une exception pour les demandes de FAS dans votre politique de refus. Cela peut être fait pour toutes les demandes de FAS en utilisant la clé de condition aws:ViaAWSService. Pour autoriser uniquement des AWS services spécifiques à effectuer des demandes FAS, utilisezaws:CalledVia.

Important

Lorsqu'une demande de FAS est effectuée après qu'une demande initiale a été effectuée via un point de terminaison d'un VPC, les valeurs des clés de condition pour aws : SourceVpce, aws : SourceVpc et aws : VpcSourceIp de la demande initiale ne sont pas utilisées dans les demandes de FAS. Lorsque vous rédigez des politiques utilisant aws:VpcSourceIp ou aws:SourceVpce pour accorder un accès conditionnel, vous devez également utiliser aws:ViaAWSService ou aws:CalledVia pour autoriser les demandes de FAS. Lorsqu'une demande FAS est faite après la réception d'une demande initiale par un point de terminaison du AWS service public, les demandes FAS suivantes seront effectuées avec la même valeur de clé de aws:SourceIP condition.

Exemple : autoriser l'accès à Amazon S3 depuis un VPC ou avec la FAS

Dans l'exemple de politique IAM suivant, les demandes Amazon S3 GetObject et Athena ne sont autorisées que si elles proviennent de points de terminaison VPC attachés àexample_vpc, ou s'il s'agit d'une demande FAS faite par Athena.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "OnlyAllowMyIPs", "Effect": "Allow", "Action": [ "s3:GetObject*", "athena:StartQueryExecution", "athena:GetQueryResults", "athena:GetWorkGroup", "athena:StopQueryExecution", "athena:GetQueryExecution" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceVPC": [ "vpc-111bbb22" ] } } }, { "Sid": "OnlyAllowFAS", "Effect": "Allow", "Action": [ "s3:GetObject*" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": "athena.amazonaws.com" } } } ] }

Pour d'autres exemples d'utilisation de clés de condition pour autoriser l'accès à la FAS, consultez le référentiel data perimeter example policy repo.