Forward Access Sessions (FAS) - AWS Identitäts- und Zugriffsverwaltung

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Forward Access Sessions (FAS)

Forward Access Sessions (FAS) ist eine IAM-Technologie, die von AWS Diensten verwendet wird, um Ihre Identität, Berechtigungen und Sitzungsattribute weiterzugeben, wenn ein AWS Service in Ihrem Namen eine Anfrage stellt. FAS verwendet die Berechtigungen der Identität, die einen AWS Dienst aufruft, in Kombination mit der Identität eines AWS Dienstes, um Anfragen an nachgelagerte Dienste zu stellen. FAS-Anfragen werden erst im Namen eines IAM-Prinzipals an AWS Dienste gestellt, nachdem ein Dienst eine Anfrage erhalten hat, für deren Abschluss Interaktionen mit anderen AWS Diensten oder Ressourcen erforderlich sind. Wenn eine FAS-Anfrage gestellt wird:

  • Der Service, der die erste Anfrage von einem IAM-Prinzipal empfängt, überprüft die Berechtigungen des IAM-Prinzipals.

  • Der Service, der eine nachfolgende FAS-Anfrage empfängt, überprüft auch die Berechtigungen desselben IAM-Prinzipals.

FAS wird beispielsweise von Amazon S3 verwendet, um Aufrufe zur Entschlüsselung eines Objekts AWS Key Management Service zu tätigen, wenn SSE-KMS zur Verschlüsselung verwendet wurde. Beim Herunterladen eines SSE-KMS-verschlüsselten Objekts ruft eine Rolle namens data-reader das Objekt gegen Amazon S3 GetObject auf und ruft es nicht direkt auf. AWS KMS Nach Erhalt der GetObject Anfrage und Autorisierung des Datenlesegeräts stellt Amazon S3 dann eine FAS-Anfrage an AWS KMS , um das Amazon S3 S3-Objekt zu entschlüsseln. Wenn KMS die FAS-Anfrage erhält, überprüft KMS die Berechtigungen der Rolle und autorisiert die Entschlüsselungsanforderung nur, wenn „data-reader“ über die richtigen Berechtigungen für den KMS-Schlüssel verfügt. Die Anfragen an Amazon S3 und AWS KMS werden mit den Berechtigungen der Rolle autorisiert und sind nur erfolgreich, wenn der Datenleser über Berechtigungen sowohl für das Amazon S3 S3-Objekt als auch für den AWS KMS-Schlüssel verfügt.

Ein Flussdiagramm einer IAM-Rolle, die als Prinzipal an Amazon S3 und dann an AWS KMSübergeben wird.
Anmerkung

Zusätzliche FAS-Anfragen können von Services gestellt werden, die eine FAS-Anfrage erhalten haben. In solchen Fällen muss der anfordernde Prinzipal über Berechtigungen für alle von FAS aufgerufenen Services verfügen.

FAS-Anfragen und IAM-Richtlinienbedingungen

Wenn FAS-Anfragen gestellt werden, werden aws: CalledVia-, aws: CalledVia Zuerst- und aws: CalledVia Zuletzt-Bedingungsschlüssel mit dem Service-Prinzipal des Service gefüllt, der den FAS-Aufruf initiiert hat. Der Wert des AWS: via AWSService-Bedingungsschlüssels wird immer dann auf true gesetzt, wenn eine FAS-Anfrage gestellt wird. In der folgenden Abbildung sind für die CloudFormation direkte Anfrage keine aws:CalledVia oder keine aws:ViaAWSService Bedingungsschlüssel gesetzt. Wenn CloudFormation DynamoDB im Namen der Rolle nachgelagerte FAS-Anfragen stellen, werden die Werte für diese Bedingungsschlüssel aufgefüllt.

Ein Flussdiagramm einer IAM-Rolle, die als Principal an DynamoDB übergeben wird CloudFormation und anschließend die Bedingungsschlüsselwerte an DynamoDB und weitergibt. AWS KMS

Damit eine FAS-Anfrage gestellt werden kann, die andernfalls durch eine Deny-Richtlinienanweisung mit einem Bedingungsschlüssel, der Quell-IP-Adressen oder Quell-VPCs testet, verweigert werden würde, müssen Sie Bedingungsschlüssel verwenden, um in Ihrer Deny-Richtlinie eine Ausnahme für FAS-Anfragen bereitzustellen. Dies kann für alle FAS-Anfragen mithilfe des aws:ViaAWSService-Bedingungsschlüssels erfolgen. Damit nur bestimmte AWS Dienste FAS-Anfragen stellen können, verwenden Sie. aws:CalledVia

Wichtig

Wenn eine FAS-Anfrage gestellt wird, nachdem eine erste Anfrage über einen VPC-Endpunkt gestellt wurde, werden die Bedingungsschlüsselwerte für als: SourceVpce, aws: SourceVpc und aws: VpcSource Ip aus der ersten Anfrage nicht in FAS-Anfragen verwendet. Wenn Sie Richtlinien mit aws:VPCSourceIP oder aws:SourceVPCE schreiben, um bedingten Zugriff zu gewähren, müssen Sie auch aws:ViaAWSService oder aws:CalledVia verwenden, um FAS-Anfragen zuzulassen. Wenn eine FAS-Anfrage gestellt wird, nachdem eine erste Anfrage bei einem Endpunkt eines öffentlichen AWS Dienstes eingegangen ist, werden nachfolgende FAS-Anfragen mit demselben aws:SourceIP Bedingungsschlüsselwert gestellt.

Beispiel: Amazon-S3-Zugriff von einer VPC oder mit FAS zulassen

Im folgenden Beispiel für eine IAM-Richtlinie sind Amazon S3 GetObject - und Athena-Anfragen nur zulässig, wenn sie von VPC-Endpunkten stammen, die an example_vpc angehängt sind, oder wenn es sich bei der Anfrage um eine FAS-Anfrage von Athena handelt.

{ "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" } } } ] }

Weitere Beispiele für die Verwendung von Bedingungsschlüsseln, um den FAS-Zugriff zu ermöglichen, finden Sie im Repository Data Perimeter Policy Examples.