Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Personalice los nombres de los roles predeterminados mediante AWS CDK aspectos y trampillas de escape
SANDEEP SINGH y James Jacob, Amazon Web Services
Resumen
Este patrón muestra cómo personalizar los nombres predeterminados de los roles que se crean mediante componentes fijos. AWS Cloud Development Kit (AWS CDK) La personalización de los nombres de los roles suele ser necesaria si la organización tiene restricciones específicas basadas en las convenciones de nomenclatura. Por ejemplo, su organización puede establecer límites de permisos AWS Identity and Access Management (IAM) o políticas de control de servicios (SCPs) que requieran un prefijo específico en los nombres de las funciones. En esos casos, es posible que los nombres de los roles predeterminados generados por AWS CDK las construcciones no cumplan estas convenciones y sea necesario modificarlos. Este patrón aborda esos requisitos mediante el uso de vías de escape y aspectos de AWS CDK. Utilice las vías de escape para definir los nombres de los roles personalizados y los aspectos para aplicar un nombre personalizado a todos los roles, a fin de garantizar el cumplimiento de las políticas y restricciones de la organización.
Requisitos previos y limitaciones
Requisitos previos
Un activo Cuenta de AWS
Requisitos previos especificados en la documentación de AWS CDK
Limitaciones
Los aspectos filtran los recursos en función de los tipos de recursos, por lo que todos los roles comparten el mismo prefijo. Si necesita prefijos de rol diferentes para roles distintos, es necesario aplicar filtros adicionales en función de otras propiedades. Por ejemplo, para asignar distintos prefijos a los roles que están asociados a AWS Lambda funciones, puede filtrar por atributos o etiquetas de rol específicos y aplicar un prefijo para los roles relacionados con Lambda y un prefijo diferente para los demás roles.
Los nombres de los roles de IAM tienen una longitud máxima de 64 caracteres, por lo que los nombres de los roles modificados deben recortarse para cumplir con esta restricción.
Algunos Servicios de AWS no están disponibles en todos. Regiones de AWS Para conocer la disponibilidad de las regiones, consulte Servicios de AWS by Region
. Para los puntos de conexión específicos, consulte la página Service endpoints and quotas y elija el enlace del servicio.
Arquitectura
Pila de tecnología de destino
AWS CDK
AWS CloudFormation
Arquitectura de destino

Una AWS CDK aplicación consta de una o más CloudFormation pilas, que se sintetizan e implementan para administrar AWS los recursos.
Para modificar una propiedad de un recurso AWS CDK administrado que no esté expuesta por una construcción de capa 2 (L2), se utiliza una vía de escape para anular las CloudFormation propiedades subyacentes (en este caso, el nombre de la función) y un aspecto para aplicar la función a todos los recursos de la AWS CDK aplicación durante el proceso de síntesis de la pila. AWS CDK
Tools (Herramientas)
Servicios de AWS
AWS Cloud Development Kit (AWS CDK)es un marco de desarrollo de software que le ayuda a definir y aprovisionar la Nube de AWS infraestructura en el código.
AWS CDK La interfaz de línea de comandos (AWS CDK CLI) (también conocida como kit de AWS CDK herramientas) es un kit de desarrollo en la nube de línea de comandos que le ayuda a interactuar con su AWS CDK aplicación. El
cdkcomando CLI es la herramienta principal para interactuar con AWS CDK la aplicación. Ejecuta tu aplicación, consulta el modelo de aplicación que has definido y produce e implementa las CloudFormation plantillas generadas por el. AWS CDKCloudFormationle ayuda a configurar AWS los recursos, aprovisionarlos de forma rápida y coherente y administrarlos a lo largo de su ciclo de vida en todas Cuentas de AWS las regiones.
Repositorio de código
El código fuente y las plantillas de este patrón están disponibles en el repositorio GitHub CDK Aspects Override
Prácticas recomendadas
Consulte las mejores prácticas para usar el AWS CDK in TypeScript para crear proyectos de IaC en el sitio web de la Guía AWS prescriptiva.
Epics
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Instale la AWS CDK CLI. | Para instalar la AWS CDK CLI globalmente, ejecute el comando:
| AWS DevOps |
Verificar la versión. | Ejecute el comando:
Confirme que está utilizando la versión 2 de la AWS CDK CLI. | AWS DevOps |
Inicie el AWS CDK entorno. | Antes de implementar las CloudFormation plantillas, prepare la cuenta Región de AWS que desea usar. Ejecute el comando:
Para obtener más información, consulte el proceso de AWS CDK arranque en la documentación. AWS | AWS DevOps |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Configure el proyecto. |
| AWS DevOps |
Implemente pilas con los nombres de rol predeterminados asignados por AWS CDK. | Implemente dos CloudFormation pilas (
El código no transfiere explícitamente las propiedades de los roles, por lo que los nombres de los roles los construirá AWS CDK. Para obtener un ejemplo de resultado, consulte la sección Información adicional. | AWS DevOps |
Implemente pilas con aspectos. | En este paso, se aplica un aspecto que impone una convención de nombres de roles añadiendo un prefijo a todos los roles de IAM que se implementan en el proyecto. AWS CDK El aspecto se define en el archivo
Para obtener un ejemplo de resultado, consulte la sección Información adicional. | AWS DevOps |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Elimine sus AWS CloudFormation pilas. | Cuando termine este patrón, ejecute el comando siguiente para eliminar los recursos y evitar incurrir en costos adicionales:
| AWS DevOps |
Resolución de problemas
| Problema | Solución |
|---|---|
Tiene problemas al utilizar el AWS CDK. | Consulte Solución de AWS CDK problemas comunes en la AWS CDK documentación. |
Recursos relacionados
Información adicional
Nombres de roles creados por CloudFormation sin aspectos
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
Nombres de rol creados por CloudFormation With Aspects
Outputs: ExampleStack1WithAspects.Function1RoleName = dev-unicorn-Function1LambdaFunctionServiceRole783660DC ExampleStack1WithAspects.Function2RoleName = dev-unicorn-Function2LambdaFunctionServiceRole2C391181 ... Outputs: ExampleStack2WithAspects.Function3RoleName = dev-unicorn-Function3LambdaFunctionServiceRole4CAA721C