Tutorial: Automatice el aprovisionamiento de cuentas en AWS Control Tower de Service Catalog APIs - AWS Control Tower

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.

Tutorial: Automatice el aprovisionamiento de cuentas en AWS Control Tower de Service Catalog APIs

AWSLa Torre de Control está integrada con varios otros AWS servicios, tales como AWS Service Catalog. Puede usarlo APIs para crear y aprovisionar sus cuentas de miembros en AWS Control Tower.

El vídeo muestra cómo aprovisionar cuentas de forma automática y por lotes, llamando al AWS Service Catalog APIs. Para el aprovisionamiento, llamará a la ProvisionProductAPIdesde la interfaz de línea de AWS comandos (CLI) y especificará un JSON archivo que contenga los parámetros de cada cuenta que desee configurar. El vídeo ilustra la instalación y el uso del entorno de desarrollo de AWS Cloud9 para realizar este trabajo. Los CLI comandos 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 al UpdateProvisionedProductAPIde AWS Service Catalog para cada cuenta. Puede escribir un script para actualizar las cuentas, una por una.

Como método de automatización completamente diferente, si está familiarizado con Terraform, puede aprovisionar cuentas con AWS Control Tower Account Factory for Terraform () AFT.

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"

Después de configurar estas funciones, debe llamar a las AWS Service Catalog APIs para que realicen las tareas automatizadas. Los CLI comandos se muestran en el vídeo.

Ejemplo de entrada de aprovisionamiento para Service Catalog API

Esta es una muestra de la información que puede proporcionar al Service Catalog ProvisionProduct API si lo utiliza API para aprovisionar cuentas de la Torre de AWS Control:

{ 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 APIreferencia de 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.