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 Allzweck-Buckets
Standardmäßig existieren Buckets für allgemeine Zwecke in einem globalen Namespace. 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-govAWS 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 Namespace, in der nur Ihr Konto Buckets erstellen kann.
Themen
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 niemandem in der Partition erstellt werden. Wenn Sie einen globalen Allzweck-Bucket löschen, ist der Bucket-Name wieder im globalen Namespace verfügbar, sodass jeder ihn neu erstellen kann.
Wenn Sie globale Buckets für allgemeine Zwecke erstellen, können Sie jeden Namen anfordern, der den Benennungsregeln für Buckets 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 aufeinanderfolgende Punkte enthalten. Weitere Informationen zu Regeln für die Benennung von Buckets finden Sie unterBenennungsregeln für Allzweck-Buckets.
Wenn Sie einen globalen Bucketnamen für allgemeine Zwecke 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 dem 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 bei der Auswahl der angeforderten Bucket-Namen die größtmögliche Flexibilität 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 eine GUID (Globally Unique Identifier) 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 für Konten, regionale Namespaces
Amazon S3 Allzweck-Buckets existieren zwar in einem gemeinsamen globalen Namespace, aber Sie können optional Buckets in Ihrem regionalen Namespace für Ihr Konto erstellen. Der regionale Namespace für das Konto ist eine reservierte Unterteilung des globalen Bucket-Namespace. Nur Ihr Konto kann in diesem Namespace Buckets für allgemeine Zwecke 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 in allen AWS Regionen außer Naher Osten (Bahrain) und Naher Osten (VAE) Buckets im regionalen Namespace Ihres Kontos 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 Vorlagen für allgemeine Bucket-Namen für mehrere AWS Regionen zu erstellen. 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 für Konten
Allzweck-Buckets in Ihrem regionalen Namespace müssen einer bestimmten Benennungskonvention entsprechen. Diese Buckets bestehen aus einem von Ihnen erstellten Bucket-Namenspräfix und einem Suffix, das Ihre 12-stellige AWS Konto-ID und den AWS Regionalcode enthält und mit endet. -an
bucket-name-prefix-accountId-region-an
Der folgende Allzweck-Bucket ist beispielsweise im regionalen Kontonamespace für das AWS Konto 111122223333 in der Region us-west-2 vorhanden:
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 mit dem Wert auf anaccount-regional. Geben Sie außerdem einen Bucket-Namen im Format eines regionalen Namespaces für ein Konto 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 umfasst 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 Ihre Vorlagen CloudFormation
Sie können Ihre infrastructure-as-code Tools aktualisieren CloudFormation, um z. B. die Erstellung von Buckets im regionalen Namespace Ihres Kontos zu vereinfachen. CloudFormation bietet die Pseudo-Parameter und. AWS::AccountId AWS::Region Diese Parameter machen es einfach, CloudFormation Vorlagen zu erstellen, die regionale Namespace-Buckets für Konten erstellen. Weitere Informationen finden Sie unter AWS Werte mithilfe von Pseudo-Parametern abrufen.
Beispiel 1, Verwendung BucketName mit Sub:
BucketName: !Sub "amzn-s3-demo-bucket-${AWS::AccountId}-${AWS::Region}-an" BucketNamespace: "account-regional"
Beispiel 2 mit BucketNamePrefix:
BucketNamePrefix: 'amzn-s3-demo-bucket' BucketNamespace: "account-regional"
Alternativ können Sie die BucketNamePrefix Eigenschaft auch verwenden, um Ihre CloudFormation Vorlage zu aktualisieren. Auf BucketNamePrefix diese Weise können Sie einfach den vom Kunden definierten Teil des Bucket-Namens angeben. Anschließend wird automatisch das regionale Namespace-Suffix des Kontos hinzugefügt, das auf dem angegebenen AWS Konto und AWS der angegebenen Region basiert.
Mithilfe dieser Optionen können Sie eine benutzerdefinierte CloudFormation Vorlage erstellen, um auf einfache Weise Allzweck-Buckets im regionalen Namespace Ihres Kontos zu erstellen. Weitere Informationen finden Sie unter AWS: :S3: :Bucket im Benutzerhandbuch. CloudFormation
Einschränkungen und Überlegungen
Bei der Erstellung von Buckets im gemeinsamen globalen Namespace gelten die folgenden Überlegungen:
-
Ein Bucket-Name im gemeinsam genutzten globalen Namespace kann nicht von einem anderen AWS Konto in derselben Partition verwendet werden, bis der Bucket gelöscht wurde. Nachdem Sie einen Bucket im gemeinsamen globalen Namespace gelöscht haben, sollten Sie sich bewusst sein, 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.
-
Denken Sie beim Erstellen von Anwendungen, die Buckets im gemeinsamen globalen Namespace erstellen, daran, dass Ihre gewünschten Bucket-Namen möglicherweise bereits von einem anderen Konto verwendet wurden und dass andere Konten Bucket-Namen haben könnten, die Ihren ähnlich sind.
-
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.
Bei der Erstellung von Buckets im regionalen Namespace Ihres Kontos gelten die folgenden Einschränkungen und Überlegungen:
-
Jeder Versuch, einen regionalen Namespace-Bucket eines Kontos, den Sie bereits besitzen, in einer beliebigen AWS Region neu zu erstellen, führt zu einem HTTP 409-Fehler. 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 alten 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 für allgemeine Bucket-Namen zulässig sind. Wenn Ihr Konto also ein regionales Suffix hat
-012345678910-us-east-1-an, dann stehen Ihnen 37 Zeichen für das Präfix Ihres Bucket-Namens 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 Regionalcode-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
Sie benötigen 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 Buckets für Konten in einer IAM Richtlinie, Resource Control Policy oder Service Control Policy erzwingen können.
IAM Richtlinie
Die folgende IAM Richtlinie verweigert dem IAM Principal die CreateBucket Berechtigung s3:, wenn die Anfrage nicht den x-amz-bucket-namespace Header enthält, der auf account-regional gesetzt ist.
{ "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 CreateBucket Berechtigung s3:, wenn die Anfrage nicht den x-amz-bucket-namespace Header enthält, der auf account-regional gesetzt ist.
{ "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 Service Control-Richtlinie verweigert allen Benutzern die s3: CreateBucket -Berechtigung, wenn die Anfrage nicht den x-amz-bucket-namespace Header enthält, der auf account-regional gesetzt ist.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireAccountRegionalBucketCreation", "Effect": "Deny", "Action": "s3:CreateBucket", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-bucket-namespace": "account-regional" } } } ] }
Einen Bucket im regionalen Namespace Ihres Kontos erstellen
Die folgenden Beispiele zeigen Ihnen, wie Sie einen Allzweck-Bucket im regionalen Namespace Ihres Kontos erstellen.
Mit dem AWS CLI
Im folgenden AWS CLI Beispiel wird ein Allzweck-Bucket im regionalen Kontonamespace 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 \ --bucketamzn-s3-demo-bucket-012345678910-us-west-1-an\ --bucket-namespace account-regional --regionus-west-1\ --create-bucket-configuration LocationConstraint=us-west-1