

Die AWS SDK für JavaScript Version 2 ist erreicht end-of-support. Wir empfehlen Ihnen, auf [AWS SDK für JavaScript Version 3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) zu migrieren. Weitere Einzelheiten und Informationen zur Migration finden Sie in dieser [Ankündigung](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

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.

# Arbeiten mit Amazon S3-Bucket-Richtlinien
<a name="s3-example-bucket-policies"></a>

![JavaScript code example that applies to Node.js execution](http://docs.aws.amazon.com/de_de/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Dieses Node.js-Codebeispiel zeigt:**
+ So rufen Sie die Bucket-Richtlinie eines Amazon S3 S3-Buckets ab.
+ So fügen Sie die Bucket-Richtlinie eines Amazon S3 S3-Buckets hinzu oder aktualisieren sie.
+ So löschen Sie die Bucket-Richtlinie eines Amazon S3 S3-Buckets.

## Das Szenario
<a name="w2aac20c25c27c15b9"></a>

In diesem Beispiel werden eine Reihe von Node.js -Modulen verwendet, um eine Bucket-Richtlinie für einen Amazon S3 S3-Bucket abzurufen, festzulegen oder zu löschen. Die Module von Node.js verwenden das SDK JavaScript , um Richtlinien für einen ausgewählten Amazon S3 S3-Bucket mithilfe dieser Methoden der Amazon S3 S3-Clientklasse zu konfigurieren:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getBucketPolicy-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getBucketPolicy-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketPolicy-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketPolicy-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#deleteBucketPolicy-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#deleteBucketPolicy-property)

Weitere Informationen zu Bucket-Richtlinien für Amazon S3 S3-Buckets finden Sie [unter Verwenden von Bucket-Richtlinien und Benutzerrichtlinien](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-iam-policies.html) im *Amazon Simple Storage Service-Benutzerhandbuch*.

## Erforderliche Aufgaben
<a name="w2aac20c25c27c15c11"></a>

Zum Einrichten und Ausführen dieses Beispiels müssen Sie zunächst diese Aufgaben abschließen:
+ Installieren Sie Node.js. Weitere Informationen über die Installation von Node.js finden Sie auf der [Node.js-Website](https://nodejs.org).
+ Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zum Bereitstellen einer Datei mit gemeinsam genutzten Anmeldeinformationen finden Sie unter [Laden der Anmeldeinformationen in Node.js aus der freigegebenen Anmeldeinformationsdatei](loading-node-credentials-shared.md).

## Konfigurieren des SDKs
<a name="s3-example-bucket-policies-configure-sdk"></a>

Konfigurieren Sie das SDK für, JavaScript indem Sie ein globales Konfigurationsobjekt erstellen und dann die Region für Ihren Code festlegen. In diesem Beispiel ist die Region auf `us-west-2` festgelegt.

```
// Load the SDK for JavaScript
var AWS = require('aws-sdk');
// Set the Region 
AWS.config.update({region: 'us-west-2'});
```

## Abrufen der aktuellen Bucket-Richtlinie
<a name="s3-example-bucket-policies-get-policy"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `s3_getbucketpolicy.js`. Das Modul ruft ein einzelnes Befehlszeilenargument ab, um den Bucket anzugeben, dessen Richtlinie Sie möchten. Stellen Sie sicher, dass Sie das SDK wie zuvor dargestellt konfigurieren. 

Erstellen Sie ein `AWS.S3`-Serviceobjekt. Der einzige Parameter, den Sie beim Abrufen der `getBucketPolicy`-Methode weiterleiten müssen, ist der Name des ausgewählten Buckets. Wenn der Bucket derzeit über eine Richtlinie verfügt, wird diese Richtlinie von Amazon S3 in dem an die Callback-Funktion übergebenen `data` Parameter zurückgegeben.

Wenn der ausgewählte Bucket über keine Richtlinie verfügt, werden diese Informationen im `error`-Parameter an die Callback-Funktion zurückgegeben.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

var bucketParams = { Bucket: process.argv[2] };
// call S3 to retrieve policy for selected bucket
s3.getBucketPolicy(bucketParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else if (data) {
    console.log("Success", data.Policy);
  }
});
```

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

```
node s3_getbucketpolicy.js {{BUCKET_NAME}}
```

Diesen Beispielcode finden Sie [hier auf GitHub.](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_getbucketpolicy.js)

## Einrichten einer einfachen Bucket-Richtlinie
<a name="s3-example-bucket-policies-set-policy"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `s3_setbucketpolicy.js`. Das Modul ruft ein einzelnes Befehlszeilenargument ab, um den Bucket anzugeben, dessen Richtlinie Sie anwenden möchten. Konfigurieren Sie das SDK wie zuvor dargestellt. 

Erstellen Sie ein `AWS.S3`-Serviceobjekt. Bucket-Richtlinien sind in JSON-angegeben. Erstellen Sie zunächst ein JSON-Objekt, das alle Werte enthält, die in der Richtlinie festgelegt werden sollen. Eine Ausnahme ist der `Resource`-Wert, über den der Bucket identifiziert wird.

Formatieren Sie die von der Richtlinie benötigte `Resource`-Zeichenfolge und binden Sie den Namen des ausgewählten Buckets darin ein. Fügen Sie diese Zeichenfolge in das JSON-Objekt ein. Bereiten Sie die Parameter für die `putBucketPolicy`-Methode vor, einschließlich dem Namen des Buckets und der in eine Zeichenfolge konvertierten JSON-Richtlinie.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

var readOnlyAnonUserPolicy = {
  Version: "2012-10-17",
  Statement: [
    {
      Sid: "AddPerm",
      Effect: "Allow",
      Principal: "*",
      Action: ["s3:GetObject"],
      Resource: [""],
    },
  ],
};

// create selected bucket resource string for bucket policy
var bucketResource = "arn:aws:s3:::" + process.argv[2] + "/*";
readOnlyAnonUserPolicy.Statement[0].Resource[0] = bucketResource;

// convert policy JSON into string and assign into params
var bucketPolicyParams = {
  Bucket: process.argv[2],
  Policy: JSON.stringify(readOnlyAnonUserPolicy),
};

// set the new policy on the selected bucket
s3.putBucketPolicy(bucketPolicyParams, function (err, data) {
  if (err) {
    // display error message
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

```
node s3_setbucketpolicy.js {{BUCKET_NAME}}
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_setbucketpolicy.js).

## Löschen einer Bucket-Richtlinie
<a name="s3-example-bucket-policies-delete-policy"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `s3_deletebucketpolicy.js`. Das Modul ruft ein einzelnes Befehlszeilenargument ab, um den Bucket anzugeben, dessen Richtlinie Sie löschen möchten. Konfigurieren Sie das SDK wie zuvor dargestellt.

 Erstellen Sie ein `AWS.S3`-Serviceobjekt. Der einzige Parameter, den Sie beim Abrufen der `deleteBucketPolicy`-Methode weiterleiten müssen, ist der Name des ausgewählten Buckets.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

var bucketParams = { Bucket: process.argv[2] };
// call S3 to delete policy for selected bucket
s3.deleteBucketPolicy(bucketParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else if (data) {
    console.log("Success", data);
  }
});
```

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

```
node s3_deletebucketpolicy.js {{BUCKET_NAME}}
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_deletebucketpolicy.js).