

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.

# Passen Sie Standardrollennamen mithilfe von AWS CDK Aspekten und Escape-Schraffuren an
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches"></a>

*SANDEEP SINGH und James Jacob, Amazon Web Services*

## Zusammenfassung
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-summary"></a>

Dieses Muster zeigt, wie die Standardnamen von Rollen, die durch AWS Cloud Development Kit (AWS CDK) Konstrukte erstellt werden, angepasst werden können. Das Anpassen von Rollennamen ist häufig erforderlich, wenn in Ihrer Organisation bestimmte Einschränkungen gelten, die auf Namenskonventionen basieren. Beispielsweise kann Ihre Organisation AWS Identity and Access Management (IAM) [Berechtigungsgrenzen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) oder [Dienststeuerungsrichtlinien (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) festlegen, die ein bestimmtes Präfix in Rollennamen erfordern. In solchen Fällen entsprechen die durch AWS CDK Konstrukte generierten Standardrollennamen möglicherweise nicht diesen Konventionen und müssen möglicherweise geändert werden. Dieses Muster erfüllt diese Anforderungen durch die Verwendung von [Notluken](https://docs.aws.amazon.com/cdk/v2/guide/cfn-layer.html) und [Aspekten](https://docs.aws.amazon.com/cdk/v2/guide/aspects.html) in der. AWS CDK Sie verwenden Schraffuren, um benutzerdefinierte Rollennamen zu definieren, und Aspekte, um allen Rollen einen benutzerdefinierten Namen zuzuweisen, um sicherzustellen, dass die Richtlinien und Einschränkungen Ihrer Organisation eingehalten werden.

## Voraussetzungen und Einschränkungen
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-prereqs"></a>

**Voraussetzungen**
+ Ein aktiver AWS-Konto
+ In der [AWS CDK Dokumentation](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites) angegebene Voraussetzungen

**Einschränkungen**
+ Aspekte filtern Ressourcen nach Ressourcentypen, sodass alle Rollen dasselbe Präfix verwenden. Wenn Sie unterschiedliche Rollenpräfixe für verschiedene Rollen benötigen, ist eine zusätzliche Filterung auf der Grundlage anderer Eigenschaften erforderlich. Um beispielsweise Rollen, die mit AWS Lambda Funktionen verknüpft sind, unterschiedliche Präfixe zuzuweisen, könnten Sie nach bestimmten Rollenattributen oder Tags filtern und ein Präfix für Lambda-bezogene Rollen und ein anderes Präfix für andere Rollen anwenden.
+ IAM-Rollennamen haben eine maximale Länge von 64 Zeichen. Daher müssen modifizierte Rollennamen gekürzt werden, um diese Einschränkung zu erfüllen.
+ Einige AWS-Services sind nicht in allen verfügbar. AWS-Regionen Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie [AWS-Services unter Nach Regionen](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Informationen zu bestimmten Endpunkten finden Sie auf der Seite [Dienstendpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html). Wählen Sie dort den Link für den Dienst aus.

## Architektur
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-architecture"></a>

**Zieltechnologie-Stack**
+ AWS CDK
+ AWS CloudFormation

**Zielarchitektur**

![Architektur für die Verwendung von Notluken und Aspekten zur Anpassung der vom AWS CDK zugewiesenen Rollennamen.](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/c149d8d2-1da6-4680-ab0b-e5051b69688c/images/15e56ca5-f150-4522-b374-8ee2dcc655a9.png)

+ Eine AWS CDK App besteht aus einem oder mehreren CloudFormation Stacks, die synthetisiert und zur Verwaltung von Ressourcen bereitgestellt werden. AWS 
+ Um eine Eigenschaft einer AWS CDK verwalteten Ressource zu ändern, die nicht durch ein Layer-2-Konstrukt (L2) offengelegt wird, verwenden Sie eine Escape-Hatch, um die zugrunde liegenden CloudFormation Eigenschaften (in diesem Fall den Rollennamen) zu überschreiben, und einen Aspekt, um die Rolle während der Stack-Synthese auf alle Ressourcen in der AWS CDK App anzuwenden. AWS CDK 

## Tools
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-tools"></a>

**AWS-Services**
+ [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/home.html)ist ein Softwareentwicklungs-Framework, das Ihnen hilft, AWS Cloud Infrastruktur im Code zu definieren und bereitzustellen.
+ AWS CDK Die [Befehlszeilenschnittstelle (AWS CDK CLI)](https://docs.aws.amazon.com/cdk/latest/guide/cli.html) (auch als AWS CDK Toolkit bezeichnet) ist ein Befehlszeilen-Cloud-Entwicklungskit, mit dem Sie mit Ihrer AWS CDK App interagieren können. Der `cdk` CLI-Befehl ist das wichtigste Tool für die Interaktion mit Ihrer AWS CDK App. Er führt Ihre App aus, fragt das von Ihnen definierte Anwendungsmodell ab und erstellt und stellt die CloudFormation Vorlagen bereit, die von der generiert werden. AWS CDK
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)hilft Ihnen dabei, AWS Ressourcen einzurichten, sie schnell und konsistent bereitzustellen und sie während ihres gesamten Lebenszyklus regionsübergreifend AWS-Konten zu verwalten.

**Code-Repository**

Der Quellcode und die Vorlagen für dieses Muster sind im GitHub [CDK Aspects Override-Repository](https://github.com/aws-samples/cdk-aspects-override) verfügbar.

## Best Practices
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-best-practices"></a>

Weitere Informationen finden Sie auf [der Website **AWS **Prescriptive Guidance unter Bewährte Methoden für die Verwendung von AWS CDK in TypeScript zur Erstellung von IaC-Projekten](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/introduction.html).

## Epen
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-epics"></a>

### Installieren Sie die AWS CDK CLI
<a name="install-the-cdk-cli"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Installieren Sie die AWS CDK CLI. | Führen Sie den folgenden Befehl aus, um die AWS CDK CLI global zu installieren:<pre>npm install -g aws-cdk</pre> | AWS DevOps | 
| Überprüfen Sie die Version. | Führen Sie den Befehl aus:<pre>cdk --version</pre><br />Vergewissern Sie sich, dass Sie Version 2 der AWS CDK CLI verwenden. | AWS DevOps | 
| Bootstrapping für die AWS CDK Umgebung. | Bevor Sie die CloudFormation Vorlagen bereitstellen, bereiten Sie das Konto vor AWS-Region , das Sie verwenden möchten. Führen Sie den Befehl aus:<pre>cdk bootstrap <account>/<Region></pre><br />Weitere Informationen finden Sie in der [AWS CDK Dokumentation unter Bootstrapping](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html). AWS  | AWS DevOps | 

### Stellen Sie die AWS CDK App bereit, um die Verwendung von Aspekten zu demonstrieren
<a name="deploy-the-cdk-app-to-demonstrate-the-use-of-aspects"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie das Projekt ein. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches.html) | AWS DevOps | 
| Stellen Sie Stacks mit Standardrollennamen bereit, die AWS CDK von der zugewiesen wurden. | Stellen Sie zwei CloudFormation Stacks (`ExampleStack1`und`ExampleStack2`) bereit, die die Lambda-Funktionen und die zugehörigen Rollen enthalten:<pre>npm run deploy:ExampleAppWithoutAspects</pre><br />Der Code übergibt Rolleneigenschaften nicht explizit, sodass die Rollennamen von erstellt werden. AWS CDK<br />Ein Beispiel für die Ausgabe finden Sie im Abschnitt [Zusätzliche Informationen](#customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-additional). | AWS DevOps | 
| Stellen Sie Stacks mit Aspekten bereit. | In diesem Schritt wenden Sie einen Aspekt an, der eine Konvention für Rollennamen erzwingt, indem Sie allen IAM-Rollen, die im Projekt bereitgestellt werden, ein Präfix hinzufügen. AWS CDK Der Aspekt ist in der `lib/aspects.ts` Datei definiert. Der Aspekt verwendet eine Escape-Schraffur, um den Rollennamen durch Hinzufügen eines Präfixes zu überschreiben. Der Aspekt wird auf die Stapel in der `bin/app-with-aspects.ts` Datei angewendet. Das in diesem Beispiel verwendete Präfix für den Rollennamen lautet`dev-unicorn`.[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches.html)<br />Ein Beispiel für die Ausgabe finden Sie im Abschnitt [Zusätzliche Informationen](#customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-additional). | AWS DevOps | 

### Bereinigen von Ressourcen
<a name="clean-up-resources"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Lösche deine AWS CloudFormation Stapel. | Wenn Sie dieses Muster nicht mehr verwenden, führen Sie den folgenden Befehl aus, um Ressourcen zu bereinigen und zusätzliche Kosten zu vermeiden:<pre>cdk destroy --all -f && cdk --app npx ts-node bin/app-with-aspects.ts' destroy --all -f </pre> | AWS DevOps | 

## Fehlerbehebung
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Sie stoßen auf Probleme mit der AWS CDK. | Weitere Informationen finden Sie in der AWS CDK Dokumentation [zur Behebung häufiger AWS CDK Probleme](https://docs.aws.amazon.com/cdk/v2/guide/troubleshooting.html). | 

## Zugehörige Ressourcen
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-resources"></a>
+ [AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk/)
+ [AWS CDK Dokumentation](https://docs.aws.amazon.com/cdk/)
+ [AWS CDK auf GitHub](https://github.com/aws/aws-cdk)
+ [Fluchtluken](https://docs.aws.amazon.com/cdk/v2/guide/cfn-layer.html)
+ [Aspekte und die AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/aspects.html)

## Zusätzliche Informationen
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-additional"></a>

**Rollennamen, die von CloudFormation Without Aspects erstellt wurden**

```
Outputs:
ExampleStack1WithoutAspects.Function1RoleName = example-stack1-without-as-Function1LambdaFunctionSe-y7FYTY6FXJXA
ExampleStack1WithoutAspects.Function2RoleName = example-stack1-without-as-Function2LambdaFunctionSe-dDZV4rkWqWnI
...

Outputs:
ExampleStack2WithoutAspects.Function3RoleName = example-stack2-without-as-Function3LambdaFunctionSe-ygMv49iTyMq0
```

**Rollennamen, die von CloudFormation with aspects erstellt wurden**

```
Outputs:
ExampleStack1WithAspects.Function1RoleName = dev-unicorn-Function1LambdaFunctionServiceRole783660DC
ExampleStack1WithAspects.Function2RoleName = dev-unicorn-Function2LambdaFunctionServiceRole2C391181
...

Outputs:
ExampleStack2WithAspects.Function3RoleName = dev-unicorn-Function3LambdaFunctionServiceRole4CAA721C
```