Prepárese para la personalización - 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.

Prepárese para la personalización

En las siguientes secciones se explican los pasos para configurar Account Factory para el proceso de personalización. Te recomendamos que configures la administración delegada para la cuenta hub antes de comenzar con estos pasos.

Resumen
  • Paso 1. Crea el rol necesario. Cree un rol de IAM que conceda permiso para que AWS Control Tower tenga acceso a la cuenta (hub), donde se almacenan los productos de Service Catalog, también denominados blueprints.

  • Paso 2. Cree el producto. AWS Service Catalog Crea el AWS Service Catalog producto (también denominado «producto modelo») que necesitarás para crear una cuenta personalizada como base.

  • Paso 3. Revisa tu plan personalizado. Inspecciona el AWS Service Catalog producto (plano) que has creado.

  • Paso 4. Llama a tu plan para crear una cuenta personalizada. Introduzca la información del producto del plan y la información del rol en los campos correspondientes de Account Factory, en la consola de AWS Control Tower, al crear la cuenta.

Paso 1. Cree el rol requerido

Antes de empezar a personalizar las cuentas, debe configurar un rol que contenga una relación de confianza entre AWS Control Tower y su cuenta central. Cuando se asume, el rol otorga a AWS Control Tower acceso para administrar la cuenta hub. El rol debe tener un nombre AWSControlTowerBlueprintAccess.

AWS Control Tower asume esta función para crear un recurso de cartera en su nombre y, a continuación AWS Service Catalog, añadir su plan como producto de Service Catalog a esta cartera y, a continuación, compartir esta cartera y su plan con su cuenta de miembro durante el aprovisionamiento de la cuenta.

Creará el AWSControlTowerBlueprintAccess rol, tal y como se explica en las siguientes secciones.

Navegue hasta la consola de IAM para configurar el rol requerido.

Para configurar el rol en una cuenta de AWS Control Tower inscrita
  1. Federe o inicie sesión como principal en la cuenta de administración de la Torre de Control Tower de AWS.

  2. Desde el director federado de la cuenta de administración, asuma o cambie las funciones a la AWSControlTowerExecution función de la cuenta de AWS Control Tower inscrita que seleccione para que sirva como cuenta de blueprint hub.

  3. A partir del AWSControlTowerExecution rol de la cuenta de AWS Control Tower inscrita, cree el AWSControlTowerBlueprintAccess rol con los permisos y las relaciones de confianza adecuados.

nota

Para cumplir con la guía de prácticas AWS recomendadas, es importante que cierre sesión en el AWSControlTowerExecution puesto inmediatamente después de AWSControlTowerBlueprintAccess crearlo.

Para evitar cambios involuntarios en los recursos, la AWSControlTowerExecution función está destinada únicamente a AWS Control Tower.

Si su cuenta de blueprint hub no está inscrita en AWS Control Tower, el AWSControlTowerExecution rol no existirá en la cuenta y no es necesario que lo asuma antes de continuar configurándolo. AWSControlTowerBlueprintAccess

Para configurar el rol en una cuenta de miembro no inscrita
  1. Federe o inicie sesión como principal en la cuenta que desee designar como cuenta central, mediante el método que prefiera.

  2. Cuando hayas iniciado sesión como principal en la cuenta, crea el AWSControlTowerBlueprintAccess rol con los permisos y las relaciones de confianza adecuados.

El AWSControlTowerBlueprintAccessrol debe configurarse para otorgar confianza a dos directores:

  • El principal (usuario) que ejecuta la Torre de Control de AWS en la cuenta de administración de la Torre de Control de AWS.

  • El rol nombrado AWSControlTowerAdmin en la cuenta de administración de la Torre de Control de AWS.

A continuación, se muestra un ejemplo de política de confianza, similar a la que tendrá que incluir en su puesto. Esta política demuestra la mejor práctica de conceder el acceso con los privilegios mínimos. Cuando cree su propia política, sustituya el término YourManagementAccountIdpor el ID de cuenta real de su cuenta de administración de AWS Control Tower y sustituya el término YourControlTowerUserRolepor el identificador de la función de IAM de su cuenta de administración.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::YourManagementAccountId:role/service-role/AWSControlTowerAdmin", "arn:aws:iam::YourManagementAccountId:role/YourControlTowerUserRole" ] }, "Action": "sts:AssumeRole" } ] }

Política de permisos obligatoria

AWS Control Tower requiere que la política administrada nombrada AWSServiceCatalogAdminFullAccess esté asociada a la AWSControlTowerBlueprintAccess función. Esta política proporciona los permisos que AWS Service Catalog busca cuándo permite a AWS Control Tower administrar su cartera y los recursos de sus AWS Service Catalog productos. Puede adjuntar esta política al crear el rol en la consola de IAM.

Es posible que se necesiten permisos adicionales
  • Si almacena sus planos en Amazon S3, AWS Control Tower también requiere la política de AmazonS3ReadOnlyAccess permisos para el AWSControlTowerBlueprintAccess rol.

  • El tipo de producto AWS Service Catalog Terraform requiere que añada algunos permisos adicionales a la política de IAM personalizada de AFC si no utiliza la política de administración predeterminada. Los requiere además de los permisos necesarios para crear los recursos que defina en su plantilla de terraform.

Paso 2. Crea el producto AWS Service Catalog

Para crear un AWS Service Catalog producto, siga los pasos que se indican en la sección Creación de productos de la Guía AWS Service Catalog del administrador. Cuando crees el AWS Service Catalog producto, añadirás el esquema de tu cuenta como plantilla.

importante

Como resultado de la actualización de las licencias HashiCorp de Terraform, se AWS Service Catalog cambió el soporte para los productos de código abierto de Terraform y se aprovisionaron los productos a un nuevo tipo de producto, denominado Externo. Para obtener más información sobre cómo afecta este cambio a AFC, incluida la forma de actualizar los esquemas de sus cuentas actuales al tipo de producto externo, consulte Transición al tipo de producto externo.

Resumen de los pasos para crear un plan
  • Cree o descargue una AWS CloudFormation plantilla o un archivo de configuración tar.gz de Terraform que se convertirá en el plano de su cuenta. Más adelante en esta sección se ofrecen algunos ejemplos de plantillas.

  • Inicia sesión en el Cuenta de AWS lugar donde guardas los planos de Account Factory (a veces denominada cuenta hub).

  • Navega hasta la AWS Service Catalog consola. Selecciona Lista de productos y, a continuación, selecciona Cargar nuevo producto.

  • En el panel de detalles del producto, introduce los detalles de tu producto modelo, como el nombre y la descripción.

  • Selecciona Usar un archivo de plantilla y, a continuación, selecciona Elegir archivo. Seleccione o pegue la plantilla o el archivo de configuración que ha desarrollado o descargado para usarlo como modelo.

  • Selecciona Crear producto en la parte inferior de la página de la consola.

Puede descargar una AWS CloudFormation plantilla del repositorio de arquitectura de AWS Service Catalog referencia. Un ejemplo de ese repositorio ayuda a configurar un plan de respaldo para sus recursos.

Aquí tienes una plantilla de ejemplo para una empresa ficticia llamada Best Pets. Ayuda a establecer una conexión con su base de datos de mascotas.

Resources: ConnectionStringGeneratorLambdaRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: Service: - lambda.amazonaws.com Action: - "sts:AssumeRole" ConnectionStringGeneratorLambda: Type: AWS::Lambda::Function Properties: FunctionName: !Join ['-', ['ConnectionStringGenerator', !Select [4, !Split ['-', !Select [2, !Split ['/', !Ref AWS::StackId]]]]]] Description: Retrieves the connection string for this account to access the Pet Database Role: !GetAtt ConnectionStringGeneratorLambdaRole.Arn Runtime: nodejs16.x Handler: index.handler Timeout: 5 Code: ZipFile: > const response = require("cfn-response"); exports.handler = function (event, context) { const awsAccountId = context.invokedFunctionArn.split(":")[4] const connectionString= "fake connection string that's specific to account " + awsAccountId; const responseData = { Value: connectionString, } response.send(event, context, response.SUCCESS, responseData); return connectionString; }; ConnectionString: Type: Custom::ConnectionStringGenerator Properties: ServiceToken: !GetAtt ConnectionStringGeneratorLambda.Arn PetDatabaseConnectionString: DependsOn: ConnectionString # For example purposes we're using SSM parameter store. # In your template, use secure alternatives to store # sensitive values such as connection strings. Type: AWS::SSM::Parameter Properties: Name: pet-database-connection-string Description: Connection information for the BestPets pet database Type: String Value: !GetAtt ConnectionString.Value

Paso 3. Revisa tu plan personalizado

Puede ver su plano en la AWS Service Catalog consola. Para obtener más información, consulte Administración de productos en la Guía del administrador de Service Catalog.

Paso 4. Llame a su plan para crear una cuenta personalizada

Cuando siga el flujo de trabajo Crear una cuenta en la consola de AWS Control Tower, verá una sección opcional en la que puede introducir información sobre el plan que desea utilizar para personalizar las cuentas.

nota

Debe configurar su cuenta de centro de personalización y añadir al menos un blueprint (producto de Service Catalog) antes de poder introducir esa información en la consola de AWS Control Tower y empezar a aprovisionar cuentas personalizadas.

Cree o actualice una cuenta personalizada en la consola de AWS Control Tower.
  1. Introduzca el ID de cuenta de la cuenta que contiene sus planos.

  2. Desde esa cuenta, seleccione un producto de Service Catalog existente (blueprint existente).

  3. Seleccione la versión adecuada del blueprint (producto Service Catalog), si tiene más de una versión.

  4. (Opcional) Puede añadir o cambiar una política de aprovisionamiento de planos en este punto del proceso. La política de aprovisionamiento del blueprint está escrita en JSON y se adjunta a una función de IAM, por lo que puede aprovisionar los recursos que se especifican en la plantilla del blueprint. AWS Control Tower crea este rol en la cuenta del miembro para que Service Catalog pueda implementar recursos mediante conjuntos de AWS CloudFormation pilas. El rol se denomina AWSControlTower-BlueprintExecution-bp-xxxx. La AdministratorAccess política se aplica aquí de forma predeterminada.

  5. Elija la Región de AWS o las regiones en las que desee implementar las cuentas según este plan.

  6. Si su blueprint contiene parámetros, puede introducir los valores de los parámetros en campos adicionales del flujo de trabajo de la Torre de Control de AWS. Los valores adicionales pueden incluir: un nombre de GitHub repositorio, una GitHub rama, un nombre de clúster de Amazon ECS y una GitHub identidad del propietario del repositorio.

  7. Puedes personalizar las cuentas más adelante siguiendo el proceso de actualización de la cuenta, si tu cuenta central o tus planos aún no están listos.

Para obtener más información, consulte Crea una cuenta personalizada a partir de un plano.