Authentifizieren und Autorisieren von Anforderungen - Amazon Simple Storage Service

Authentifizieren und Autorisieren von Anforderungen

Standardmäßig sind Verzeichnis-Buckets privat und sind nur für Benutzer zugänglich, denen explizit Zugriff gewährt wurde. Die Zugriffskontrollgrenze für Verzeichnis-Buckets wird nur auf Bucket-Ebene festgelegt. Im Gegensatz dazu kann die Zugriffskontrollgrenze für Allzweck-Buckets auf Bucket-, Präfix- oder Objekt-Tag-Ebene festgelegt werden. Dieser Unterschied bedeutet, dass Verzeichnis-Buckets die einzige Ressource sind, die Sie in Bucket-Richtlinien oder IAM-Identitätsrichtlinien für den Zugriff auf S3 Express One Zone aufnehmen können.

Amazon S3 Express One Zone unterstützt sowohl die AWS Identity and Access Management (AWS IAM)-Autorisierung als auch die sitzungsbasierte Autorisierung:

  • Um regionale Endpunkt-API-Operationen (Operationen auf Bucket-Ebene oder Steuerebene) mit S3 Express One Zone zu verwenden, verwenden Sie das IAM-Autorisierungsmodell, das kein Sitzungsmanagement beinhaltet. Berechtigungen werden für Aktionen einzeln erteilt. Weitere Informationen finden Sie unter Autorisieren regionaler Endpunkt-API-Operationen mit IAM.

  • Um API-Operationen für zonale Endpunkte (Operationen auf Objektebene oder Datenebene) zu verwenden, außer für CopyObject und HeadBucket, verwenden Sie die CreateSession-API-Operation, um Sitzungen zu erstellen und zu verwalten, die für die Autorisierung von Datenanforderungen mit geringer Latenz optimiert sind. Um ein Sitzungstoken abzurufen und zu verwenden, müssen Sie die s3express:CreateSession-Aktion für Ihren Verzeichnis-Bucket in einer identitätsbasierten Richtlinie oder einer Bucket-Richtlinie zulassen. Weitere Informationen finden Sie unter Autorisieren regionaler Endpunkt-API-Operationen mit IAM. Wenn Sie in der Amazon-S3-Konsole, über die AWS Command Line Interface (AWS CLI) oder mithilfe der AWS-SDKs auf S3 Express One Zone zugreifen, erstellt S3 Express One Zone für Sie eine Sitzung.

Mit der CreateSession-API-Operation authentifizieren und autorisieren Sie Anforderungen mithilfe eines neuen sitzungsbasierten Mechanismus. Sie können mit CreateSession temporäre Anmeldeinformationen anfordern, die den Zugriff auf Ihren Bucket mit geringer Latenz ermöglichen. Diese temporären Anmeldeinformationen sind auf einen bestimmten Verzeichnis-Bucket beschränkt.

Um mit CreateSession zu arbeiten, empfehlen wir, die neueste Version der AWS-SDKs oder die AWS Command Line Interface (AWS CLI) zu verwenden. Die unterstützten AWS-SDKs und die AWS CLI übernehmen für Sie die Einrichtung, Aktualisierung und Beendigung von Sitzungen.

Sie verwenden Sitzungstoken nur für zonale Operationen (Objektebene) (außer CopyObject und HeadBucket), um die mit der Autorisierung verbundene Latenz auf eine Reihe von Anforderungen in einer Sitzung zu verteilen. Für API-Operationen auf regionalen Endpunkten (Operationen auf Bucket-Ebene) verwenden Sie die IAM-Autorisierung, bei der keine Sitzung verwaltet wird. Weitere Informationen finden Sie unter Autorisieren regionaler Endpunkt-API-Operationen mit IAM und Autorisieren zonaler Endpunkt-API-Operationen mit CreateSession.

So werden API-Vorgänge autorisiert und authentifiziert

Die folgende Tabelle enthält Informationen zur Authentifizierung und Autorisierung für API-Operationen in Verzeichnis-Buckets. Für jeden API-Vorgang enthält die Tabelle den Namen der API-Operation, die IAM-Richtlinienaktion, den Endpunkttyp (regional oder zonal) und den Autorisierungsmechanismus (IAM oder sitzungsbasiert). In dieser Tabelle wird auch angegeben, ob kontoübergreifender Zugriff unterstützt wird. Der Zugriff auf Aktionen auf Bucket-Ebene kann nur über identitätsbasierte IAM-Richtlinien (Benutzer oder Rolle) und nicht über Bucket-Richtlinien gewährt werden.

API Endpunkttyp IAM-Aktion Kontoübergreifender Zugriff
CreateBucket Regional s3express:CreateBucket Nein
DeleteBucket Regional s3express:DeleteBucket Nein
ListDirectoryBuckets Regional s3express:ListAllMyDirectoryBuckets Nein
PutBucketPolicy Regional s3express:PutBucketPolicy Nein
GetBucketPolicy Regional s3express:GetBucketPolicy Nein
DeleteBucketPolicy Regional s3express:DeleteBucketPolicy Nein
CreateSession Zonal s3express:CreateSession Ja
CopyObject Zonal s3express:CreateSession Ja
DeleteObject Zonal s3express:CreateSession Ja
DeleteObjects Zonal s3express:CreateSession Ja
HeadObject Zonal s3express:CreateSession Ja
PutObject Zonal s3express:CreateSession Ja
RenameObject Zonal s3express:CreateSession Nein
GetObjectAttributes Zonal s3express:CreateSession Ja
ListObjectsV2 Zonal s3express:CreateSession Ja
HeadBucket Zonal s3express:CreateSession Ja
CreateMultipartUpload Zonal s3express:CreateSession Ja
UploadPart Zonal s3express:CreateSession Ja
UploadPartCopy Zonal s3express:CreateSession Ja
CompleteMultipartUpload Zonal s3express:CreateSession Ja
AbortMultipartUpload Zonal s3express:CreateSession Ja
ListParts Zonal s3express:CreateSession Ja
ListMultipartUploads Zonal s3express:CreateSession Ja
ListAccessPointsForDirectoryBuckets Zonal s3express:ListAccessPointsForDirectoryBuckets Ja
GetAccessPointScope Zonal s3express:GetAccessPointScope Ja
PutAccessPointScope Zonal s3express:PutAccessPointScope Ja
DeleteAccessPointScope Zonal s3express:DeleteAccessPointScope Ja