View a markdown version of this page

Namespaces für allgemeine Buckets - Amazon Simple Storage Service

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.

Namespaces für allgemeine Buckets

Standardmäßig sind Allzweck-Buckets in einem globalen Namespace vorhanden. Das bedeutet, dass jeder Bucket-Name für alle AWS Konten in allen AWS Regionen innerhalb einer Partition eindeutig sein muss. Eine Partition ist eine Gruppierung von Regionen. AWS hat derzeit vier Partitionen: aws (Standardregionen), aws-cn (China-Regionen), aws-us-gov (AWS GovCloud (USA)) und aws-eusc (European Sovereign Cloud). Wenn Sie einen Allzweck-Bucket erstellen, können Sie wählen, ob Sie einen Bucket im gemeinsamen globalen Namespace erstellen möchten. Sie können sich auch dafür entscheiden, einen Bucket im regionalen Namespace Ihres Kontos zu erstellen. Der regionale Namespace Ihres Kontos ist eine Unterteilung des globalen Namespaces, in dem nur Ihr Konto Buckets erstellen kann.

Globale Buckets für allgemeine Zwecke

Standardmäßig erstellen Sie globale Allzweck-Buckets im gemeinsamen globalen Namespace. Nachdem Sie einen Allzweck-Bucket im gemeinsamen globalen Namespace erstellt haben, kann dieser Bucket-Name von keiner anderen Person innerhalb der Partition erstellt werden. Wenn Sie einen globalen Allzweck-Bucket löschen, ist der Bucket-Name im globalen Namespace wieder verfügbar, sodass jeder ihn neu erstellen kann.

Wenn Sie globale Allzweck-Buckets erstellen, können Sie jeden Namen anfordern, der den Bucket-Benennungsregeln entspricht. Zu diesen Regeln gehört die Angabe eines Namens mit einer Länge zwischen 3 (mindestens) und 63 (maximal) Zeichen. Der Name darf nur aus Kleinbuchstaben, Zahlen, Punkten (.) und Bindestrichen (-) bestehen. Bucket-Namen müssen mit einem Buchstaben oder einer Zahl beginnen und enden und dürfen nicht zwei benachbarte Punkte enthalten. Weitere Informationen zu den Benennungsregeln für Buckets finden Sie unterBenennungsregeln für Allzweck-Buckets.

Wenn Sie einen globalen Allzweck-Bucket-Namen angeben, müssen Sie einen eindeutigen Namen wählen, der noch nicht für die Partition verwendet wird. Wenn Sie versuchen, einen Bucket zu erstellen, der bereits existiert und jemand anderem gehört, erhalten Sie einen HTTP BucketAlreadyExists 409-Fehler. Wenn Sie versuchen, einen Bucket zu erstellen, der bereits existiert und Ihnen gehört, erhalten Sie einen HTTP BucketAlreadyOwnedByYou 409-Fehler.

Sie können globale Allzweck-Buckets erstellen, um die größtmögliche Flexibilität bei der Auswahl Ihrer angeforderten Bucket-Namen zu haben. Da es sich um einen gemeinsamen globalen Namespace handelt, können andere Konten ähnliche Bucket-Namen erstellen. Andere Konten können auch Bucket-Namen neu erstellen, die Sie zuvor gelöscht haben. Verlassen Sie sich nicht auf eine spezifische Benennungskonvention für Buckets für Verfügbarkeits- oder Sicherheitsprüfungszwecke. Schreiben Sie keinen Code in der Annahme, dass der von Ihnen gewählte Bucket-Name verfügbar ist, es sei denn, Sie haben den Bucket bereits erstellt. Eine Methode zum Erstellen von Bucket-Namen, die nicht vorhersehbar sind, besteht darin, Ihrem Bucket-Namen einen Globally Unique Identifier (GUID) anzuhängen. Beispiel, amzn-s3-demo-bucket-a1b2c3d4-5678-90ab-cdef-example11111. Weitere Informationen finden Sie unter Erstellen eines Buckets, der eine GUID im Bucket-Namen verwendet.

Allzweck-Buckets mit regionalem Namespace für Konten

Obwohl Amazon S3 allgemeine Buckets in einem gemeinsamen globalen Namespace existieren, können Sie optional Buckets im regionalen Namespace Ihres Kontos erstellen. Der regionale Namespace für Konten ist eine reservierte Unterteilung des globalen Bucket-Namespaces. Nur Ihr Konto kann Allzweck-Buckets in diesem Namespace erstellen. Neue Allzweck-Buckets, die im regionalen Namespace Ihres Kontos erstellt wurden, gelten nur für Ihr Konto. Diese Buckets können niemals von einem anderen Konto neu erstellt werden. Diese Buckets unterstützen alle S3-Funktionen und AWS -Dienste, die Allzweck-Buckets im gemeinsamen globalen Namespace bereits unterstützen. Ihre Anwendungen müssen nicht geändert werden, um mit Buckets im regionalen Namespace Ihres Kontos zu interagieren.

Anmerkung

Sie können Buckets im regionalen Namespace Ihres Kontos in allen AWS Regionen außer Naher Osten (Bahrain) und Naher Osten (VAE) erstellen.

Das Erstellen von Buckets im regionalen Namespace Ihres Kontos ist eine bewährte Sicherheitsmethode. Diese Bucket-Namen können immer nur von Ihrem Konto verwendet werden. Sie können Buckets im regionalen Namespace Ihres Kontos erstellen, um auf einfache Weise allgemeine Bucket-Namen für mehrere AWS Regionen als Vorlage zu verwenden. Sie können sicher sein, dass kein anderes Konto Bucket-Namen in Ihrem Namespace erstellen kann. Wenn ein anderes Konto versucht, einen Bucket mit dem regionalen Suffix Ihres Kontos zu erstellen, wird die CreateBucket Anfrage abgelehnt.

Benennungskonvention für regionale Namespaces von Konten

Allgemeine Buckets im regionalen Namespace Ihres Kontos müssen einer bestimmten Namenskonvention folgen. Diese Buckets bestehen aus einem Bucket-Namenspräfix, das Sie erstellen, und einem Suffix, das Ihre 12-stellige AWS Konto-ID und den AWS Regionalcode enthält und mit dem endet. -an

bucket-name-prefix-accountId-region-an

Zum Beispiel gibt es den folgenden Allzweck-Bucket im regionalen Account-Namespace für das AWS Konto 111122223333 in der Region us-west-2:

amzn-s3-demo-bucket-111122223333-us-west-2-an

Um einen Bucket im regionalen Namespace Ihres Kontos zu erstellen, stellen Sie eine Anfrage. CreateBucket Geben Sie den x-amz-bucket-namespace Anforderungsheader an, wobei der Wert auf account-regional festgelegt ist. Geben Sie auch einen Bucket-Namen im regionalen Namespace-Format für Konten an:. <customer-chosen-name>-<AWS-Account-ID>-<AWS-Region>-an

Anmerkung

Wenn Sie mithilfe der Konsole einen Allzweck-Bucket im regionalen Namespace Ihres Kontos erstellen, wird dem von Ihnen angegebenen Bucket-Namenspräfix automatisch ein Suffix hinzugefügt. Dieses Suffix enthält Ihre AWS Konto-ID und die AWS Region, in der Sie Ihren Bucket erstellt haben. Wenn Sie mithilfe der CreateBucket API einen Allzweck-Bucket im regionalen Namespace Ihres Kontos erstellen, müssen Sie das vollständige Suffix angeben. Dazu gehören Ihre AWS Konto-ID und die AWS Region in Ihrer Anfrage. Eine Liste der AWS Regionalcodes finden Sie unterAWS Format des Regionalcodes.

Integrieren Sie den regionalen Namespace des Kontos in Ihren CloudFormation Vorlagen

Sie können Ihre Infrastructure-as-Code-Tools aktualisieren, um beispielsweise die Erstellung von Buckets im CloudFormation regionalen Namespace Ihres Kontos zu vereinfachen. CloudFormation AWS::AccountIdbietet die AWS::Region Pseudo-Parameter und. Diese Parameter erleichtern das Erstellen von CloudFormation Vorlagen, mit denen regionale Namespace-Buckets für Konten erstellt werden. Weitere Informationen finden Sie unter Abrufen von AWS Werten mithilfe von Pseudoparametern.

Beispiel 1 BucketName bei Verwendung mit Sub:

BucketName: !Sub "amzn-s3-demo-bucket-${AWS::AccountId}-${AWS::Region}-an" BucketNamespace: "account-regional"

Beispiel 2 unter Verwendung von BucketNamePrefix:

BucketNamePrefix: 'amzn-s3-demo-bucket' BucketNamespace: "account-regional"

Alternativ können Sie die BucketNamePrefix Eigenschaft auch verwenden, um Ihre CloudFormation Vorlage zu aktualisieren. BucketNamePrefix Mit der können Sie einfach den vom Kunden definierten Teil des Bucket-Namens angeben. Dann fügt es automatisch das regionale Namespace-Suffix des Kontos hinzu, das auf dem angegebenen AWS Konto und der angegebenen AWS Region basiert.

Mithilfe dieser Optionen können Sie eine benutzerdefinierte CloudFormation Vorlage erstellen, mit der Sie auf einfache Weise allgemeine Buckets im regionalen Namespace Ihres Kontos erstellen können. Weitere Informationen finden Sie unter AWS: :S3: :Bucket im Benutzerhandbuch. CloudFormation

Einschränkungen und Überlegungen

Beim Erstellen von Buckets im gemeinsamen globalen Namespace gelten die folgenden Überlegungen:

  • Ein Bucket-Name im gemeinsamen globalen Namespace kann nicht von einem anderen AWS Konto in derselben Partition verwendet werden, bis der Bucket gelöscht wird. Beachten Sie nach dem Löschen eines Buckets im gemeinsamen globalen Namespace, dass ein anderes AWS Konto in derselben Partition denselben Bucket-Namen für einen neuen Bucket verwenden kann und daher möglicherweise Anfragen empfangen kann, die für den gelöschten Bucket bestimmt sind.

  • Beachten Sie beim Erstellen von Anwendungen, die Buckets im gemeinsamen globalen Namespace erstellen, dass Ihre gewünschten Bucket-Namen möglicherweise bereits von einem anderen Konto verwendet werden und dass andere Konten möglicherweise Bucket-Namen haben, die Ihren ähneln.

  • Da Buckets anhand ihrer Namen Amazon S3 identifiziert werden, kann eine Anwendung, die in einer Anfrage einen falschen Bucket-Namen verwendet, versehentlich Operationen für einen anderen Bucket als erwartet ausführen. Um unbeabsichtigte Bucket-Interaktionen in solchen Situationen zu vermeiden, können Sie die Bucket-Eigentümer-Bedingung verwenden. Weitere Informationen finden Sie unter Überprüfen der Bucket-Eigentümerschaft mit Bucket-Eigentümer-Bedingung.

Wenn Sie Buckets im regionalen Namespace Ihres Kontos erstellen, gelten die folgenden Einschränkungen und Überlegungen:

  • Bei jedem Versuch, einen regionalen Namespace-Bucket für Konten, den Sie bereits in einer AWS Region besitzen, neu zu erstellen, wird ein HTTP 409-Fehler zurückgegeben. BucketAlreadyOwnedByYou

  • Sie sollten die regionalen S3-Endpunkte verwenden, um Buckets im regionalen Namespace Ihres Kontos zu erstellen. Aus Gründen der Abwärtskompatibilität können Sie den veralteten globalen Endpunkt verwenden, um Buckets im regionalen Namespace Ihres Kontos in der Region USA Ost (Nord-Virginia) zu erstellen.

  • Das regionale Suffix Ihres Kontos wird auf die maximale Anzahl von 63 Zeichen angerechnet, die in allgemeinen Bucket-Namen zulässig ist. Wenn das regionale Suffix Ihres Kontos also lautet-012345678910-us-east-1-an, stehen Ihnen 37 Zeichen für Ihr Bucket-Namenspräfix zur Verfügung.

AWS Format des Regionalcodes

Um einen Bucket im regionalen Namespace Ihres Kontos zu erstellen, müssen Sie die AWS Region in das Suffix aufnehmen, in dem Sie den Allzweck-Bucket erstellen möchten. Sie müssen den vollständigen AWS Regionalcode (z. B.us-west-2) im Suffix angeben. Eine vollständige Liste der AWS Regionscodes finden Sie unter AWS Regionen. Die folgenden Bucket-Namen zeigen zwei Beispiele für das AWS Regionscode-Format, das Sie verwenden müssen, wenn Sie Buckets im regionalen Namespace Ihres Kontos erstellen:

  • amzn-s3-demo-bucket-012345678910-ap-southeast-1-an

  • amzn-s3-demo-bucket-987654321012-eu-north-1-an

Erfordert die Erstellung von Buckets im regionalen Namespace Ihres Kontos

Sie können erzwingen, dass Ihre IAM Principals nur Buckets im regionalen Namespace Ihres Kontos erstellen. Verwenden Sie den Bedingungsschlüssels3:x-amz-bucket-namespace. Die folgenden Beispiele zeigen, wie Sie die Erstellung eines regionalen Account-Buckets in einer IAM Richtlinie, Resource Control Policy oder Service Control Policy erzwingen können.

IAM policy

Die folgende IAM Richtlinie verweigert dem IAM Prinzipal die s3: CreateBucket -Berechtigung, wenn die Anforderung nicht den auf account-regional gesetzten x-amz-bucket-Namespace-Header enthält.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireAccountRegionalBucketCreation", "Effect": "Deny", "Action": "s3:CreateBucket", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-bucket-namespace": "account-regional" } } } ] }

Richtlinie zur Ressourcenkontrolle

Die folgende Ressourcenkontrollrichtlinie verweigert allen Benutzern die s3: CreateBucket -Berechtigung, wenn die Anforderung nicht den auf account-regional gesetzten x-amz-bucket-Namespace-Header enthält.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "OnlyCreateBucketsInAccountRegionalNamespace", "Effect": "Deny", "Principal": "*", "Action": "s3:CreateBucket", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-bucket-namespace": "account-regional" } } } ] }

Service-Kontrollrichtlinie

Die folgende Dienststeuerungsrichtlinie verweigert allen Benutzern die s3: CreateBucket -Berechtigung, wenn die Anfrage nicht den auf account-regional gesetzten x-amz-bucket-Namespace-Header enthält.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireAccountRegionalBucketCreation", "Effect": "Deny", "Action": "s3:CreateBucket", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-bucket-namespace": "account-regional" } } } ] }

Erstellen Sie einen Bucket im regionalen Namespace Ihres Kontos

Die folgenden Beispiele zeigen Ihnen, wie Sie einen Allzweck-Bucket im regionalen Namespace Ihres Kontos erstellen.

Verwendung der AWS CLI

Im folgenden AWS CLI Beispiel wird ein Allzweck-Bucket im regionalen Account-Namespace für das AWS Konto 012345678910 in der Region USA West (Nordkalifornien) (us-west-1) erstellt. Wenn Sie diese Beispielbefehl verwenden möchten, ersetzen Sie user input placeholders durch Ihre Informationen.

aws s3api create-bucket \ --bucket amzn-s3-demo-bucket-012345678910-us-west-1-an \ --bucket-namespace account-regional --region us-west-1 \ --create-bucket-configuration LocationConstraint=us-west-1