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.
Automatización del aprovisionamiento de cuentas en AWS Control Tower mediante las API de Service Catalog
AWS Control Tower está integrada con varios otros AWS servicios, como. AWS Service Catalog Puede usar las API para crear y aprovisionar sus cuentas de miembros en AWS Control Tower o para inscribir las cuentas de miembros existentes.
nota
Si ha desactivado el IAM Identity Center en la configuración de su zona de destino, los parámetros de usuario del SSO (SSOUserEmailSSOUserFirstName, ySSOUserLastName) no se utilizan durante el aprovisionamiento de la cuenta. Si lo deseas, puedes proporcionar valores de marcador de posición para estos parámetros obligatorios y modificarlos más adelante siguiendo las instrucciones que aparecen en. Actualización del producto aprovisionado en Service Catalog
El vídeo muestra cómo aprovisionar cuentas de forma automatizada por lotes, llamando a las API de AWS Service Catalog . Para el aprovisionamiento, llamarás a la ProvisionProduct API desde la interfaz de línea de AWS comandos (CLI) y especificarás un archivo JSON que contenga los parámetros de cada cuenta que quieras configurar. El vídeo ilustra la instalación y el uso del entorno de desarrollo de AWS Cloud9 para realizar este trabajo. Los comandos de la CLI serían los mismos si usas AWS Cloudshell en lugar de AWS Cloud9.
nota
También puedes adaptar este enfoque para automatizar las actualizaciones de las cuentas, llamando a la UpdateProvisionedProduct API de AWS Service Catalog para cada cuenta. Puede escribir un script para actualizar las cuentas, una por una.
Como método de automatización completamente distinto, si conoce Terraform, puede aprovisionar cuentas con el generador de cuentas para Terraform (AFT) de AWS Control Tower.
Ejemplo de rol de administración de automatización
Esta es una plantilla de ejemplo que puede usar para configurar su rol de administración de automatización en la cuenta de administración. Debe configurar este rol en su cuenta de administración para poder realizar la automatización con acceso de administrador en las cuentas de destino.
AWSTemplateFormatVersion: 2010-09-09 Description: Configure the SampleAutoAdminRole Resources: AdministrationRole: Type: AWS::IAM::Role Properties: RoleName: SampleAutoAdminRole AssumeRolePolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: Service: cloudformation.amazonaws.com Action: - sts:AssumeRole Path: / Policies: - PolicyName: AssumeSampleAutoAdminRole PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - sts:AssumeRole Resource: - "arn:aws:iam::*:role/SampleAutomationExecutionRole"
Ejemplo de rol de ejecución de automatización
Esta es una plantilla de ejemplo que puede usar para configurar su rol de ejecución de automatización. Debe configurar este rol en las cuentas de destino.
AWSTemplateFormatVersion: "2010-09-09" Description: "Create automation execution role for creating Sample Additional Role." Parameters: AdminAccountId: Type: "String" Description: "Account ID for the administrator account (typically management, security or shared services)." AdminRoleName: Type: "String" Description: "Role name for automation administrator access." Default: "SampleAutomationAdministrationRole" ExecutionRoleName: Type: "String" Description: "Role name for automation execution." Default: "SampleAutomationExecutionRole" SessionDurationInSecs: Type: "Number" Description: "Maximum session duration in seconds." Default: 14400 Resources: # This needs to run after AdminRoleName exists. ExecutionRole: Type: "AWS::IAM::Role" Properties: RoleName: !Ref ExecutionRoleName MaxSessionDuration: !Ref SessionDurationInSecs AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: AWS: - !Sub "arn:aws:iam::${AdminAccountId}:role/${AdminRoleName}" Action: - "sts:AssumeRole" Path: "/" ManagedPolicyArns: - "arn:aws:iam::aws:policy/AdministratorAccess"
Tras configurar estas funciones, se llama a las AWS Service Catalog API para realizar las tareas automatizadas. Los comandos de la CLI se muestran en el vídeo.
Ejemplo de entrada de aprovisionamiento para la API de Service Catalog
A continuación, se muestra un ejemplo de los datos que puede introducir en la ProvisionProduct API de Service Catalog si la utiliza para aprovisionar nuevas cuentas de AWS Control Tower o para inscribir cuentas de miembros existentes:
nota
Para inscribir una cuenta de miembro existente mediante la ProvisionProduct API, el rol de AWSControlTowerExecution IAM debe existir en la cuenta de destino antes de llamar a la API. Puede usar los mismos parámetros de entrada que se muestran en el siguiente ejemplo tanto para el aprovisionamiento de cuentas nuevas como para el registro de cuentas existentes.
{ pathId: "lpv2-7n2o3nudljh4e", productId: "prod-y422ydgjge2rs", provisionedProductName: "Example product 1", provisioningArtifactId: "pa-2mmz36cfpj2p4", provisioningParameters: [ { key: "AccountEmail", value: "abc@amazon.com" }, { key: "AccountName", value: "ABC" }, { key: "ManagedOrganizationalUnit", value: "Custom (ou-xfe5-a8hb8ml8)" }, { key: "SSOUserEmail", value: "abc@amazon.com" }, { key: "SSOUserFirstName", value: "John" }, { key: "SSOUserLastName", value: "Smith" } ], provisionToken: "c3c795a1-9824-4fb2-a4c2-4b1841be4068" }
Para obtener más información, consulte la API reference for Service Catalog.
nota
Observe que el formato de la cadena de entrada para el valor de ManagedOrganizationalUnit ha cambiado de OU_NAME a OU_NAME (OU_ID). En el siguiente vídeo no se menciona este cambio.
Tutorial en vídeo
Este vídeo (6:58) describe cómo automatizar las implementaciones de cuentas en AWS Control Tower. Para una mejor visualización, seleccione el icono situado en la esquina inferior derecha del vídeo para agrandarlo a pantalla completa. Hay subtítulos disponibles.