

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 IAM-Richtlinien
<a name="iam-examples-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 erstellen und löschen Sie IAM-Richtlinien.
+ So hängen Sie IAM-Richtlinien an Rollen an und trennen sie von ihnen.

## Das Szenario
<a name="iam-examples-policies-scenario"></a>

Sie können einem Benutzer Berechtigungen erteilen, indem Sie eine *Richtlinie* erstellen, d. h., ein Dokument, in dem die Aktionen aufgeführt sind, die ein Benutzer ausführen kann, sowie die Ressourcen, auf die sich diese Aktionen auswirken können. Alle Aktionen oder Ressourcen, die nicht explizit erlaubt sind, werden standardmäßig verweigert. Richtlinien können erstellt und an Benutzer, Benutzergruppen, von Benutzern übernommene Rollen und Ressourcen angehängt werden.

In diesem Beispiel werden eine Reihe von Node.js -Modulen verwendet, um Richtlinien in IAM zu verwalten. Die Module Node.js verwenden das SDK JavaScript zum Erstellen und Löschen von Richtlinien sowie zum Anhängen und Trennen von Rollenrichtlinien mithilfe der folgenden Methoden der `AWS.IAM` Client-Klasse:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#createPolicy-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#createPolicy-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#getPolicy-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#getPolicy-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#listAttachedRolePolicies-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#listAttachedRolePolicies-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#attachRolePolicy-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#attachRolePolicy-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#detachRolePolicy-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#detachRolePolicy-property)

Weitere Informationen zu IAM-Benutzern finden Sie [im *IAM-Benutzerhandbuch* unter Überblick über die Zugriffsverwaltung: Berechtigungen und Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_access-management.html).

## Erforderliche Aufgaben
<a name="iam-examples-policies-prerequisites"></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).
+ Erstellen Sie eine IAM-Rolle, der Sie Richtlinien zuordnen können. Weitere Informationen zum Erstellen von Rollen finden Sie unter [Creating IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) im *IAM-Benutzerhandbuch*.

## Eine IAM-Richtlinie erstellen
<a name="iam-examples-policies-creating"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `iam_createpolicy.js`. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf IAM zuzugreifen, erstellen Sie ein `AWS.IAM` Serviceobjekt. Erstellen Sie zwei JSON-Objekte, eines mit dem Richtliniendokument, das Sie erstellen möchten, und das andere mit den erforderlichen Parametern, die zum Erstellen der Richtlinie erforderlich sind. Hierzu gehören die Richtlinien-JSON und der Name, den Sie der Richtlinie geben möchten. Stellen Sie sicher, dass Sie das JSON-Objekt der Richtlinie in den Parametern in eine Zeichenfolge umwandeln. Rufen Sie die `createPolicy`-Methode des `AWS.IAM`-Serviceobjekts auf.

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

// Create the IAM service object
var iam = new AWS.IAM({ apiVersion: "2010-05-08" });

var myManagedPolicy = {
  Version: "2012-10-17",
  Statement: [
    {
      Effect: "Allow",
      Action: "logs:CreateLogGroup",
      Resource: "RESOURCE_ARN",
    },
    {
      Effect: "Allow",
      Action: [
        "dynamodb:DeleteItem",
        "dynamodb:GetItem",
        "dynamodb:PutItem",
        "dynamodb:Scan",
        "dynamodb:UpdateItem",
      ],
      Resource: "RESOURCE_ARN",
    },
  ],
};

var params = {
  PolicyDocument: JSON.stringify(myManagedPolicy),
  PolicyName: "myDynamoDBPolicy",
};

iam.createPolicy(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

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

```
node iam_createpolicy.js
```

Diesen Beispielcode finden Sie [hier unter GitHub.](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_createpolicy.js)

## Eine IAM-Richtlinie erhalten
<a name="iam-examples-policies-getting"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `iam_getpolicy.js`. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf IAM zuzugreifen, erstellen Sie ein `AWS.IAM` Serviceobjekt. Erstellen Sie ein JSON-Objekt mit den erforderlichen Parametern, um eine Richtlinie abzurufen. Dabei handelt es sich um den ARN der Richtlinie, die Sie abrufen möchten. Rufen Sie die `getPolicy`-Methode des `AWS.IAM`-Serviceobjekts auf. Schreiben Sie die Richtlinienbeschreibung an die Konsole.

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

// Create the IAM service object
var iam = new AWS.IAM({ apiVersion: "2010-05-08" });

var params = {
  PolicyArn: "arn:aws:iam::aws:policy/AWSLambdaExecute",
};

iam.getPolicy(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.Policy.Description);
  }
});
```

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

```
node iam_getpolicy.js
```

Diesen Beispielcode finden Sie [hier unter GitHub.](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_getpolicy.js)

## Anfügen einer verwalteten Rollenrichtlinie
<a name="iam-examples-policies-attaching-role-policy"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `iam_attachrolepolicy.js`. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf IAM zuzugreifen, erstellen Sie ein `AWS.IAM` Serviceobjekt. Erstellen Sie ein JSON-Objekt, das die Parameter enthält, die zum Abrufen einer Liste der verwalteten IAM-Richtlinien erforderlich sind, die einer Rolle zugeordnet sind. Diese Liste besteht aus dem Namen der Rolle. Geben Sie den Rollennamen als Befehlszeilen-Parameter ein. Rufen Sie die `listAttachedRolePolicies`-Methode des `AWS.IAM`-Objekts auf. Diese gibt ein Array von verwalteten Richtlinien an die Callback-Funktion zurück.

Überprüfen Sie die Array-Mitglieder, um festzustellen, ob die Richtlinie, die Sie der Rolle anfügen möchten, bereits zugeordnet ist. Wenn die Richtlinie nicht verknüpft ist, rufen Sie die `attachRolePolicy`-Methode auf, um die Richtlinie anzufügen. 

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

// Create the IAM service object
var iam = new AWS.IAM({ apiVersion: "2010-05-08" });

var paramsRoleList = {
  RoleName: process.argv[2],
};

iam.listAttachedRolePolicies(paramsRoleList, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    var myRolePolicies = data.AttachedPolicies;
    myRolePolicies.forEach(function (val, index, array) {
      if (myRolePolicies[index].PolicyName === "AmazonDynamoDBFullAccess") {
        console.log(
          "AmazonDynamoDBFullAccess is already attached to this role."
        );
        process.exit();
      }
    });
    var params = {
      PolicyArn: "arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess",
      RoleName: process.argv[2],
    };
    iam.attachRolePolicy(params, function (err, data) {
      if (err) {
        console.log("Unable to attach policy to role", err);
      } else {
        console.log("Role attached successfully");
      }
    });
  }
});
```

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

```
node iam_attachrolepolicy.js IAM_ROLE_NAME
```

## Trennen einer verwalteten Rollenrichtlinie
<a name="iam-examples-policies-detaching-role-policy"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `iam_detachrolepolicy.js`. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf IAM zuzugreifen, erstellen Sie ein `AWS.IAM` Serviceobjekt. Erstellen Sie ein JSON-Objekt, das die Parameter enthält, die zum Abrufen einer Liste der verwalteten IAM-Richtlinien erforderlich sind, die einer Rolle zugeordnet sind. Diese Liste besteht aus dem Namen der Rolle. Geben Sie den Rollennamen als Befehlszeilen-Parameter ein. Rufen Sie die `listAttachedRolePolicies`-Methode des `AWS.IAM`-Objekts auf. Diese gibt ein Array von verwalteten Richtlinien an die Callback-Funktion zurück.

Überprüfen Sie die Array-Mitglieder, um festzustellen, ob die Richtlinie, die Sie von der Rolle trennen möchten, angefügt ist. Wenn die Richtlinie angefügt ist, rufen Sie die `detachRolePolicy`-Methode auf, um die Richtlinie zu trennen.

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

// Create the IAM service object
var iam = new AWS.IAM({ apiVersion: "2010-05-08" });

var paramsRoleList = {
  RoleName: process.argv[2],
};

iam.listAttachedRolePolicies(paramsRoleList, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    var myRolePolicies = data.AttachedPolicies;
    myRolePolicies.forEach(function (val, index, array) {
      if (myRolePolicies[index].PolicyName === "AmazonDynamoDBFullAccess") {
        var params = {
          PolicyArn: "arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess",
          RoleName: process.argv[2],
        };
        iam.detachRolePolicy(params, function (err, data) {
          if (err) {
            console.log("Unable to detach policy from role", err);
          } else {
            console.log("Policy detached from role successfully");
            process.exit();
          }
        });
      }
    });
  }
});
```

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

```
node iam_detachrolepolicy.js IAM_ROLE_NAME
```