

Die Version AWS SDK für Java 1.x wurde end-of-support am 31. Dezember 2025 erreicht. Wir empfehlen Ihnen, auf den zu migrieren [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html), um weiterhin neue Funktionen, Verfügbarkeitsverbesserungen und Sicherheitsupdates zu erhalten.

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.

# Amazon S3 Zugriffsberechtigungen für Buckets und Objekte verwalten
<a name="examples-s3-access-permissions"></a>

Sie können Zugriffskontrolllisten (ACLs) für Amazon S3 Buckets und Objekte verwenden, um Ihre Ressourcen detailliert zu steuern. Amazon S3 

**Anmerkung**  
Bei diesen Codebeispielen wird vorausgesetzt, dass Sie die Informationen [unter Verwenden von](basics.md) verstehen AWS SDK für Java und AWS Standardanmeldedaten anhand der Informationen unter [AWS Anmeldeinformationen einrichten und Region](setup-credentials.md) für die Entwicklung konfiguriert haben.

## Abrufen der Zugriffskontrollliste für einen Bucket
<a name="get-the-access-control-list-for-a-bucket"></a>

Um die aktuelle ACL für einen Bucket abzurufen, rufen Sie die `getBucketAcl` Methode von AmazonS3 auf und übergeben ihr den *Bucket-Namen* für die Abfrage. Diese Methode gibt ein [AccessControlList](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/AccessControlList.html)Objekt zurück. Um jede Zugriffsberechtigung in der Liste abzurufen, rufen Sie die `getGrantsAsList`-Methode des Objekts auf. Sie erhalten dann eine Standard-Java-Liste mit [Grant](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Grant.html)-Objekten.

 **Importe** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AccessControlList;
import com.amazonaws.services.s3.model.Grant;
```

 **Code** 

```
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    AccessControlList acl = s3.getBucketAcl(bucket_name);
    List<Grant> grants = acl.getGrantsAsList();
    for (Grant grant : grants) {
        System.out.format("  %s: %s\n", grant.getGrantee().getIdentifier(),
                grant.getPermission().toString());
    }
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
```

Das [vollständige Beispiel](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/GetAcl.java) finden Sie unter GitHub.

## Festlegen der Zugriffskontrollliste für einen Bucket
<a name="set-the-access-control-list-for-a-bucket"></a>

Um einer ACL für einen Bucket Berechtigungen hinzuzufügen oder zu ändern, rufen Sie die Methode von `setBucketAcl` AmazonS3 auf. Sie benötigt ein [AccessControlList](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/AccessControlList.html)Objekt, das eine Liste von Empfängern und Zugriffsebenen für die Einrichtung enthält.

 **Importe** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AccessControlList;
import com.amazonaws.services.s3.model.EmailAddressGrantee;
```

 **Code** 

```
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    // get the current ACL
    AccessControlList acl = s3.getBucketAcl(bucket_name);
    // set access for the grantee
    EmailAddressGrantee grantee = new EmailAddressGrantee(email);
    Permission permission = Permission.valueOf(access);
    acl.grantPermission(grantee, permission);
    s3.setBucketAcl(bucket_name, acl);
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
```

**Anmerkung**  
Sie können die eindeutige ID des Empfängers direkt mithilfe der Klasse [Stipendiat](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Grantee.html) angeben oder die Klasse verwenden, um den [EmailAddressGrantee](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/EmailAddressGrantee.html)Empfänger per E-Mail festzulegen, wie wir es hier getan haben.

Das [vollständige](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/SetAcl.java) Beispiel finden Sie unter. GitHub

## Abrufen der Zugriffskontrollliste für ein Objekt
<a name="get-the-access-control-list-for-an-object"></a>

Um die aktuelle ACL für ein Objekt abzurufen, rufen Sie die `getObjectAcl` Methode von AmazonS3 auf und übergeben ihr den *Bucket-Namen und den *Objektnamen** für die Abfrage. [Diese Methode gibt zum Beispiel `getBucketAcl` ein [AccessControlList](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/AccessControlList.html)Objekt zurück, mit dem Sie jeden Grant untersuchen können.](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Grant.html)

 **Importe** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AccessControlList;
import com.amazonaws.services.s3.model.Grant;
```

 **Code** 

```
try {
    AccessControlList acl = s3.getObjectAcl(bucket_name, object_key);
    List<Grant> grants = acl.getGrantsAsList();
    for (Grant grant : grants) {
        System.out.format("  %s: %s\n", grant.getGrantee().getIdentifier(),
                grant.getPermission().toString());
    }
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
```

Das [vollständige Beispiel](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/GetAcl.java) finden Sie unter GitHub.

## Festlegen der Zugriffskontrollliste für ein Objekt
<a name="set-the-access-control-list-for-an-object"></a>

Um einer ACL für ein Objekt Berechtigungen hinzuzufügen oder zu ändern, rufen Sie die Methode von `setObjectAcl` AmazonS3 auf. Sie benötigt ein [AccessControlList](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/AccessControlList.html)Objekt, das eine Liste von Empfängern und Zugriffsebenen für die Einrichtung enthält.

 **Importe** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AccessControlList;
import com.amazonaws.services.s3.model.EmailAddressGrantee;
```

 **Code** 

```
    try {
        // get the current ACL
        AccessControlList acl = s3.getObjectAcl(bucket_name, object_key);
        // set access for the grantee
        EmailAddressGrantee grantee = new EmailAddressGrantee(email);
        Permission permission = Permission.valueOf(access);
        acl.grantPermission(grantee, permission);
        s3.setObjectAcl(bucket_name, object_key, acl);
    } catch (AmazonServiceException e) {
        System.err.println(e.getErrorMessage());
        System.exit(1);
    }
}
```

**Anmerkung**  
Sie können die eindeutige ID des Empfängers direkt mithilfe der Klasse [Stipendiat](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Grantee.html) angeben oder die Klasse verwenden, um den [EmailAddressGrantee](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/EmailAddressGrantee.html)Empfänger per E-Mail festzulegen, wie wir es hier getan haben.

Das [vollständige](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/SetAcl.java) Beispiel finden Sie unter. GitHub

## Weitere Informationen
<a name="more-information"></a>
+  [GET Bucket acl](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETacl.html) in der Amazon S3 API-Referenz
+  [Fügen Sie Bucket ACL](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html) in die Amazon S3 API-Referenz ein
+  [GET Object acl](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGETacl.html) in der Amazon S3 API-Referenz
+  [PUT Object acl](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html) in der Amazon S3 API-Referenz