Transmission des sessions d'accès - AWS Identity and Access Management

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é du 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 principal IAM qu'une fois qu'un service a reçu une demande qui nécessite 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 effectuer des appels AWS Key Management Service afin de déchiffrer un objet lorsque SSE-KMS a été utilisé pour le chiffrer. Lors du téléchargement d'un objet chiffré SSE-KMS, un rôle nommé lecteur de données appelle GetObject l'objet à Amazon S3, mais ne l'appelle pas directement. AWS KMS 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 couronnées de succès que si le lecteur de données est autorisé à la fois à accéder à l'objet Amazon S3 et à 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 lois : CalledVia, lois : CalledViaFirst, et lois : CalledViaLast sont renseignées avec le principal du service qui a initié l'appel FAS. La valeur de la clé de condition AWS : V iaAWSService est définie sur true chaque fois qu'une demande de FAS est effectuée. Dans le schéma suivant, aucune aws:CalledVia clé de aws:ViaAWSService condition n'est définie pour la demande CloudFormation directe. Lorsque CloudFormation DynamoDB envoie des demandes FAS en aval pour le compte du rôle, les valeurs de ces clés de condition sont renseignées.

Schéma de flux d'un rôle IAM transmis en tant que principal à DynamoDB CloudFormation et transmettant ensuite les valeurs des clés de condition à DynamoDB 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 lois : SourceVpce, lois : SourceVpc et lois : 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 réception d'une demande initiale par un point de terminaison de 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 effectuée par Athena.

{ "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": [ "example_vpc" ] } } }, { "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.