

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.

# ABAC in Allzweck-Buckets aktivieren
<a name="buckets-tagging-enable-abac"></a>

Die attributebasierte Zugriffskontrolle (ABAC) ist eine Autorisierungsstrategie, mit der Sie Berechtigungen auf der Grundlage von Attributen, d. h. Tags, definieren. Standardmäßig ist ABAC für alle Amazon S3 S3-Allzweck-Buckets deaktiviert. Um ABAC für Allzweck-Buckets zu verwenden, müssen Sie es aktivieren.

Bevor Sie ABAC für Ihren Allzweck-Bucket aktivieren, empfehlen wir, dass Sie zunächst die in den folgenden Themen beschriebenen Aufgaben ausführen: 

**Topics**
+ [Überprüfen Ihrer Richtlinien vor der Aktivierung von ABAC](#buckets-tagging-enable-abac-audit)

## Überprüfen Ihrer Richtlinien vor der Aktivierung von ABAC
<a name="buckets-tagging-enable-abac-audit"></a>

Bevor Sie ABAC für Ihren Bucket aktivieren und Ihr Bucket Tags enthält, überprüfen Sie Ihre Zugriffskontrollrichtlinien, um zu überprüfen, ob tagbasierte Bedingungen auf eines der vorhandenen Tags in Ihren Buckets verweisen. Falls ja, vergewissern Sie sich, dass diese Richtlinien wie vorgesehen eingerichtet sind und dass die Aktivierung der tagbasierten Zugriffskontrolle nicht zu unbeabsichtigten Autorisierungsänderungen an Ihren Amazon S3 S3-Workflows führt. Auf diese Weise können Sie sicherstellen, dass Ihre Richtlinien wie vorgesehen funktionieren, nachdem ABAC in Ihren Buckets aktiviert wurde. Beispiele für die Verwendung von attributbasierten Bedingungen mit Tags finden Sie unter. [Verwenden von Tags mit S3-Allzweck-Buckets](buckets-tagging.md)

### Inklusive der erforderlichen Berechtigungen in Ihren IAM-Richtlinien
<a name="buckets-tagging-enable-abac-permissions"></a>

Sie benötigen die folgenden Amazon S3 S3-Berechtigungen, um ABAC für Ihren Bucket zu aktivieren: 
+ `s3:PutBucketAbac`— Aktualisieren Sie den ABAC-Status für Ihren Allzweck-Bucket.
+ `s3:GetBucketAbac`— Zeigen Sie den ABAC-Status für Ihren Allzweck-Bucket an

Nachdem Sie ABAC aktiviert haben, funktionieren die Berechtigungen, die Sie zuvor zum Hinzufügen von Tags zu einem Bucket oder zum Löschen von Tags aus einem Bucket verwendet haben`DeleteBucketTagging`, nicht mehr. `PutBucketTagging` Verwenden Sie stattdessen das `TagResource` und, *UntagResource* APIs um diese Aufgaben auszuführen. 

Wir empfehlen Ihnen, das Tagging `UntagResource` APIs zu verwenden `TagResource` und zu verwalten, bevor Sie ABAC für Ihre Buckets aktivieren. Die Amazon S3 S3-Konsole und CloudFormation jetzt `UntagResource` APIs standardmäßig `TagResource` und verwenden. Sie können ABAC auch in Ihrem Bucket deaktivieren, indem Sie die `PutBucketAbac` API verwenden. Sie können sie verwenden`GetBucketTagging`, um Tags in Ihren Buckets aufzulisten. Diese API funktioniert weiterhin, nachdem Sie ABAC für Ihre Buckets aktiviert haben. Alternativ können Sie sie auch verwenden`ListTagsForResource`, um alle Tags in Ihren Buckets aufzulisten. 

Sie benötigen die folgenden Berechtigungen, um Tags auf allgemeine Buckets anzuwenden und sie aus ihnen zu entfernen. 
+ `s3:TagResource`- Fügen Sie einer AWS Ressource, z. B. einem Amazon S3 S3-Allzweck-Bucket, Tags hinzu.
+ `s3:UntagResource`- Entfernen Sie Tags aus einer AWS Ressource, z. B. einem Amazon S3 S3-Allzweck-Bucket.
+ `s3:ListTagsForResource`- Zeigen Sie die Tags an, die auf eine AWS Ressource angewendet wurden, z. B. auf einen Amazon S3 S3-Allzweck-Bucket.

Die folgende IAM-Richtlinie gewährt die Erlaubnis, ABAC zu aktivieren und seinen Status für Ihren Bucket einzusehen.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutBucketAbac",
        "s3:GetBucketAbac"
      ],
      "Resource": "arn:aws:s3:::my-s3-bucket/*"
    }
  ]
}
```

Weitere Informationen zum Taggen von Allzweck-Buckets und Beispiele für ABAC-Richtlinien für Allzweck-Buckets finden Sie unter. [Verwenden von Tags mit S3-Allzweck-Buckets](buckets-tagging.md) 

### Schritte
<a name="bucket-tag-add-steps"></a>

Wenn Sie über die `s3:PutBucketAbac` Berechtigung für einen Allzweck-Bucket verfügen, können Sie ABAC für den Bucket aktivieren, indem Sie die Amazon S3 S3-Konsole, die AWS Befehlszeilenschnittstelle (AWS CLI), die Amazon S3 S3-REST-API und AWS SDKs verwenden.

### Verwenden der S3-Konsole
<a name="bucket-enable-abac-console"></a>

So aktivieren Sie ABAC mithilfe der Amazon S3 S3-Konsole für einen Allzweck-Bucket:

1. Melden Sie sich bei der Amazon S3 S3-Konsole an unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie im linken Navigationsbereich **Buckets** aus.

1. Wählen Sie den Bucket-Namen. 

1. Wählen Sie die Registerkarte **Eigenschaften** aus. 

1. **Wählen Sie im **Bereich Bucket ABAC** die Option Bearbeiten aus.** 

1. Wählen Sie den Schalter „**Aktivieren**“. 

1. Überprüfen und bestätigen Sie die Berechtigungen, die Sie benötigen, um Tags zu verwalten, nachdem Sie ABAC: `TagResource``UntagResource`, und aktiviert haben. `ListTagsForResource` 

1. Wählen Sie **Änderungen speichern ** aus. 

### Mit dem AWS SDKs
<a name="bucket-enable-abac-sdks"></a>

------
#### [ SDK for Java 2.x ]

Dieses Beispiel zeigt Ihnen, wie Sie Enable ABAC für einen Allzweck-Bucket hinzufügen, indem Sie den AWS SDK for Java 2.x verwenden. Um den Befehl zu verwenden, ersetzen Sie die *user input placeholders* durch Ihre eigenen Informationen. 

```
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.AbacStatus;
import software.amazon.awssdk.services.s3.model.GetBucketAbacRequest;
import software.amazon.awssdk.services.s3.model.GetBucketAbacResponse;
import software.amazon.awssdk.services.s3.model.PutBucketAbacRequest;
import software.amazon.awssdk.services.s3.model.PutBucketAbacResponse;
import software.amazon.awssdk.regions.Region; 

public class BucketAbac {
    public static void main(String[] args) {
        Region region = Region.US_EAST_1;
        S3Client s3 = S3Client.builder()
            .region(region)
            .build();

        putBucketAbac(s3, "amzn-s3-demo-bucket", "Enabled");
        getBucketAbac(s3, "amzn-s3-demo-bucket");

        putBucketAbac(s3, "amzn-s3-demo-bucket", "Disabled");
        getBucketAbac(s3, "amzn-s3-demo-bucket");
    }

    /**
     * Sets the ABAC (Attribute-Based Access Control) status for a specified S3 bucket.
     * 
     * @param s3 The S3Client instance to use for the API call
     * @param bucketName The name of the S3 bucket to update
     * @param status The desired ABAC status ("Enabled" or "Disabled")
    */
    public static void putBucketAbac(S3Client s3, String bucketName, String status) {
       try {
            AbacStatus abacStatus = AbacStatus.builder()
                .abacStatus(status)
                .build();
            PutBucketAbacReqquest request = PutBucketAbacRequest.builder()
                .bucket(bucketName)
                .abacStatus(abacStatus)
                .build();
            s3.putBucketAbac(request);
        } catch (S3Exception e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }
    
    /**
     * Retrieves the current ABAC (Attribute-Based Access Control) status for a specified S3 bucket.
     * 
     * @param s3 The S3Client instance to use for the API call
     * @param bucketName The name of the S3 bucket to query
    */
    public static void getBucketAbac(S3Client s3, String bucketName) {
       try {
            GetBucketAbacReqquest request = GetBucketAbacRequest.builder()
                .bucket(bucketName)
                .build();
            GetBucketAbacResponse response = s3.getBucketAbac(request);
        } catch (S3Exception e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }
}
```

Dieses Beispiel zeigt Ihnen, wie Sie Enable ABAC für einen Allzweck-Bucket hinzufügen, indem Sie das AWS SDK for Java 2.x verwenden. Um den Befehl zu verwenden, ersetzen Sie den `user input placeholders` durch Ihre eigenen Informationen.

------

### Verwenden der REST-API
<a name="bucket-enable-abac-api"></a>

Informationen zur Amazon S3 S3-REST-API-Unterstützung für das Hinzufügen von Tags zu einem Allzweck-Bucket finden Sie im folgenden Abschnitt in der *Amazon Simple Storage Service API-Referenz*:
+ [PutBucketAbac](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketABAC.html)

### Mit dem AWS CLI
<a name="bucket-enable-abac-cli"></a>

Informationen zur Installation der AWS CLI finden Sie unter [Installation der AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) im *AWS Command Line Interface Benutzerhandbuch*.

Das folgende CLI-Beispiel zeigt Ihnen, wie Sie ABAC für einen Allzweck-Bucket aktivieren, indem Sie den AWS CLI verwenden. Um den Befehl zu verwenden, ersetzen Sie den *user input placeholders* durch Ihre eigenen Informationen.

**Anfrage:**

```
# Enable ABAC on a general purpose bucket

aws s3api put-bucket-abac --bucket amzn-s3-demo-bucket --abac-status Status=Enabled --region us-east-2

# Disable ABAC on a general purpose bucket

aws s3api put-bucket-abac --bucket amzn-s3-demo-bucket --abac-status Status=Disabled --region us-east-2

# Get ABAC status on a general purpose bucket

aws s3api get-bucket-abac --bucket amzn-s3-demo-bucket --region us-east-2
```