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
CopyObjectundHeadBucket, verwenden Sie dieCreateSession-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 dies3express: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 |