

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Personalizza i nomi dei ruoli predefiniti utilizzando AWS CDK gli aspetti e gli escape hatch
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches"></a>

*SANDEEP SINGH e James Jacob, Amazon Web Services*

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

Questo modello dimostra come personalizzare i nomi predefiniti dei ruoli creati dai costrutti. AWS Cloud Development Kit (AWS CDK) La personalizzazione dei nomi dei ruoli è spesso necessaria se l'organizzazione ha vincoli specifici basati sulle convenzioni di denominazione. Ad esempio, l'organizzazione potrebbe impostare [limiti di autorizzazioni AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) (IAM) o [politiche di controllo dei servizi (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) che richiedono un prefisso specifico nei nomi dei ruoli. In questi casi, i nomi di ruolo predefiniti generati dai AWS CDK costrutti potrebbero non soddisfare queste convenzioni e potrebbero dover essere modificati. [Questo modello soddisfa tali requisiti utilizzando le vie di [fuga e gli aspetti di](https://docs.aws.amazon.com/cdk/v2/guide/cfn-layer.html).](https://docs.aws.amazon.com/cdk/v2/guide/aspects.html) AWS CDK Gli escape hatch vengono utilizzati per definire nomi di ruolo personalizzati e aspetti per applicare un nome personalizzato a tutti i ruoli, in modo da garantire il rispetto delle politiche e dei vincoli dell'organizzazione.

## Prerequisiti e limitazioni
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ [Prerequisiti specificati nella documentazione AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites)

**Limitazioni**
+ Gli aspetti filtrano le risorse in base ai tipi di risorse, quindi tutti i ruoli condividono lo stesso prefisso. Se sono necessari prefissi di ruolo diversi per ruoli diversi, è necessario filtrare ulteriormente in base ad altre proprietà. Ad esempio, per assegnare prefissi diversi ai ruoli associati alle AWS Lambda funzioni, è possibile filtrare per attributi o tag di ruolo specifici e applicare un prefisso per i ruoli relativi a Lambda e un prefisso diverso per altri ruoli.
+ I nomi di ruolo IAM hanno una lunghezza massima di 64 caratteri, pertanto i nomi di ruolo modificati devono essere tagliati per soddisfare questa restrizione.
+ Alcuni Servizi AWS non sono disponibili in tutti. Regioni AWS Per la disponibilità per regione, vedi [Servizi AWS per regione](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Per endpoint specifici, consulta la pagina [Endpoint e quote del servizio](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e scegli il link relativo al servizio.

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

**Stack tecnologico Target**
+ AWS CDK
+ AWS CloudFormation

**Architettura di destinazione**

![\[Architettura per l'utilizzo di escape hatch e aspetti per personalizzare i nomi di ruolo assegnati da AWS CDK.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/c149d8d2-1da6-4680-ab0b-e5051b69688c/images/15e56ca5-f150-4522-b374-8ee2dcc655a9.png)

+ Un' AWS CDK app è composta da uno o più CloudFormation stack, che vengono sintetizzati e distribuiti per gestire le risorse. AWS 
+ Per modificare una proprietà di una risorsa AWS CDK gestita che non è esposta da un costrutto di livello 2 (L2), utilizzate un escape hatch per sovrascrivere le CloudFormation proprietà sottostanti (in questo caso, il nome del ruolo) e un aspetto per applicare il ruolo a tutte le risorse dell'app durante il processo di sintesi dello stack. AWS CDK AWS CDK 

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

**Servizi AWS**
+ [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/home.html)è un framework di sviluppo software che consente di definire e fornire l'infrastruttura nel codice. Cloud AWS 
+ [AWS CDK Command Line Interface (AWS CDK CLI)](https://docs.aws.amazon.com/cdk/latest/guide/cli.html) (nota anche come AWS CDK Toolkit) è un kit di sviluppo cloud a riga di comando che ti aiuta a interagire con la tua app. AWS CDK Il `cdk` comando CLI è lo strumento principale per interagire con l'app. AWS CDK Esegue l'app, interroga il modello di applicazione definito e produce e distribuisce i CloudFormation modelli generati da. AWS CDK
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)ti aiuta a configurare AWS le risorse, a fornirle in modo rapido e coerente e a gestirle durante il loro ciclo di vita in tutte le regioni. Account AWS 

**Archivio di codice**

Il codice sorgente e i modelli per questo pattern sono disponibili nel repository GitHub [CDK Aspects Override](https://github.com/aws-samples/cdk-aspects-override).

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

[Consultate le migliori pratiche per l'utilizzo di AWS CDK in per TypeScript creare progetti IaC](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/introduction.html) sul sito web di Prescriptive Guidance. **AWS **

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

### Installa la AWS CDK CLI
<a name="install-the-cdk-cli"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa la AWS CDK CLI. | Per installare la AWS CDK CLI a livello globale, esegui il comando:<pre>npm install -g aws-cdk</pre> | AWS DevOps | 
| Verifica la versione. | Eseguire il comando :<pre>cdk --version</pre>Conferma di utilizzare la versione 2 della AWS CDK CLI. | AWS DevOps | 
| Avvia l' AWS CDK ambiente. | Prima di distribuire i CloudFormation modelli, preparate l'account e Regione AWS quello che desiderate utilizzare. Eseguire il comando :<pre>cdk bootstrap <account>/<Region></pre>Per ulteriori informazioni, consulta il [AWS CDK bootstrap nella documentazione](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html). AWS  | AWS DevOps | 

### Implementa l' AWS CDK app per dimostrare l'uso degli aspetti
<a name="deploy-the-cdk-app-to-demonstrate-the-use-of-aspects"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura il progetto. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches.html) | AWS DevOps | 
| Distribuisci stack con nomi di ruolo predefiniti assegnati da. AWS CDK | Implementa due CloudFormation stack (`ExampleStack1`and`ExampleStack2`) che contengono le funzioni Lambda e i ruoli associati:<pre>npm run deploy:ExampleAppWithoutAspects</pre>Il codice non passa esplicitamente le proprietà dei ruoli, quindi i nomi dei ruoli verranno costruiti da. AWS CDKPer un esempio di output, consulta la sezione [Informazioni aggiuntive](#customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-additional). | AWS DevOps | 
| Implementa stack con aspetti. | In questo passaggio, applichi un aspetto che impone una convenzione sui nomi dei ruoli aggiungendo un prefisso a tutti i ruoli IAM distribuiti nel progetto. AWS CDK L'aspetto è definito nel file. `lib/aspects.ts` L'aspetto utilizza una via di fuga per sovrascrivere il nome del ruolo aggiungendo un prefisso. L'aspetto viene applicato agli stack del file. `bin/app-with-aspects.ts` Il prefisso del nome del ruolo utilizzato in questo esempio è. `dev-unicorn`[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches.html)Per un esempio di output, consulta la sezione [Informazioni aggiuntive](#customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-additional). | AWS DevOps | 

### Eseguire la pulizia delle risorse
<a name="clean-up-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Elimina i tuoi AWS CloudFormation stack. | Dopo aver finito di utilizzare questo pattern, esegui il comando seguente per ripulire le risorse ed evitare costi aggiuntivi:<pre>cdk destroy --all -f && cdk --app npx ts-node bin/app-with-aspects.ts' destroy --all -f </pre> | AWS DevOps | 

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


| Problema | Soluzione | 
| --- | --- | 
| Si verificano problemi nell'utilizzo di AWS CDK. | Vedi [Risoluzione dei AWS CDK problemi più comuni](https://docs.aws.amazon.com/cdk/v2/guide/troubleshooting.html) nella AWS CDK documentazione. | 

## Risorse correlate
<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 documentazione](https://docs.aws.amazon.com/cdk/)
+ [AWS CDK su GitHub](https://github.com/aws/aws-cdk)
+ [boccaporti di fuga](https://docs.aws.amazon.com/cdk/v2/guide/cfn-layer.html)
+ [Aspetti e AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/aspects.html)

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

**Nomi di ruolo creati da CloudFormation without aspects**

```
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
```

**Nomi di ruolo creati da CloudFormation con aspetti**

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

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