Steuern Sie den Zugriff auf Amazon S3 von Athena aus - Amazon Athena

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.

Steuern Sie den Zugriff auf Amazon S3 von Athena aus

Sie können den Zugriff auf Amazon-S3-Standorte mithilfe von identitätsbasierten Richtlinien, Bucket-Ressourcenrichtlinien, Zugriffspunktrichtlinien oder einer beliebigen Kombination der oben genannten gewähren. Wenn Akteure mit Athena interagieren, werden ihre Berechtigungen durch Athena geleitet, um zu bestimmen, worauf Athena zugreifen kann. Das bedeutet, dass Benutzer die Berechtigung zum Zugriff auf Amazon-S3-Buckets haben müssen, um diese mit Athena abfragen zu können.

Wenn Sie IAM Richtlinien verwenden, stellen Sie sicher, dass Sie sich an IAM bewährte Methoden halten. Weitere Informationen finden Sie unter Bewährte Sicherheitsmethoden IAM im IAM Benutzerhandbuch.

Beachten Sie, dass Anfragen an Amazon S3 von einer privaten IPv4 Adresse für Athena stammen, nicht von der Quell-IP, die in aws:SourceIp angegeben ist. Aus diesem Grund können Sie die aws:SourceIp Bedingung nicht verwenden, um den Zugriff auf Amazon S3 S3-Aktionen in einer bestimmten IAM Richtlinie zu verweigern. Sie können den Zugriff auf Amazon S3 S3-Ressourcen auch nicht anhand der Bedingungsschlüssel aws:SourceVpc oder der aws:SourceVpce Bedingungsschlüssel einschränken oder zulassen.

Anmerkung

Athena-Arbeitsgruppen, die die IAM Identity Center-Authentifizierung verwenden, erfordern, dass S3 Access Grants so konfiguriert sind, dass vertrauenswürdige Identitäten zur Identitätsverbreitung verwendet werden. Weitere Informationen finden Sie unter S3-Zugriffsberechtigungen und Verzeichnisidentitäten im Benutzerhandbuch für Amazon Simple Storage Service.

Verwenden Sie identitätsbasierte Richtlinien, um den Zugriff auf Amazon S3 S3-Buckets zu kontrollieren

Identitätsbasierte Richtlinien sind an einen IAM Benutzer, eine Gruppe oder eine Rolle angehängt. Mit diesen Richtlinien können Sie festlegen, welche Aktionen diese Identität durchführen darf (ihre Berechtigungen). Sie können identitätsbasierte Richtlinien verwenden, um den Zugriff auf Ihre Amazon S3 S3-Buckets zu kontrollieren.

Die folgende identitätsbasierte Richtlinie ermöglicht Read den Write Zugriff auf Objekte in einem bestimmten Amazon S3 S3-Bucket. Um diese Richtlinie zu verwenden, ersetzen Sie italicized placeholder text durch Ihre eigenen Werte.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket"] }, { "Sid": "AllObjectActions", "Effect": "Allow", "Action": "s3:*Object", "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket/*"] } ] }

Verwenden Sie Bucket-Ressourcenrichtlinien, um den Zugriff auf Amazon S3 S3-Buckets zu kontrollieren

Sie können Amazon S3 S3-Bucket-Richtlinien verwenden, um den Zugriff auf Objekte in Ihren Buckets zu sichern, sodass nur Benutzer mit den entsprechenden Berechtigungen darauf zugreifen können. Anleitungen zur Erstellung Ihrer Amazon S3 S3-Richtlinie finden Sie unter Hinzufügen einer Bucket-Richtlinie mithilfe der Amazon S3 S3-Konsole im Amazon S3 S3-Benutzerhandbuch.

Das folgende Beispiel für eine Berechtigungsrichtlinie beschränkt einen Benutzer darauf, Objekte zu lesen, die den environment: production Tag-Schlüssel und den Wert haben. Die Beispielrichtlinie verwendet den s3:ExistingObjectTag Bedingungsschlüssel, um den Tag-Schlüssel und den Tag-Wert anzugeben.

{ "Version":"2012-10-17", "Statement": [ { "Principal":{"AWS":"arn:aws:iam::111122223333:role/JohnDoe" }, "Effect":"Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringEquals":{"s3:ExistingObjectTag/environment":"production" } ] }

Weitere Beispiele für Bucket-Richtlinien finden Sie unter Beispiele für Amazon S3 S3-Bucket-Richtlinien im Amazon S3 S3-Benutzerhandbuch.

Verwenden Sie Amazon S3 S3-Zugriffspunkte für eine genauere Kontrolle des Bucket-Zugriffs

Wenn Sie ein freigegebener Datensatz in einem Amazon-S3-Bucket haben, kann es schwierig sein, eine einzelne Bucket-Richtlinie zu verwalten, die den Zugriff für Hunderte von Anwendungsfällen verwaltet.

Zugriffspunkte, Richtlinien und Aliase für Amazon S3 S3-Buckets können zur Lösung dieses Problems beitragen. Ein Bucket kann über mehrere Zugriffspunkte verfügen, von denen jeder eine Richtlinie verfügt, die den Zugriff auf den Bucket auf andere Weise steuert.

Für jeden von Ihnen erstellten Zugriffspunkt generiert Amazon S3 einen Alias, der den Zugriffspunkt darstellt. Da der Alias im Amazon-S3-Bucket-Namensformat vorliegt, können Sie den Alias in der LOCATION-Klausel Ihrer Anweisungen in CREATE TABLE-Athena verwenden. Der Zugriff von Athena auf den Bucket wird dann durch die Richtlinie für den Zugriffspunkt gesteuert, den der Alias darstellt.

Weitere Informationen finden Sie unter Geben Sie einen Tabellenstandort in Amazon S3 an und Verwenden von Zugriffspunkten im Amazon-S3-Benutzerhandbuch.

Verwenden Sie CalledVia Kontexttasten, um nur Anrufe von Athena an einen anderen Dienst zuzulassen

Für zusätzliche Sicherheit können Sie die aws:CalledViaKontextschlüssel für globale Bedingungen. Der aws:CalledVia Bedingungsschlüssel enthält eine Liste von Diensten, denen Sie erlauben, einen anderen Dienst aufzurufen. Sie können beispielsweise InvokeFunction Anrufe zulassen für AWS Lambda nur wenn die Aufrufe von Athena kommen, indem der Athena-Dienstprinzipalname athena.amazonaws.com für den aws:CalledVia Kontextschlüssel angegeben wird. Weitere Informationen finden Sie unter Verwenden Sie CalledVia Kontexttasten für Athena.

Weitere Ressourcen

Ausführliche Informationen und Beispiele zum Gewähren des Amazon-S3-Zugriffs finden Sie in den folgenden Ressourcen: