

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.

# Unir una instancia de Amazon EC2 Linux a su Active Directory AWS administrado de Microsoft AD
<a name="joining_linux_instance"></a>

Puede lanzar una instancia EC2 Linux y unirla a su Microsoft AD AWS administrado en. Consola de administración de AWS También puede unir manualmente la instancia EC2 Linux a su Microsoft AD AWS administrado. También se pueden utilizar herramientas como Winbind para unir un dominio de una instancia EC2 Linux a su AWS Microsoft AD administrado.

Son compatibles las siguientes distribuciones y versiones de instancias de Linux:
+ Amazon Linux AMI 2018.03.0
+ Amazon Linux 2 (64 bits x86)
+ Red Hat Enterprise Linux 8 (HVM) (64 bits x86)
+ Ubuntu Server 18.04 LTS y Ubuntu Server 16.04 LTS
+ CentOS 7 x86-64
+ SUSE Linux Enterprise Server 15 SP1

**nota**  
Las distribuciones anteriores a Ubuntu 14 y Red Hat Enterprise Linux 7 y 8 no admiten la característica de unión fluida de dominios.

**Topics**
+ [Unir sin problemas una instancia de Amazon EC2 Linux a su Active Directory AWS gestionado de Microsoft AD](seamlessly_join_linux_instance.md)
+ [Unir sin problemas una instancia Amazon EC2 Linux a un AWS Microsoft AD gestionado compartido](seamlessly_join_linux_to_shared_MAD.md)
+ [Unir manualmente una instancia de Amazon EC2 Linux a su Active Directory AWS administrado de Microsoft AD](join_linux_instance.md)
+ [Unir manualmente una instancia Linux de Amazon EC2 a su Active Directory administrado de AWS Microsoft AD mediante Winbind](join_linux_instance_winbind.md)

# Unir sin problemas una instancia de Amazon EC2 Linux a su Active Directory AWS gestionado de Microsoft AD
<a name="seamlessly_join_linux_instance"></a>

Este procedimiento une sin problemas una instancia Linux de Amazon EC2 a su Active Directory administrado de AWS Microsoft AD. Para completar este procedimiento, tendrá que crear un AWS Secrets Manager secreto, lo que puede suponer costes adicionales. Para obtener más información, consulte [AWS Secrets Manager Precios](https://aws.amazon.com/secrets-manager/pricing/).

Si necesita realizar una unión de dominios perfecta entre varias AWS cuentas, si lo desea, puede optar por habilitar el [uso compartido del directorio](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_directory_sharing.html).

Son compatibles las siguientes distribuciones y versiones de instancias de Linux:
+ Amazon Linux AMI 2018.03.0
+ Amazon Linux 2 (64 bits x86)
+ Red Hat Enterprise Linux 8 (HVM) (64 bits x86)
+ Ubuntu Server 18.04 LTS y Ubuntu Server 16.04 LTS
+ CentOS 7 x86-64
+ SUSE Linux Enterprise Server 15 SP1

**nota**  
Las distribuciones anteriores a Ubuntu 14 y Red Hat Enterprise Linux 7 y 8 no admiten la característica de unión fluida de dominios.

Para ver una demostración del proceso de unir sin problemas una instancia de Linux a su Active Directory AWS administrado de Microsoft AD, consulte el siguiente YouTube vídeo.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/NNUtdVVZVxU?si=_0zOiXhUObcW0_Wo/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/NNUtdVVZVxU?si=_0zOiXhUObcW0_Wo)


## Requisitos previos
<a name="seamless-linux-prereqs"></a>

Para poder configurar una unión de dominios fluida a una instancia de Linux de EC2, debe completar los procedimientos de estas secciones.

### Requisitos previos de red para una unión de dominios fluida
<a name="linux-domain-join-networking-prereqs"></a>

Para unirse a un dominio de una instancia de Linux de EC2 de forma fluida, se deberán completar los siguientes pasos: 
+ Se necesitarán los siguientes permisos de IAM para unirse de manera fluida a una instancia de Linux de EC2:
  + Tenga un Microsoft AD AWS administrado. Para obtener más información, consulte [Creación de su Microsoft AD AWS administrado](ms_ad_getting_started.md#ms_ad_getting_started_create_directory).
  + Se necesitarán los siguientes permisos de IAM para unirse de manera fluida a una instancia de Windows de EC2:
    + Perfil de instancia de IAM con los siguientes permisos de IAM:
      + `AmazonSSMManagedInstanceCore`
      + `AmazonSSMDirectoryServiceAccess`
    + El dominio del usuario que une sin problemas el EC2 al Microsoft AD AWS administrado necesita los siguientes permisos de IAM:
      + Directory Service Permisos:
        + `"ds:DescribeDirectories"`
        + `"ds:CreateComputer"`
      + Permisos de Amazon VPC:
        + `"ec2:DescribeVpcs"`
        + `"ec2:DescribeSubnets"`
        + `"ec2:DescribeNetworkInterfaces"`
        + `"ec2:CreateNetworkInterface"`
        + `"ec2:AttachNetworkInterface"`
      + Permisos de EC2:
        + `"ec2:DescribeInstances"`
        + `"ec2:DescribeImages"`
        + `"ec2:DescribeInstanceTypes"`
        + `"ec2:RunInstances"`
        + `"ec2:CreateTags"`
      + AWS Systems Manager Permisos:
        + `"ssm:DescribeInstanceInformation"`
        + `"ssm:SendCommand"`
        + `"ssm:GetCommandInvocation"`
        + `"ssm:CreateBatchAssociation"`
+ Cuando se crea su Microsoft AD AWS administrado, se crea un grupo de seguridad con reglas de entrada y salida. Para obtener más información acerca de las reglas y los puertos, consulte [Qué se crea con su Microsoft AD AWS administrado](ms_ad_getting_started_what_gets_created.md). Para unirse a un dominio sin problemas a una instancia de Linux EC2, la VPC en la que vaya a lanzar la instancia debe permitir los mismos puertos permitidos en las reglas de entrada y salida del grupo de seguridad Microsoft AD AWS administrado.
  + En función de la configuración de seguridad de la red y del firewall, es posible que se deba permitir tráfico saliente adicional. Este tráfico sería para HTTPS (puerto 443) a los siguientes puntos de conexión:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/directoryservice/latest/admin-guide/seamlessly_join_linux_instance.html)
+ Le recomendamos que utilice un servidor DNS que resuelva su nombre de dominio de Microsoft AD AWS administrado. Para lograrlo, se puede crear un conjunto de opciones de DHCP. Para obtener más información, consulte [Crear o cambiar un conjunto de opciones de DHCP para Microsoft AWS AD administrado](dhcp_options_set.md).
  + Si decide no crear un conjunto de opciones de DHCP, sus servidores DNS serán estáticos y los configurará su Microsoft AD AWS administrado.

### Selección de la cuenta de servicio de unión de dominios fluida
<a name="seamless-linux-prereqs-select"></a>

Puede unir sin problemas ordenadores Linux a su dominio de Active Directory AWS administrado de Microsoft AD. Para ello, debe usar una cuenta de usuario con permisos de creación de cuentas de equipos para unir las máquinas al dominio. Si bien es posible que los miembros de los *administradores delegados de AWS * u otros grupos tengan privilegios suficientes para unir los equipos al dominio, no lo recomendamos. Como práctica recomendada, le recomendamos que utilice una cuenta de servicio que tenga los privilegios mínimos necesarios para unir los equipos al dominio. 

Para delegar una cuenta con los privilegios mínimos necesarios para unir los equipos al dominio, puede ejecutar los siguientes PowerShell comandos. Debe ejecutar estos comandos desde un equipo Windows unido a un dominio con [Instalación de herramientas de administración de Active Directory para Microsoft AD AWS administrado](ms_ad_install_ad_tools.md) instalado. Además, debe utilizar una cuenta que tenga permiso para modificar los permisos de la unidad organizativa o el contenedor del equipo. El PowerShell comando establece los permisos que permiten a la cuenta de servicio crear objetos de ordenador en el contenedor de ordenadores predeterminado del dominio.

```
$AccountName = 'awsSeamlessDomain'
# DO NOT modify anything below this comment.
# Getting Active Directory information.
Import-Module 'ActiveDirectory'
$Domain = Get-ADDomain -ErrorAction Stop
$BaseDn = $Domain.DistinguishedName
$ComputersContainer = $Domain.ComputersContainer
$SchemaNamingContext = Get-ADRootDSE | Select-Object -ExpandProperty 'schemaNamingContext'
[System.GUID]$ServicePrincipalNameGuid = (Get-ADObject -SearchBase $SchemaNamingContext -Filter { lDAPDisplayName -eq 'Computer' } -Properties 'schemaIDGUID').schemaIDGUID
# Getting Service account Information.
$AccountProperties = Get-ADUser -Identity $AccountName
$AccountSid = New-Object -TypeName 'System.Security.Principal.SecurityIdentifier' $AccountProperties.SID.Value
# Getting ACL settings for the Computers container.
$ObjectAcl = Get-ACL -Path "AD:\$ComputersContainer"
# Setting ACL allowing the service account the ability to create child computer objects in the Computers container.
$AddAccessRule = New-Object -TypeName 'System.DirectoryServices.ActiveDirectoryAccessRule' $AccountSid, 'CreateChild', 'Allow', $ServicePrincipalNameGUID, 'All'
$ObjectAcl.AddAccessRule($AddAccessRule)
Set-ACL -AclObject $ObjectAcl -Path "AD:\$ComputersContainer"
```

Si prefiere utilizar una interfaz de usuario gráfica (GUI), puede utilizar el proceso manual que se describe en [Privilegios delegados a su cuenta de servicio](ad_connector_getting_started.md#connect_delegate_privileges).

### Creación de secretos para almacenar la cuenta de servicio de dominio
<a name="-create-secrets"></a>

Puede utilizarlos AWS Secrets Manager para almacenar la cuenta de servicio del dominio. Para obtener más información, consulta [Crear un AWS Secrets Manager secreto](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html).

**nota**  
Hay tarifas asociadas con Secrets Manager. Para obtener más información, consulte [Precios](https://docs.aws.amazon.com//secretsmanager/latest/userguide/intro.html#asm_pricing) en la *Guía del usuario de AWS Secrets Manager *.

**Creación de secretos y almacenamiento de la información de la cuenta de servicio de dominio**

1. Inicie sesión en Consola de administración de AWS y abra la AWS Secrets Manager consola en [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Elija **Almacenar un secreto nuevo**. 

1. En la página **Store a new secret** (Almacenar un nuevo secreto), haga lo siguiente:

   1. En **Tipo de secreto**, seleccione **Otro tipo de secretos**.

   1. En **Pares clave/valor**, haga lo siguiente:

      1. En el cuadro de filtro, escriba **awsSeamlessDomainUsername**. En la misma fila, en el cuadro siguiente, ingrese el nombre de usuario de su cuenta de servicio. Por ejemplo, si utilizó el PowerShell comando anteriormente, el nombre de la cuenta de servicio sería**awsSeamlessDomain**.
**nota**  
Debe ingresar **awsSeamlessDomainUsername** exactamente como está. Asegúrese de que no haya espacios al principio ni al final. De lo contrario, la unión de dominio fallará.   
![\[En la AWS Secrets Manager consola, en la página de selección de un tipo de secreto. En el tipo de secreto, se selecciona otro tipo de secreto y se introduce awsSeamlessDomainUsername como valor clave.\]](http://docs.aws.amazon.com/es_es/directoryservice/latest/admin-guide/images/secrets_manager_1.png)

      1. Seleccione **Agregar regla**.

      1. En la nueva fila, en el primer cuadro, ingrese **awsSeamlessDomainPassword**. En la misma fila, en el cuadro siguiente, ingrese la contraseña de su cuenta de servicio.
**nota**  
Debe ingresar **awsSeamlessDomainPassword** exactamente como está. Asegúrese de que no haya espacios al principio ni al final. De lo contrario, la unión de dominio fallará. 

      1. En **Clave de cifrado**, deje el valor predeterminado `aws/secretsmanager`. AWS Secrets Manager siempre cifra el secreto al elegir esta opción. También puede elegir una clave que haya creado.

      1. Elija **Siguiente**.

1. En **Nombre secreto**, introduce un nombre secreto que incluya tu ID de directorio *d-xxxxxxxxx* con el siguiente formato y sustitúyelo por tu ID de directorio:

   ```
   aws/directory-services/d-xxxxxxxxx/seamless-domain-join
   ```

   Se usará para recuperar los secretos de la aplicación.
**nota**  
Debe introducirlo **aws/directory-services/*d-xxxxxxxxx*/seamless-domain-join** exactamente como está, pero *d-xxxxxxxxxx* sustitúyalo por su ID de directorio. Asegúrese de que no haya espacios al principio ni al final. De lo contrario, la unión de dominio fallará.   
![\[En la AWS Secrets Manager consola, en la página secreta de configuración. Se introduce el nombre del secreto y se resalta.\]](http://docs.aws.amazon.com/es_es/directoryservice/latest/admin-guide/images/secrets_manager_2.png)

1. Deje todo lo demás con los valores predeterminados y, a continuación, elija **Siguiente**.

1. En **Configurar rotación automática**, elija **Deshabilitar rotación automática** y, a continuación, **Siguiente**.

   Puede activar la rotación de este secreto después de almacenarlo.

1. Revise la configuración y, a continuación, elija **Almacenar** para guardar los cambios. La consola de Secrets Manager vuelve a la lista de secretos de su cuenta con el nuevo secreto ahora incluido en la lista. 

1. Elija el nombre del secreto recién creado de la lista y tome nota del valor del **ARN del secreto**. Lo necesitará en la sección siguiente.

### Activación de la rotación para el secreto de la cuenta de servicio de dominio
<a name="seamless-linux-prereqs-turn-on-rotation"></a>

Se recomienda modificar los secretos de manera regular para mejorar la postura de seguridad. 

**Activación de la rotación para el secreto de la cuenta de servicio de dominio**
+ Siga las instrucciones de la *Guía del AWS Secrets Manager usuario sobre cómo configurar la rotación automática de* [los AWS Secrets Manager secretos](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_turn-on-for-other.html).

  Para el paso 5, utilice la plantilla de rotación [Credenciales de Microsoft Active Directory](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_available-rotation-templates.html#template-AD-password) en la *Guía del usuario de AWS Secrets Manager *.

  Para obtener ayuda, consulte [Solucionar problemas de AWS Secrets Manager rotación](https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot_rotation.html) en la *Guía del AWS Secrets Manager usuario*.

### Creación del rol y la política de IAM obligatorios
<a name="seamless-linux-prereqs-create-policy"></a>

Siga los siguientes pasos previos para crear una política personalizada que permita el acceso de solo lectura a su secreto de unión a dominios integrada de Secrets Manager (que creó anteriormente) y para crear un nuevo rol de EC2 DomainJoin IAM de Linux. 

#### Creación de la política de lectura de IAM de Secrets Manager
<a name="seamless-linux-prereqs-create-policy-step1"></a>

Utilizará la consola de IAM para crear una política que concede acceso de solo lectura a su secreto de Secrets Manager.

**Creación de la política de lectura de IAM de Secrets Manager**

1. Inicie sesión Consola de administración de AWS como usuario con permiso para crear políticas de IAM. A continuación, abra la consola de IAM en. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. En el panel de navegación, en **Administración de acceso**, seleccione **Políticas**.

1. Elija **Crear política**.

1. Seleccione la pestaña **JSON** y copie el texto del siguiente documento de política JSON. A continuación, péguelo en el cuadro de texto **JSON**.
**nota**  
Asegúrese de reemplazar la región y el ARN del recurso con la región real y el ARN del secreto que creó con anterioridad.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "secretsmanager:GetSecretValue",
                   "secretsmanager:DescribeSecret"
               ],
               "Resource": [
                   "arn:aws:secretsmanager:us-east-1:xxxxxxxxx:secret:aws/directory-services/d-xxxxxxxxx/seamless-domain-join"
               ]
           }
       ]
   }
   ```

1. Cuando haya terminado, elija **Next**. El validador de políticas notifica los errores de sintaxis. Para obtener más información, consulte [Validación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html).

1. En la página **Revisar política**, ingrese un nombre para la política, como **SM-Secret-Linux-DJ-*d-xxxxxxxxxx*-Read**. Revise el **Resumen** de la política para ver los permisos concedidos por su política. Seleccione **Crear política** para guardar los cambios. La nueva política aparece en la lista de las políticas administradas y está lista para asociar a una identidad.

**nota**  
Se recomienda que cree una política por secreto. De este modo, se garantiza que las instancias solo tengan acceso al secreto adecuado y se minimiza el impacto en caso de que una instancia se vea comprometida. 

#### Cree el rol de Linux EC2 DomainJoin
<a name="seamless-linux-prereqs-create-policy-step2"></a>

Utilice la consola de IAM para crear el rol que utilizará para unirse al dominio de su instancia de EC2 de Linux.

**Para crear el EC2 DomainJoin rol de Linux**

1. Inicie sesión Consola de administración de AWS como usuario con permiso para crear políticas de IAM. A continuación, abra la consola de IAM en. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. En el panel de navegación, en **Administración del acceso**, elija **Roles**.

1. En el panel de contenido, elija **Crear rol**.

1. En **Seleccionar tipo de entidad de confianza**, seleccione **Servicio de AWS **.

1. En **Caso de uso**, seleccione **EC2** y luego elija **Siguiente**.  
![\[En la consola de IAM, en la página de selección de la entidad de confianza. AWS se seleccionan el servicio y el EC2.\]](http://docs.aws.amazon.com/es_es/directoryservice/latest/admin-guide/images/iam-console-trusted-entity.png)

1. En **Políticas de filtro**, haga lo siguiente:

   1. Escriba **AmazonSSMManagedInstanceCore**. A continuación, seleccione la casilla de verificación de ese elemento de la lista.

   1. Escriba **AmazonSSMDirectoryServiceAccess**. A continuación, seleccione la casilla de verificación de ese elemento de la lista.

   1. Ingrese **SM-Secret-Linux-DJ-*d-xxxxxxxxxx*-Read** (o el nombre de la política creada en el procedimiento anterior). A continuación, seleccione la casilla de verificación de ese elemento de la lista.

   1. Tras añadir las tres políticas enumeradas anteriormente, seleccione **Crear rol**.
**nota**  
Amazon SSMDirectory ServiceAccess proporciona los permisos para unir instancias a un Active Directory administrado por Directory Service. Amazon SSMManaged InstanceCore proporciona los permisos mínimos necesarios para utilizar el AWS Systems Manager servicio. Para obtener más información sobre la creación de un rol con estos permisos y para obtener información sobre otros permisos y políticas que puede asignar a su rol de IAM, consulte [Creación de un perfil de instancia de IAM para Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html) en la *Guía del usuario de AWS Systems Manager *.

1. Ingrese un nombre para su nuevo rol, como **LinuxEC2DomainJoin** o cualquier otro nombre de su preferencia en el campo **Nombre del rol**.

1. (Opcional) En **Role description (Descripción del rol)**, escriba una descripción.

1. (Opcional) Para añadir etiquetas, elija **Agregar nueva etiqueta** en el **Paso 3: agregar etiquetas**. Los pares clave-valor con etiqueta se utilizan para organizar, realizar un seguimiento o controlar el acceso a este rol.

1. Elija **Crear rol**.

## Cómo vincular de manera fluida una instancia de Linux
<a name="seamless-linux-join-instance"></a>

**Cómo vincular de manera fluida una instancia de Linux**

1. Inicie sesión en la consola Amazon EC2 Consola de administración de AWS y ábrala en. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. En el selector de regiones de la barra de navegación, elija el Región de AWS mismo directorio que el existente.

1. En el **panel de control de EC2**, en la sección **Lanzar instancia**, elija **Lanzar instancia**.

1. En la página **Iniciar una instancia**, en la sección **Nombre y etiquetas**, ingrese el nombre que desee utilizar para la instancia de EC2 en Linux.

1.  *(Opcional)* Seleccione **Agregar etiquetas adicionales** para añadir uno o más pares clave-valor con etiquetas y así organizar, hacer un seguimiento o controlar el acceso a esta instancia de EC2. 

1. En la sección **Imagen de aplicación y sistema operativo (Imagen de máquina de Amazon)**, elija la AMI de Linux que desee iniciar.
**nota**  
La AMI utilizada debe tener AWS Systems Manager (SSM Agent) la versión 2.3.1644.0 o superior. Para comprobar la versión de SSM Agent instalada en la AMI mediante el lanzamiento de una instancia desde esa AMI, consulte [Obtener la versión de SSM Agent instalada actualmente](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-get-version.html). Si necesita actualizar SSM Agent, consulte [Instalación y configuración de SSM Agent en instancias de EC2 para Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-agent.html).  
SSM usa el complemento `aws:domainJoin` al vincular una instancia de Linux a un dominio de Active Directory. El complemento cambia el nombre de host de las instancias de Linux al formato AMAZ-. EC2 *XXXXXXX* Para obtener más información sobre `aws:domainJoin`, consulte [Referencia de complementos del documento de comandos de AWS Systems Manager](https://docs.aws.amazon.com//systems-manager/latest/userguide/documents-command-ssm-plugin-reference.html#aws-domainJoin) en la *Guía del usuario de AWS Systems Manager *.

1. En la sección **Tipo de instancia**, elija el tipo de instancia que desee usar en la lista desplegable **Tipo de instancia**.

1. En la sección **Par de claves (inicio de sesión)**, puede elegir entre crear un nuevo par de claves o elegir un par de claves existente. Para crear un nuevo par de claves, elija **Crear nuevo par de claves**. Ingrese un nombre para el par de claves y seleccione una opción en **Tipo de par de claves** y **Formato de archivo de clave privada**. Para guardar la clave privada en un formato que se pueda utilizar con OpenSSH, elija **.pem**. Para guardar la clave privada en un formato que se pueda utilizar con PuTTY, elija **.ppk**. Elija **Crear par de claves**. Su navegador descargará el archivo de clave privada automáticamente. Guarde el archivo de clave privada en un lugar seguro.
**importante**  
Esta es la única oportunidad para guardar el archivo de clave privada.

1. En la página **Lanzar una instancia**, en la sección **Configuración de red**, elija **Editar**. Elija la **VPC** en la que se creó el directorio en la lista desplegable **VPC:* obligatoria***.

1. Elija una de las subredes públicas de su VPC en la lista desplegable **Subred**. La subred que elija debe tener todo el tráfico externo dirigido a una puerta de enlace de Internet. De lo contrario, no podrá conectarse a la instancia de forma remota.

   Para obtener más información sobre cómo conectar una puerta de enlace de Internet, consulte [Conexión a Internet mediante una puerta de enlace de Internet](https://docs.aws.amazon.com//vpc/latest/userguide/VPC_Internet_Gateway.html) en la *Guía del usuario de Amazon VPC*.

1. En **Autoasignar IP pública**, elija **Habilitar**.

   Para obtener más información sobre direcciones IP públicas y privadas, consulte [Direccionamiento IP de instancias Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-instance-addressing.html) en la *Guía del usuario de Amazon EC2*.

1. En la configuración **Firewall (grupos de seguridad)**, puede usar la configuración predeterminada o hacer cambios para adaptarla a sus necesidades. 

1. En la configuración **Configurar almacenamiento**, puede utilizar los ajustes predeterminados o hacer los cambios necesarios para adaptarlos a sus necesidades.

1. Seleccione la sección **Detalles avanzados** y elija su dominio en el menú desplegable **Directorio de vinculación de dominios**.
**nota**  
Tras elegir el directorio de vinculación de dominios, es posible que vea lo siguiente:   

![\[Aparece un mensaje de error al seleccionar el directorio de vinculación de dominios. Hay un error en el documento SSM existente.\]](http://docs.aws.amazon.com/es_es/directoryservice/latest/admin-guide/images/SSM-Error-Message.png)

Este error se produce si el asistente de inicialización de EC2 identifica un documento SSM existente con propiedades inesperadas. Puede elegir una de las opciones siguientes:  
Si ya ha editado el documento SSM y las propiedades son las esperadas, seleccione cerrar y proceda a inicializar la instancia de EC2 sin cambios.
Seleccione el enlace a continuación para eliminar el documento SSM existente. Esto permitirá crear un documento SSM con las propiedades correctas. El documento SSM se creará de forma automática cuando inicialice la instancia de EC2.

1. Para el **perfil de instancia de IAM**, elija el rol de IAM que creó anteriormente en la sección de requisitos previos. **Paso 2:** Crear el rol de Linux. EC2 DomainJoin 

1. Seleccione **Iniciar instancia**.

**nota**  
Si va a llevar a cabo una unión de dominio fluida con SUSE Linux, es necesario reiniciarla para que las autenticaciones funcionen. Para reiniciar SUSE desde el terminal Linux, escriba **sudo reboot**.

# Unir sin problemas una instancia Amazon EC2 Linux a un AWS Microsoft AD gestionado compartido
<a name="seamlessly_join_linux_to_shared_MAD"></a>

En este procedimiento, se vinculará de forma fluida una instancia de Linux de Amazon EC2 a un AWS Managed Microsoft AD compartido. Para ello, creará una política de lectura de AWS Secrets Manager IAM en el rol de instancia EC2 de la cuenta en la que desee lanzar la instancia EC2 de Linux. Esto se denominará `Account 2` en este procedimiento. Esta instancia utilizará el AWS Managed Microsoft AD que se comparte desde la otra cuenta, que se denomina `Account 1`.

## Requisitos previos
<a name="seamlessly_join_linux_to_shared_MAD_prereqs"></a>

Para poder unir sin problemas una instancia Linux de Amazon EC2 a un AWS Microsoft AD gestionado compartido, tendrá que completar lo siguiente:
+ Pasos 1 a 3 del tutorial, [Tutorial: Cómo compartir su directorio AWS gestionado de Microsoft AD para unirse a dominios EC2 sin problemas](ms_ad_tutorial_directory_sharing.md). En este tutorial, se explica cómo configurar la red y cómo compartir su Microsoft AD AWS administrado.
+ El procedimiento descrito en [Unir sin problemas una instancia de Amazon EC2 Linux a su Active Directory AWS gestionado de Microsoft AD](seamlessly_join_linux_instance.md).

## Paso 1. Cree un EC2 DomainJoin rol de Linux en la cuenta 2
<a name="seamlessly_join_linux_to_shared_MAD_step_1"></a>

En este paso, deberá usar la consola de IAM para crear el rol de IAM que utilizará a efectos de vincularse al dominio de su instancia de EC2 en Linux mientras haya iniciado sesión en `Account 2`.

**Cree el EC2 DomainJoin rol de Linux**

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación, en **Administración del acceso**, elija **Roles**.

1. En la página **Roles**, elija **Crear rol**.

1. En **Seleccionar tipo de entidad de confianza**, seleccione **Servicio de AWS **.

1. En **Caso de uso**, seleccione **EC2** y **Siguiente**

1. En **Políticas de filtro**, haga lo siguiente:

   1. Escriba `AmazonSSMManagedInstanceCore`. A continuación, seleccione la casilla de verificación de ese elemento de la lista.

   1. Escriba `AmazonSSMDirectoryServiceAccess`. A continuación, seleccione la casilla de verificación de ese elemento de la lista.

   1. Después de agregar estas políticas, seleccione **Crear rol**.
**nota**  
`AmazonSSMDirectoryServiceAccess`proporciona los permisos para unir instancias a un Active Directory administrado por Directory Service. `AmazonSSMManagedInstanceCore`proporciona los permisos mínimos necesarios para su uso AWS Systems Manager. Para obtener más información sobre cómo crear un rol con estos permisos y sobre otros permisos y políticas que puede asignar a su rol de IAM, consulte [Configuración de permisos de instancia requeridos para Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-permissions.html) en la *Guía del usuario de AWS Systems Manager *.

1. Ingrese un nombre para su nuevo rol, como `LinuxEC2DomainJoin` o cualquier otro nombre de su preferencia en el campo **Nombre del rol**.

1. *(Opcional)* En **Descripción del rol**, escriba una descripción.

1. *(Opcional)* Para agregar etiquetas, elija **Agregar nueva etiqueta** en el **Paso 3: Agregar etiquetas**. Los pares clave-valor con etiqueta se utilizan para organizar, realizar un seguimiento o controlar el acceso a este rol.

1. Elija **Crear rol**.

## Paso 2. Cree un acceso a los recursos entre cuentas para compartir AWS Secrets Manager secretos
<a name="seamlessly_join_linux_to_shared_MAD_step_2"></a>

En la siguiente sección se describen los requisitos adicionales que deben cumplirse para unir sin problemas las instancias EC2 Linux con un Microsoft AD AWS administrado compartido. Estos requisitos incluyen la creación de políticas de recursos y su vinculación a los servicios y recursos adecuados.

Para permitir que los usuarios de una cuenta accedan a AWS Secrets Manager los secretos de otra cuenta, debe permitir el acceso mediante una política de recursos y una política de identidad. Este tipo de acceso se denomina [acceso a recursos entre cuentas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html).

Este tipo de acceso es diferente a conceder acceso a identidades en la misma cuenta que el secreto de Secrets Manager. También debe permitir que la identidad utilice la clave [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) (KMS) con la que está cifrado el secreto. Este permiso es necesario, ya que no puedes usar la clave AWS administrada (`aws/secretsmanager`) para el acceso entre cuentas. En su lugar, se debe cifrar el secreto con una clave de KMS que se cree y, a continuación, adjuntarle una política de claves. Para cambiar la clave de cifrado de un secreto, consulte [Modificar un secreto AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_update-secret.html).

**nota**  
Hay tarifas asociadas AWS Secrets Manager, según el secreto que utilices. Para obtener la lista de precios completa, consulte [Precios de AWS Secrets Manager](https://aws.amazon.com/secrets-manager/pricing/). Puedes usar el Clave administrada de AWS `aws/secretsmanager` que crea Secrets Manager para cifrar tus secretos de forma gratuita. Si crea sus propias claves de KMS para cifrar sus secretos, se le AWS cobrará según la tarifa de AWS KMS actual. Para obtener más información, consulte [AWS Key Management Service Precios](https://aws.amazon.com/kms/pricing/). 

Los siguientes pasos le permiten crear las políticas de recursos que permiten a los usuarios unir sin problemas una instancia EC2 Linux a un Microsoft AD AWS administrado compartido.

**Cómo adjuntar una política de recursos al secreto de Cuenta 1**

1. Abra la consola de Secrets Manager en [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. En la lista de secretos, elija el **Secreto** que creó durante [Requisitos previos](#seamlessly_join_linux_to_shared_MAD_prereqs).

1. En la **página Detalles del secreto**, en la pestaña **Descripción general**, desplácese hacia abajo hasta **Permisos de recursos**.

1. Seleccione **Editar permisos**.

   1. En el campo de políticas, escriba la siguiente política. La siguiente política permite a **Linux EC2 DomainJoin** in acceder `Account 2` a la entrada secreta`Account 1`. Sustituya el valor del ARN por el valor del ARN de su `Account 2` y el rol `LinuxEC2DomainJoin` que creó en el [paso 1](#seamlessly_join_linux_to_shared_MAD_step_1). Para usar esta política, consulte [Adjuntar una política de permisos a un AWS Secrets Manager secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html).

------
#### [ JSON ]

****  

     ```
     {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "AWS": "arn:aws:iam::123456789012:role/LinuxEC2DomainJoin"
           },
           "Action": "secretsmanager:GetSecretValue",
           "Resource": "*"
         }
       ]
     }
     ```

------

**Cómo agregar una instrucción a la política clave de la clave de KMS de Cuenta 1**

1. Abra la consola de Secrets Manager en [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. En el panel de navegación izquierdo, elija **Claves administradas por el cliente**.

1. En la página **Claves administradas por el cliente**, seleccione la clave que ha creado.

1. En la página **Detalles de claves**, navegue hasta **Política de claves** y seleccione **Editar**.

1. La siguiente instrucción de política de claves permite que `ApplicationRole` en `Account 2` use la clave de KMS en `Account 1` para descifrar el secreto en `Account 1`. Para utilizar esta instrucción, agréguela a la política de claves de la clave de KMS. Para obtener más información, consulte [Cambiar una política de claves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html).

   ```
   {
   {
     "Effect": "Allow",
     "Principal": {
       "AWS": "arn:aws:iam::Account2:role/ApplicationRole"
     },
     "Action": [
       "kms:Decrypt",
       "kms:DescribeKey"
     ],
     "Resource": "*"
   }
   ```

**Creación de una política de identidad para la identidad de Cuenta 2**

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación izquierdo, en **Administración de acceso**, seleccione **Políticas**.

1. Seleccione **Create Policy (Crear política)**. Elija **JSON** en el **Editor de políticas**.

1. La siguiente política permite que `ApplicationRole` en `Account 2` acceda al secreto de `Account 1` y descifre el valor secreto mediante la clave de cifrado que también está en `Account 1`. Puede encontrar el ARN para el secreto en la consola de Secrets Manager en la página **Detalles secretos** en **ARN del secreto**. Como alternativa, puede llamar a [describe-secret](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/describe-secret.html) para identificar el ARN del secreto. Sustituya el ARN del recurso por el ARN del recurso del ARN secreto y la `Account 1`. Para usar esta política, consulte [Adjuntar una política de permisos a un AWS Secrets Manager secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html). 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "secretsmanager:GetSecretValue",
         "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:secretName-AbCdEf"
       },
       {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt",
           "kms:Describekey"
         ],
         "Resource": "arn:aws:kms:us-east-1:111122223333:key/Your_Encryption_Key"
       }
     ]
   }
   ```

------

1. Seleccione **Siguiente** y, a continuación, **Guardar cambios**.

1. Busque y seleccione el rol que creó en `Account 2` en [Attach a resource policy to the secret in Account 1](#step1ResourcePolicy).

1. En **Agregar permisos**, elija **Asociar políticas**.

1. En la barra de búsqueda, busque la política que creó en [Add a statement to the key policy for the KMS key in Account 1](#step2KeyPolicy) y seleccione la casilla para agregar la política al rol. Luego, seleccione **Agregar permisos**.

## Paso 3. Cómo vincular de manera fluida una instancia de Linux
<a name="seamlessly_join_linux_to_shared_MAD_prereqs_step_3"></a>

Ahora puede usar el siguiente procedimiento para unir sin problemas su instancia EC2 Linux a su Microsoft AD AWS administrado compartido.

**Cómo vincular de manera fluida una instancia de Linux**

1. Inicie sesión en la consola Amazon EC2 Consola de administración de AWS y ábrala en. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. En el selector de regiones de la barra de navegación, elija el Región de AWS mismo directorio que el existente.

1. En el **panel de control de EC2**, en la sección **Lanzar instancia**, elija **Lanzar instancia**.

1. En la página **Iniciar una instancia**, en la sección **Nombre y etiquetas**, ingrese el nombre que desee utilizar para la instancia de EC2 en Linux.

1.  *(Opcional)* Seleccione **Agregar etiquetas adicionales** para añadir uno o más pares clave-valor con etiquetas y así organizar, hacer un seguimiento o controlar el acceso a esta instancia de EC2. 

1. En la sección **Imagen de aplicación y sistema operativo (Imagen de máquina de Amazon)**, elija la AMI de Linux que desee iniciar.
**nota**  
La AMI utilizada debe tener AWS Systems Manager (SSM Agent) la versión 2.3.1644.0 o superior. Para comprobar la versión de SSM Agent instalada en la AMI mediante el lanzamiento de una instancia desde esa AMI, consulte [Obtener la versión de SSM Agent instalada actualmente](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-get-version.html). Si necesita actualizar SSM Agent, consulte [Instalación y configuración de SSM Agent en instancias de EC2 para Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-agent.html).  
SSM usa el complemento `aws:domainJoin` al vincular una instancia de Linux a un dominio de Active Directory. El complemento cambia el nombre de host de las instancias de Linux al formato AMAZ-. EC2 *XXXXXXX* Para obtener más información sobre `aws:domainJoin`, consulte [Referencia de complementos del documento de comandos de AWS Systems Manager](https://docs.aws.amazon.com//systems-manager/latest/userguide/documents-command-ssm-plugin-reference.html#aws-domainJoin) en la *Guía del usuario de AWS Systems Manager *.

1. En la sección **Tipo de instancia**, elija el tipo de instancia que desee usar en la lista desplegable **Tipo de instancia**.

1. En la sección **Par de claves (inicio de sesión)**, puede elegir entre crear un nuevo par de claves o elegir un par de claves existente. Para crear un nuevo par de claves, elija **Crear nuevo par de claves**. Ingrese un nombre para el par de claves y seleccione una opción en **Tipo de par de claves** y **Formato de archivo de clave privada**. Para guardar la clave privada en un formato que se pueda utilizar con OpenSSH, elija **.pem**. Para guardar la clave privada en un formato que se pueda utilizar con PuTTY, elija **.ppk**. Elija **Crear par de claves**. Su navegador descargará el archivo de clave privada automáticamente. Guarde el archivo de clave privada en un lugar seguro.
**importante**  
Esta es la única oportunidad para guardar el archivo de clave privada.

1. En la página **Lanzar una instancia**, en la sección **Configuración de red**, elija **Editar**. Elija la **VPC** en la que se creó el directorio en la lista desplegable **VPC:* obligatoria***.

1. Elija una de las subredes públicas de su VPC en la lista desplegable **Subred**. La subred que elija debe tener todo el tráfico externo dirigido a una puerta de enlace de Internet. De lo contrario, no podrá conectarse a la instancia de forma remota.

   Para obtener más información sobre cómo conectar una puerta de enlace de Internet, consulte [Conexión a Internet mediante una puerta de enlace de Internet](https://docs.aws.amazon.com//vpc/latest/userguide/VPC_Internet_Gateway.html) en la *Guía del usuario de Amazon VPC*.

1. En **Autoasignar IP pública**, elija **Habilitar**.

   Para obtener más información sobre direcciones IP públicas y privadas, consulte [Direccionamiento IP de instancias Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-instance-addressing.html) en la *Guía del usuario de Amazon EC2*.

1. En la configuración **Firewall (grupos de seguridad)**, puede usar la configuración predeterminada o hacer cambios para adaptarla a sus necesidades. 

1. En la configuración **Configurar almacenamiento**, puede utilizar los ajustes predeterminados o hacer los cambios necesarios para adaptarlos a sus necesidades.

1. Seleccione la sección **Detalles avanzados** y elija su dominio en el menú desplegable **Directorio de vinculación de dominios**.
**nota**  
Tras elegir el directorio de vinculación de dominios, es posible que vea lo siguiente:   

![\[Aparece un mensaje de error al seleccionar el directorio de vinculación de dominios. Hay un error en el documento SSM existente.\]](http://docs.aws.amazon.com/es_es/directoryservice/latest/admin-guide/images/SSM-Error-Message.png)

Este error se produce si el asistente de inicialización de EC2 identifica un documento SSM existente con propiedades inesperadas. Puede elegir una de las opciones siguientes:  
Si ya ha editado el documento SSM y las propiedades son las esperadas, seleccione cerrar y proceda a inicializar la instancia de EC2 sin cambios.
Seleccione el enlace a continuación para eliminar el documento SSM existente. Esto permitirá crear un documento SSM con las propiedades correctas. El documento SSM se creará de forma automática cuando inicialice la instancia de EC2.

1. Para el **perfil de instancia de IAM**, elija el rol de IAM que creó anteriormente en la sección de requisitos previos. **Paso 2:** Crear el rol de Linux. EC2 DomainJoin 

1. Seleccione **Iniciar instancia**.

**nota**  
Si va a llevar a cabo una unión de dominio fluida con SUSE Linux, es necesario reiniciarla para que las autenticaciones funcionen. Para reiniciar SUSE desde el terminal Linux, escriba **sudo reboot**.

# Unir manualmente una instancia de Amazon EC2 Linux a su Active Directory AWS administrado de Microsoft AD
<a name="join_linux_instance"></a>

Además de las instancias de Amazon EC2, también puede unir determinadas Windows instancias de Amazon EC2 Linux a su Active Directory AWS administrado de Microsoft AD. Son compatibles las siguientes distribuciones y versiones de instancias de Linux:
+ Amazon Linux AMI 2018.03.0
+ Amazon Linux 2 (64 bits x86)
+ AMI de Amazon Linux 2023
+ Red Hat Enterprise Linux 8 (HVM) (64 bits x86)
+ Ubuntu Server 18.04 LTS y Ubuntu Server 16.04 LTS
+ CentOS 7 x86-64
+ SUSE Linux Enterprise Server 15 SP1

**nota**  
Puede que funcionen otras versiones y distribuciones de Linux, pero no se han probado.

## Unir una instancia de Linux a su Microsoft AD AWS administrado
<a name="join_linux_prereq"></a>

Antes de poder unir una instancia de Amazon Linux, CentOS, Red Hat o Ubuntu a su directorio, la instancia debe lanzarse primero como se especifica en [Cómo vincular de manera fluida una instancia de Linux](seamlessly_join_linux_instance.md#seamless-linux-join-instance).

**importante**  
Algunos de los siguientes procedimientos, si no se siguen correctamente, pueden hacer que la instancia resulte inaccesible o inservible. Por lo tanto, recomendamos encarecidamente que realice una copia de seguridad o una instantánea de la instancia antes de realizar estos procedimientos.

**Para unir una instancia de Linux al directorio**  
Siga los pasos para su instancia de Linux específica mediante una de las siguientes pestañas:

------
#### [ Amazon Linux ]<a name="amazonlinux"></a>

1. Conéctese a la instancia con cualquier cliente SSH.

1. Configure la instancia de Linux para que utilice las direcciones IP del servidor DNS Directory Service de los servidores DNS proporcionados. Puede hacerlo configurándolo en el conjunto de opciones de DHCP asociado a la VPC o ajustándolo manualmente en la instancia. Si desea ajustarlo de forma manual, consulte [Cómo asignar un servidor DNS estático a una instancia de Amazon EC2 privada](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) en el Centro de conocimientos de AWS para obtener información sobre la configuración del servidor DNS persistente para una distribución y una versión de Linux específicas.

1. Asegúrese de que la instancia de 64 bits de Amazon Linux esté actualizada.

   ```
   sudo yum -y update
   ```

1. Instale los paquetes necesarios de Amazon Linux en la instancia de Linux.
**nota**  
Algunos de estos paquetes pueden estar ya instalados.   
Al instalar los paquetes, es posible que aparezcan varias pantallas de configuración emergentes. Por lo general, puede dejar vacíos los campos de estas pantallas.  
Amazon Linux  

   ```
   sudo yum install samba-common-tools realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
   ```
**nota**  
Si necesita ayuda para determinar la versión de Amazon Linux que está utilizando, consulte [Identificación de imágenes de Amazon Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html#amazon-linux-image-id) en la *Guía del usuario de Amazon EC2 para instancias de Linux*.

1. Una la instancia al directorio con el siguiente comando. 

   ```
   sudo realm join -U join_account@EXAMPLE.COM example.com --verbose
   ```  
*join\$1account@EXAMPLE.COM*  
Una cuenta del *example.com* dominio que tiene privilegios de unión a un dominio. Introduzca la contraseña de la cuenta cuando se le solicite. Para obtener más información sobre cómo delegar estos privilegios, consulte [Delegación de privilegios de unión a directorios para Microsoft AWS AD administrado](directory_join_privileges.md).  
*example.com*  
El nombre de DNS completo del directorio.

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. Configure el servicio SSH para permitir autenticación de contraseñas.

   1. Abra el archivo `/etc/ssh/sshd_config` en un editor de texto.

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. Establezca la opción `PasswordAuthentication` en `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Reinicie el servicio SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Otra opción:

      ```
      sudo service sshd restart
      ```

1. Una vez que la instancia se haya reiniciado, conéctese a ella con cualquier cliente SSH y añada el grupo de administradores AWS delegados a la lista de sudoers siguiendo estos pasos:

   1. Abra el archivo `sudoers` con el siguiente comando:

      ```
      sudo visudo
      ```

   1. Agregue lo siguiente a la parte inferior del archivo `sudoers` y guárdelo.

      ```
      ## Add the "AWS Delegated Administrators" group from the example.com domain.
      %AWS\ Delegated\ Administrators@example.com ALL=(ALL:ALL) ALL
      ```

      (En el ejemplo anterior, se utiliza“\$1<espacio>” para crear el carácter de espacio en Linux).

------
#### [ CentOS ]<a name="centos"></a>

1. Conéctese a la instancia con cualquier cliente SSH.

1. Configura la instancia de Linux para que utilice las direcciones IP del servidor DNS de los servidores DNS proporcionados. Directory Service Puede hacerlo configurándolo en el conjunto de opciones de DHCP asociado a la VPC o ajustándolo manualmente en la instancia. Si desea ajustarlo de forma manual, consulte [Cómo asignar un servidor DNS estático a una instancia de Amazon EC2 privada](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) en el Centro de conocimientos de AWS para obtener información sobre la configuración del servidor DNS persistente para una distribución y una versión de Linux específicas.

1. Asegúrese de que la instancia de CentOS 7 esté actualizada.

   ```
   sudo yum -y update
   ```

1. Instale los paquetes necesarios de CentOS 7 en la instancia de Linux.
**nota**  
Algunos de estos paquetes pueden estar ya instalados.   
Al instalar los paquetes, es posible que aparezcan varias pantallas de configuración emergentes. Por lo general, puede dejar vacíos los campos de estas pantallas.

   ```
   sudo yum -y install sssd realmd krb5-workstation samba-common-tools
   ```

1. Una la instancia al directorio con el siguiente comando. 

   ```
   sudo realm join -U join_account@example.com example.com --verbose
   ```  
*join\$1account@example.com*  
Una cuenta del *example.com* dominio que tiene privilegios de unión a un dominio. Introduzca la contraseña de la cuenta cuando se le solicite. Para obtener más información sobre cómo delegar estos privilegios, consulte [Delegación de privilegios de unión a directorios para Microsoft AWS AD administrado](directory_join_privileges.md).  
*example.com*  
El nombre de DNS completo del directorio.

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. Configure el servicio SSH para permitir autenticación de contraseñas.

   1. Abra el archivo `/etc/ssh/sshd_config` en un editor de texto.

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. Establezca la opción `PasswordAuthentication` en `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Reinicie el servicio SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Otra opción:

      ```
      sudo service sshd restart
      ```

1. Una vez que la instancia se haya reiniciado, conéctese a ella con cualquier cliente SSH y añada el grupo de administradores AWS delegados a la lista de sudoers siguiendo estos pasos:

   1. Abra el archivo `sudoers` con el siguiente comando:

      ```
      sudo visudo
      ```

   1. Agregue lo siguiente a la parte inferior del archivo `sudoers` y guárdelo.

      ```
      ## Add the "AWS Delegated Administrators" group from the example.com domain.
      %AWS\ Delegated\ Administrators@example.com ALL=(ALL:ALL) ALL
      ```

      (En el ejemplo anterior, se utiliza“\$1<espacio>” para crear el carácter de espacio en Linux).

------
#### [ Red Hat ]<a name="redhat"></a>

1. Conéctese a la instancia con cualquier cliente SSH.

1. Configura la instancia de Linux para que utilice las direcciones IP del servidor DNS de los servidores DNS proporcionados. Directory Service Puede hacerlo configurándolo en el conjunto de opciones de DHCP asociado a la VPC o ajustándolo manualmente en la instancia. Si desea ajustarlo de forma manual, consulte [Cómo asignar un servidor DNS estático a una instancia de Amazon EC2 privada](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) en el Centro de conocimientos de AWS para obtener información sobre la configuración del servidor DNS persistente para una distribución y una versión de Linux específicas.

1. Asegúrese de que la instancia de 64 bits de Red Hat esté actualizada.

   ```
   sudo yum -y update
   ```

1. Instale los paquetes necesarios de Red Hat en la instancia de Linux.
**nota**  
Algunos de estos paquetes pueden estar ya instalados.   
Al instalar los paquetes, es posible que aparezcan varias pantallas de configuración emergentes. Por lo general, puede dejar vacíos los campos de estas pantallas.

   ```
   sudo yum -y install sssd realmd krb5-workstation samba-common-tools
   ```

1. Una la instancia al directorio con el siguiente comando. 

   ```
   sudo realm join -v -U join_account example.com --install=/
   ```  
*join\$1account*  
El **AMAccountnombre s** de una cuenta del *example.com* dominio que tiene privilegios de unión a un dominio. Introduzca la contraseña de la cuenta cuando se le solicite. Para obtener más información sobre cómo delegar estos privilegios, consulte [Delegación de privilegios de unión a directorios para Microsoft AWS AD administrado](directory_join_privileges.md).  
*example.com*  
El nombre de DNS completo del directorio.

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. Configure el servicio SSH para permitir autenticación de contraseñas.

   1. Abra el archivo `/etc/ssh/sshd_config` en un editor de texto.

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. Establezca la opción `PasswordAuthentication` en `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Reinicie el servicio SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Otra opción:

      ```
      sudo service sshd restart
      ```

1. Una vez reiniciada la instancia, conéctate a ella con cualquier cliente SSH y añade el grupo de administradores AWS delegados a la lista de sudoers siguiendo estos pasos:

   1. Abra el archivo `sudoers` con el siguiente comando:

      ```
      sudo visudo
      ```

   1. Agregue lo siguiente a la parte inferior del archivo `sudoers` y guárdelo.

      ```
      ## Add the "AWS Delegated Administrators" group from the example.com domain.
      %AWS\ Delegated\ Administrators@example.com ALL=(ALL:ALL) ALL
      ```

      (En el ejemplo anterior, se utiliza“\$1<espacio>” para crear el carácter de espacio en Linux).

------
#### [ SUSE ]<a name="suse"></a>

1. Conéctese a la instancia con cualquier cliente SSH.

1. Configure la instancia de Linux para utilizar las direcciones IP de los servidores DNS proporcionados por Directory Service. Puede hacerlo configurándolo en el conjunto de opciones de DHCP asociado a la VPC o ajustándolo manualmente en la instancia. Si desea configurarlo manualmente, consulte [Cómo asignar un servidor DNS estático a una instancia privada de Amazon EC2](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) en el AWS Knowledge Center para obtener orientación sobre cómo configurar el servidor DNS persistente para su distribución y versión de Linux en particular.

1. Asegúrese de que su instancia de SUSE Linux 15 esté actualizada.

   1. Conecte el repositorio de paquetes.

      ```
      sudo SUSEConnect -p PackageHub/15.1/x86_64
      ```

   1. Actualice SUSE.

      ```
      sudo zypper update -y
      ```

1. Instale los paquetes SUSE Linux 15 necesarios en su instancia de Linux.
**nota**  
Algunos de estos paquetes pueden estar ya instalados.   
Al instalar los paquetes, es posible que aparezcan varias pantallas de configuración emergentes. Por lo general, puede dejar vacíos los campos de estas pantallas.

   ```
   sudo zypper -n install realmd adcli sssd sssd-tools sssd-ad samba-client krb5-client
   ```

1. Una la instancia al directorio con el siguiente comando. 

   ```
   sudo realm join -U join_account example.com --verbose
   ```  
*join\$1account*  
El AMAccount nombre s del *example.com* dominio que tiene privilegios de unión a un dominio. Introduzca la contraseña de la cuenta cuando se le solicite. Para obtener más información sobre cómo delegar estos privilegios, consulte [Delegación de privilegios de unión a directorios para Microsoft AWS AD administrado](directory_join_privileges.md).  
*example.com*  
El nombre de DNS completo del directorio.

   ```
   …
   realm: Couldn't join realm: Enabling SSSD in nsswitch.conf and PAM failed.
   ```

   Tenga en cuenta que se esperan las dos devoluciones siguientes.

   ```
   ! Couldn't authenticate with keytab while discovering which salt to use:
   ! Enabling SSSD in nsswitch.conf and PAM failed.
   ```

1. Habilite manualmente **SSSD** en **PAM**.

   ```
   sudo pam-config --add --sss
   ```

1. Edite nsswitch.conf para habilitar SSSD en nsswitch.conf

   ```
   sudo vi /etc/nsswitch.conf
   ```

   ```
   passwd: compat sss
   group:  compat sss
   shadow: compat sss
   ```

1. Agregue la siguiente línea a/etc/pam.d/common-session para crear automáticamente un directorio principal en el inicio de sesión inicial

   ```
   sudo vi /etc/pam.d/common-session
   ```

   ```
   session optional pam_mkhomedir.so skel=/etc/skel umask=077
   ```

1. Reinicie la instancia para completar el proceso unido al dominio.

   ```
   sudo reboot
   ```

1. Vuelva a conectarse a la instancia mediante cualquier cliente SSH para verificar que la unión al dominio se ha completado correctamente y finalice los pasos adicionales.

   1. Para confirmar que la instancia se ha inscrito en el dominio

      ```
      sudo realm list
      ```

      ```
      example.com
        type: kerberos
        realm-name: EXAMPLE.COM
        domain-name: example.com
        configured: kerberos-member
        server-software: active-directory
        client-software: sssd
        required-package: sssd-tools
        required-package: sssd
        required-package: adcli
        required-package: samba-client
        login-formats: %U@example.com
        login-policy: allow-realm-logins
      ```

   1. Visualización del estado del daemon de SSSD

      ```
      systemctl status sssd
      ```

      ```
      sssd.service - System Security Services Daemon
         Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; vendor preset: disabled)
         Active: active (running) since Wed 2020-04-15 16:22:32 UTC; 3min 49s ago
       Main PID: 479 (sssd)
          Tasks: 4
         CGroup: /system.slice/sssd.service
                 ├─479 /usr/sbin/sssd -i --logger=files
                 ├─505 /usr/lib/sssd/sssd_be --domain example.com --uid 0 --gid 0 --logger=files
                 ├─548 /usr/lib/sssd/sssd_nss --uid 0 --gid 0 --logger=files
                 └─549 /usr/lib/sssd/sssd_pam --uid 0 --gid 0 --logger=files
      ```

1. Para permitir el acceso de un usuario a través de SSH y la consola

   ```
   sudo realm permit join_account@example.com
   ```

   Para permitir el acceso de un grupo de dominio a través de SSH y la consola

   ```
   sudo realm permit -g 'AWS Delegated Administrators'
   ```

   O para permitir el acceso de todos los usuarios

   ```
   sudo realm permit --all
   ```

1. Configure el servicio SSH para permitir autenticación de contraseñas.

   1. Abra el archivo `/etc/ssh/sshd_config` en un editor de texto.

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. Establezca la opción `PasswordAuthentication` en `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Reinicie el servicio SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Otra opción:

      ```
      sudo service sshd restart
      ```

1. 13. Una vez reiniciada la instancia, conéctate a ella con cualquier cliente SSH y añade el grupo de administradores AWS delegados a la lista de sudoers siguiendo estos pasos:

   1. Abra el archivo sudoers con el siguiente comando:

      ```
      sudo visudo
      ```

   1. Agregue lo siguiente a la parte inferior del archivo sudoers y guárdelo.

      ```
      ## Add the "Domain Admins" group from the awsad.com domain.
      %AWS\ Delegated\ Administrators@example.com ALL=(ALL) NOPASSWD: ALL
      ```

------
#### [ Ubuntu ]<a name="ubuntu"></a>

1. Conéctese a la instancia con cualquier cliente SSH.

1. Configura la instancia de Linux para que utilice las direcciones IP del servidor DNS de los servidores DNS proporcionados. Directory Service Puede hacerlo configurándolo en el conjunto de opciones de DHCP asociado a la VPC o ajustándolo manualmente en la instancia. Si desea ajustarlo de forma manual, consulte [Cómo asignar un servidor DNS estático a una instancia de Amazon EC2 privada](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) en el Centro de conocimientos de AWS para obtener información sobre la configuración del servidor DNS persistente para una distribución y una versión de Linux específicas.

1. Asegúrese de que la instancia de 64 bits de Ubuntu esté actualizada.

   ```
   sudo apt-get update
   sudo apt-get -y upgrade
   ```

1. Instale los paquetes necesarios de Ubuntu en la instancia de Linux.
**nota**  
Algunos de estos paquetes pueden estar ya instalados.   
Al instalar los paquetes, es posible que aparezcan varias pantallas de configuración emergentes. Por lo general, puede dejar vacíos los campos de estas pantallas.

   ```
   sudo apt-get -y install sssd realmd krb5-user samba-common packagekit adcli
   ```

1. Deshabilite la resolución inversa de DNS y establezca el dominio predeterminado en el FQDN de su dominio. Las instancias de Ubuntu **deben** poder resolverse de forma inversa en el DNS para que el dominio funcione. De lo contrario, tiene que deshabilitar el DNS inverso en /etc/krb5.conf de la manera siguiente:

   ```
   sudo vi /etc/krb5.conf
   ```

   ```
   [libdefaults]
   default_realm = EXAMPLE.COM
   rdns = false
   ```

1. Una la instancia al directorio con el siguiente comando. 

   ```
   sudo realm join -U join_account example.com --verbose
   ```  
*join\$1account@example.com*  
El **AMAccountnombre s** de una cuenta del *example.com* dominio que tiene privilegios de unión a un dominio. Introduzca la contraseña de la cuenta cuando se le solicite. Para obtener más información sobre cómo delegar estos privilegios, consulte [Delegación de privilegios de unión a directorios para Microsoft AWS AD administrado](directory_join_privileges.md).  
*example.com*  
El nombre de DNS completo del directorio.

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. Configure el servicio SSH para permitir autenticación de contraseñas.

   1. Abra el archivo `/etc/ssh/sshd_config` en un editor de texto.

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. Establezca la opción `PasswordAuthentication` en `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Reinicie el servicio SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Otra opción:

      ```
      sudo service sshd restart
      ```

1. Una vez reiniciada la instancia, conéctate a ella con cualquier cliente SSH y añade el grupo de administradores AWS delegados a la lista de sudoers siguiendo estos pasos:

   1. Abra el archivo `sudoers` con el siguiente comando:

      ```
      sudo visudo
      ```

   1. Agregue lo siguiente a la parte inferior del archivo `sudoers` y guárdelo.

      ```
      ## Add the "AWS Delegated Administrators" group from the example.com domain.
      %AWS\ Delegated\ Administrators@example.com ALL=(ALL:ALL) ALL
      ```

      (En el ejemplo anterior, se utiliza“\$1<espacio>” para crear el carácter de espacio en Linux).

------

## Restricción de acceso de inicio de sesión de cuenta
<a name="linux_filter"></a>

Como todas las cuentas están definidas en Active Directory, todos los usuarios del directorio pueden iniciar sesión en la instancia de forma predeterminada. Puede permitir que solo unos usuarios específicos inicien sesión en la instancia con **ad\$1access\$1filter** en **sssd.conf**. Por ejemplo:

```
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
```

*memberOf*  
Indica que solo debe permitirse el acceso a la instancia a los usuarios si son miembros de un grupo específico.

*cn*  
El nombre común del grupo que debería tener acceso. En este ejemplo, el nombre del grupo es. *admins*

*ou*  
Esta es la unidad organizativa en la que se encuentra el grupo anterior. En este ejemplo, la OU es*Testou*.

*dc*  
Este es el componente de dominio de su dominio. En este ejemplo, *example*.

*dc*  
Este es un componente de dominio adicional. En este ejemplo, *com*.

Debe agregar manualmente **ad\$1access\$1filter** a su **/etc/sssd/sssd.conf**.

Abra el archivo **/etc/sssd/sssd.conf** en un editor de texto.

```
sudo vi /etc/sssd/sssd.conf
```

Después de hacerlo, su **sssd.conf** podrá tener este aspecto:

```
[sssd]
domains = example.com
config_file_version = 2
services = nss, pam

[domain/example.com]
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
```

Para que se aplique la configuración, debe reiniciar el servicio sssd:

```
sudo systemctl restart sssd.service
```

También puede usar:

```
sudo service sssd restart
```

Como todas las cuentas están definidas en Active Directory, todos los usuarios del directorio pueden iniciar sesión en la instancia de forma predeterminada. Puede permitir que solo unos usuarios específicos inicien sesión en la instancia con **ad\$1access\$1filter** en **sssd.conf**.

Por ejemplo:

```
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
```

*memberOf*  
Indica que solo debe permitirse el acceso a la instancia a los usuarios si son miembros de un grupo específico.

*cn*  
El nombre común del grupo que debería tener acceso. En este ejemplo, el nombre del grupo es*admins*.

*ou*  
Esta es la unidad organizativa en la que se encuentra el grupo anterior. En este ejemplo, la OU es*Testou*.

*dc*  
Este es el componente de dominio de su dominio. En este ejemplo, *example*.

*dc*  
Este es un componente de dominio adicional. En este ejemplo, *com*.

Debe agregar manualmente **ad\$1access\$1filter** a su **/etc/sssd/sssd.conf**.

1. Abra el archivo **/etc/sssd/sssd.conf** en un editor de texto.

   ```
   sudo vi /etc/sssd/sssd.conf
   ```

1. Después de hacerlo, su **sssd.conf** podrá tener este aspecto:

   ```
   [sssd]
   domains = example.com
   config_file_version = 2
   services = nss, pam
   
   [domain/example.com]
   ad_domain = example.com
   krb5_realm = EXAMPLE.COM
   realmd_tags = manages-system joined-with-samba
   cache_credentials = True
   id_provider = ad
   krb5_store_password_if_offline = True
   default_shell = /bin/bash
   ldap_id_mapping = True
   use_fully_qualified_names = True
   fallback_homedir = /home/%u@%d
   access_provider = ad
   ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
   ```

1. Para que se aplique la configuración, debe reiniciar el servicio sssd:

   ```
   sudo systemctl restart sssd.service
   ```

   También puede usar:

   ```
   sudo service sssd restart
   ```

## Asignación de ID
<a name="managed-ad-id-mapping"></a>

La asignación de ID se puede realizar mediante dos métodos para mantener una experiencia unificada entre las identidades del identificador de usuario (UID) y el identificador de grupo (GID) de UNIX/Linux y las identidades del identificador de seguridad (SID) de Windows y Active Directory. Estos métodos son:

1. Centralizado

1. Distribuido

**nota**  
La asignación centralizada de identidad de usuario en Active Directory requiere una interfaz de sistema operativo portátil o POSIX.

**Asignación centralizada de identidad de usuario**  
Active Directory u otro servicio del protocolo ligero de acceso a directorios (LDAP) proporciona UID y GID a los usuarios de Linux. En Active Directory, estos identificadores se almacenan en los atributos de los usuarios si está configurada la extensión POSIX:
+ UID: el nombre de usuario de Linux (cadena)
+ Número de UID: el número de ID de usuario de Linux (entero)
+ Número de GID: el número de ID del grupo de Linux (entero)

Para configurar una instancia de Linux para usar el UID y GID desde Active Directory, configure `ldap_id_mapping = False` en el archivo sssd.conf. Antes de establecer este valor, compruebe que ha agregado un UID, un número UID y un número GID para los usuarios y grupos en Active Directory.

**Asignación distribuida de identidades de usuarios**  
Si Active Directory no tiene la extensión POSIX o si decide no administrar de forma centralizada la asignación de identidades, Linux puede calcular los valores de UID y GID. Linux utiliza el identificador de seguridad (SID) único del usuario para mantener la consistencia.

Para configurar la asignación distribuida de ID de usuario, configure `ldap_id_mapping = True` en el archivo sssd.conf.

**Problemas comunes**  
Si se configura `ldap_id_mapping = False`, a veces se producirá un error al iniciar el servicio SSSD. El motivo de este error se debe a que UIDs no se admiten cambios. Se recomienda que elimine la caché SSSD cada vez que cambie de una asignación de ID a atributos POSIX o de atributos POSIX a una asignación de ID. Para obtener más información sobre la asignación de ID y los parámetros ldap\$1id\$1mapping, consulte la página de manual sssd-ldap (8) en la línea de comandos de Linux.

## Conexión a la instancia de Linux
<a name="linux_connect"></a>

Cuando un usuario se conecta a la instancia mediante un cliente SSH, se le solicita que indique su nombre de usuario. El usuario puede introducir el nombre de usuario en formato `username@example.com` o `EXAMPLE\username`. La respuesta será similar a la siguiente, en función de la distribución de Linux que utilice:

**Amazon Linux, Red Hat Enterprise Linux y CentOS Linux**

```
login as: johndoe@example.com
johndoe@example.com's password:
Last login: Thu Jun 25 16:26:28 2015 from XX.XX.XX.XX
```

**SUSE Linux**

```
SUSE Linux Enterprise Server 15 SP1 x86_64 (64-bit)

As "root" (sudo or sudo -i) use the:
  - zypper command for package management
  - yast command for configuration management

Management and Config: https://www.suse.com/suse-in-the-cloud-basics
Documentation: https://www.suse.com/documentation/sles-15/
Forum: https://forums.suse.com/forumdisplay.php?93-SUSE-Public-Cloud

Have a lot of fun...
```

**Ubuntu Linux**

```
login as: admin@example.com
admin@example.com@10.24.34.0's password:
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-1057-aws x86_64)

* Documentation:  https://help.ubuntu.com
* Management:     https://landscape.canonical.com
* Support:        https://ubuntu.com/advantage

  System information as of Sat Apr 18 22:03:35 UTC 2020

  System load:  0.01              Processes:           102
  Usage of /:   18.6% of 7.69GB   Users logged in:     2
  Memory usage: 16%               IP address for eth0: 10.24.34.1
  Swap usage:   0%
```

# Unir manualmente una instancia Linux de Amazon EC2 a su Active Directory administrado de AWS Microsoft AD mediante Winbind
<a name="join_linux_instance_winbind"></a>

Puede usar el servicio Winbind para vincular de forma manual las instancias de Amazon EC2 en Linux a un dominio de AWS Managed Microsoft AD Active Directory. Esto permite a los usuarios de Active Directory locales actuales utilizar sus credenciales de Active Directory al acceder a las instancias de Linux unidas a su Active Directory AWS administrado de Microsoft AD. Son compatibles las siguientes distribuciones y versiones de instancias de Linux:
+ Amazon Linux AMI 2018.03.0
+ Amazon Linux 2 (64 bits x86)
+ AMI de Amazon Linux 2023
+ Red Hat Enterprise Linux 8 (HVM) (64 bits x86)
+ Ubuntu Server 18.04 LTS y Ubuntu Server 16.04 LTS
+ CentOS 7 x86-64
+ SUSE Linux Enterprise Server 15 SP1

**nota**  
Puede que funcionen otras versiones y distribuciones de Linux, pero no se han probado.

## Unir una instancia de Linux a su Active Directory AWS administrado de Microsoft AD
<a name="join_linux_winbind_prereq"></a>

**importante**  
Algunos de los siguientes procedimientos, si no se siguen correctamente, pueden hacer que la instancia resulte inaccesible o inservible. Por lo tanto, recomendamos encarecidamente que realice una copia de seguridad o una instantánea de la instancia antes de realizar estos procedimientos.

**Para unir una instancia de Linux al directorio**  
Siga los pasos para su instancia de Linux específica mediante una de las siguientes pestañas:

------
#### [ Amazon Linux/CENTOS/REDHAT ]<a name="amazonlinux"></a>

1. Conéctese a la instancia con cualquier cliente SSH.

1. Configure la instancia de Linux para utilizar las direcciones IP de los servidores DNS proporcionados por Directory Service. Puede hacerlo configurándolo en el conjunto de opciones de DHCP asociado a la VPC o ajustándolo manualmente en la instancia. Si desea configurarlo manualmente, consulte [Cómo asignar un servidor DNS estático a una instancia privada de Amazon EC2](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) en el AWS Knowledge Center para obtener orientación sobre cómo configurar el servidor DNS persistente para su distribución y versión de Linux en particular.

1. Asegúrese de que su instancia de Linux esté actualizada.

   ```
   sudo yum -y update
   ```

1. Instale los paquetes necesarios de Samba o Winbind en la instancia de Linux.

   ```
   sudo yum -y install authconfig samba samba-client samba-winbind samba-winbind-clients
   ```

1. Haga una copia de seguridad del archivo `smb.conf` principal para poder volver a él en caso de que se produzca un error: 

   ```
   sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
   ```

1. Abra el archivo de configuración original [`/etc/samba/smb.conf`] en un editor de texto.

   ```
   sudo vim /etc/samba/smb.conf
   ```

   Complete la información del entorno de dominio de Active Directory como se muestra en el siguiente ejemplo:

   ```
   [global]
    workgroup = example
    security = ads
    realm = example.com
    idmap config * : rangesize = 1000000
    idmap config * : range = 1000000-19999999
    idmap config * : backend = autorid
    winbind enum users = no
    winbind enum groups = no
    template homedir = /home/%U@%D
    template shell = /bin/bash
    winbind use default domain = false
   ```

1. Abra el archivo de host [`/etc/hosts`] en un editor de texto.

   ```
   sudo vim /etc/hosts
   ```

   Agregue la dirección IP privada de su instancia de Linux de la siguiente manera:

   ```
   10.x.x.x  Linux_hostname.example.com Linux_hostname
   ```
**nota**  
Si no especificó la dirección IP en el archivo `/etc/hosts`, es posible que reciba el siguiente error de DNS al unir la instancia al dominio:  
`No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER`  
Este error significa que la unión se hizo correctamente, pero el comando [net ads] no pudo registrar el registro DNS en DNS.

1. Una la instancia de Linux a Active Directory mediante la utilidad net. 

   ```
   sudo net ads join -U join_account@example.com
   ```  
*join\$1account@example.com*  
Una cuenta del *example.com* dominio que tiene privilegios de unión a un dominio. Introduzca la contraseña de la cuenta cuando se le solicite. Para obtener más información sobre cómo delegar estos privilegios, consulte [Delegación de privilegios de unión a directorios para Microsoft AWS AD administrado](directory_join_privileges.md).  
*example.com*  
El nombre de DNS completo del directorio.

   ```
   Enter join_account@example.com's password:
   Using short domain name -- example
   Joined 'IP-10-x-x-x' to dns domain 'example.com'
   ```

1. Modifique el archivo de configuración PAM. Utilice el siguiente comando para agregar las entradas necesarias para la autenticación de winbind:

   ```
   sudo authconfig --enablewinbind --enablewinbindauth  --enablemkhomedir   --update
   ```

1. Configure el servicio SSH para permitir autenticación de contraseñas al editar el archivo `/etc/ssh/sshd_config`.

   1. Abra el archivo `/etc/ssh/sshd_config` en un editor de texto.

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. Establezca la opción `PasswordAuthentication` en `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Reinicie el servicio SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Otra opción:

      ```
      sudo service sshd restart
      ```

1. Una vez que la instancia se haya reiniciado, siga estos pasos para conectarse a ella con cualquier cliente SSH y agregue privilegios raíz para el grupo o usuario del dominio a la lista de sudoers:

   1. Abra el archivo `sudoers` con el siguiente comando:

      ```
      sudo visudo
      ```

   1. Agregue los grupos o usuarios necesarios de su dominio de confianza de la siguiente manera y, a continuación, guárdelos.

      ```
      ## Adding Domain Users/Groups.
      %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL
      %domainname\\groupname ALL=(ALL:ALL) ALL
      domainname\\username ALL=(ALL:ALL) ALL
      %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL
      Trusted_DomainName\\username ALL=(ALL:ALL) ALL
      ```

      (En el ejemplo anterior, se utiliza“\$1<espacio>” para crear el carácter de espacio en Linux).

------
#### [ SUSE ]<a name="suse"></a>

1. Conéctese a la instancia con cualquier cliente SSH.

1. Configure la instancia de Linux para utilizar las direcciones IP de los servidores DNS proporcionados por Directory Service. Puede hacerlo configurándolo en el conjunto de opciones de DHCP asociado a la VPC o ajustándolo manualmente en la instancia. Si desea configurarlo manualmente, consulte [Cómo asignar un servidor DNS estático a una instancia privada de Amazon EC2](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) en el AWS Knowledge Center para obtener orientación sobre cómo configurar el servidor DNS persistente para su distribución y versión de Linux en particular.

1. Asegúrese de que su instancia de SUSE Linux 15 esté actualizada.

   1. Conecte el repositorio de paquetes.

      ```
      sudo SUSEConnect -p PackageHub/15.1/x86_64
      ```

   1. Actualice SUSE.

      ```
      sudo zypper update -y
      ```

1. Instale los paquetes necesarios de Samba o Winbind en la instancia de Linux.

   ```
   sudo zypper in -y samba samba-winbind
   ```

1. Haga una copia de seguridad del archivo `smb.conf` principal para poder volver a él en caso de que se produzca un error: 

   ```
   sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
   ```

1. Abra el archivo de configuración original [`/etc/samba/smb.conf`] en un editor de texto.

   ```
   sudo vim /etc/samba/smb.conf
   ```

   Complete la información del entorno de dominio de Active Directory como se muestra en el siguiente ejemplo:

   ```
   [global]
    workgroup = example
    security = ads
    realm = example.com
    idmap config * : rangesize = 1000000
    idmap config * : range = 1000000-19999999
    idmap config * : backend = autorid
    winbind enum users = no
    winbind enum groups = no
    template homedir = /home/%U@%D
    template shell = /bin/bash
    winbind use default domain = false
   ```

1. Abra el archivo de host [`/etc/hosts`] en un editor de texto.

   ```
   sudo vim /etc/hosts
   ```

   Agregue la dirección IP privada de su instancia de Linux de la siguiente manera:

   ```
   10.x.x.x  Linux_hostname.example.com Linux_hostname
   ```
**nota**  
Si no especificó la dirección IP en el archivo `/etc/hosts`, es posible que reciba el siguiente error de DNS al unir la instancia al dominio:  
`No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER`  
Este error significa que la unión se hizo correctamente, pero el comando [net ads] no pudo registrar el registro DNS en DNS.

1. Una la instancia de Linux al directorio con el siguiente comando. 

   ```
   sudo net ads join -U join_account@example.com
   ```  
*join\$1account*  
El AMAccount nombre s del *example.com* dominio que tiene privilegios de unión a un dominio. Introduzca la contraseña de la cuenta cuando se le solicite. Para obtener más información sobre cómo delegar estos privilegios, consulte [Delegación de privilegios de unión a directorios para Microsoft AWS AD administrado](directory_join_privileges.md).  
*example.com*  
El nombre de DNS completo del directorio.

   ```
   Enter join_account@example.com's password:
   Using short domain name -- example
   Joined 'IP-10-x-x-x' to dns domain 'example.com'
   ```

1. Modifique el archivo de configuración PAM. Utilice el siguiente comando para agregar las entradas necesarias para la autenticación de Winbind:

   ```
   sudo pam-config --add --winbind --mkhomedir
   ```

1. Abra el archivo de configuración de Name Service Switch [`/etc/nsswitch.conf`] en un editor de texto.

   ```
   vim /etc/nsswitch.conf
   ```

   Agregue la directiva de Winbind como se muestra a continuación.

   ```
   passwd: files winbind
   shadow: files winbind
   group:  files winbind
   ```

1. Configure el servicio SSH para permitir autenticación de contraseñas al editar el archivo `/etc/ssh/sshd_config`.

   1. Abra el archivo `/etc/ssh/sshd_config` en un editor de texto.

      ```
      sudo vim /etc/ssh/sshd_config
      ```

   1. Establezca la opción `PasswordAuthentication` en `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Reinicie el servicio SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Otra opción:

      ```
      sudo service sshd restart
      ```

1. Una vez que la instancia se haya reiniciado, siga estos pasos para conectarse a ella con cualquier cliente SSH y agregue privilegios raíz para el grupo o usuario del dominio a la lista de sudoers:

   1. Abra el archivo `sudoers` con el siguiente comando:

      ```
      sudo visudo
      ```

   1. Agregue los grupos o usuarios necesarios de su dominio de confianza de la siguiente manera y, a continuación, guárdelos.

      ```
      ## Adding Domain Users/Groups.
      %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL
      %domainname\\groupname ALL=(ALL:ALL) ALL
      domainname\\username ALL=(ALL:ALL) ALL
      %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL
      Trusted_DomainName\\username ALL=(ALL:ALL) ALL
      ```

      (En el ejemplo anterior, se utiliza“\$1<espacio>” para crear el carácter de espacio en Linux).

------
#### [ Ubuntu ]<a name="ubuntu"></a>

1. Conéctese a la instancia con cualquier cliente SSH.

1. Configure la instancia de Linux para utilizar las direcciones IP de los servidores DNS proporcionados por Directory Service. Puede hacerlo configurándolo en el conjunto de opciones de DHCP asociado a la VPC o ajustándolo manualmente en la instancia. Si desea configurarlo manualmente, consulte [Cómo asignar un servidor DNS estático a una instancia privada de Amazon EC2](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) en el AWS Knowledge Center para obtener orientación sobre cómo configurar el servidor DNS persistente para su distribución y versión de Linux en particular.

1. Asegúrese de que su instancia de Linux esté actualizada.

   ```
   sudo apt-get -y upgrade
   ```

1. Instale los paquetes necesarios de Samba o Winbind en la instancia de Linux.

   ```
   sudo apt -y install samba winbind libnss-winbind libpam-winbind
   ```

1. Haga una copia de seguridad del archivo `smb.conf` principal para poder volver a él en caso de que se produzca un error. 

   ```
   sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
   ```

1. Abra el archivo de configuración original [`/etc/samba/smb.conf`] en un editor de texto.

   ```
   sudo vim /etc/samba/smb.conf
   ```

   Complete la información del entorno de dominio de Active Directory como se muestra en el siguiente ejemplo:

   ```
   [global]
    workgroup = example
    security = ads
    realm = example.com
    idmap config * : rangesize = 1000000
    idmap config * : range = 1000000-19999999
    idmap config * : backend = autorid
    winbind enum users = no
    winbind enum groups = no
    template homedir = /home/%U@%D
    template shell = /bin/bash
    winbind use default domain = false
   ```

1. Abra el archivo de host [`/etc/hosts`] en un editor de texto.

   ```
   sudo vim /etc/hosts
   ```

   Agregue la dirección IP privada de su instancia de Linux de la siguiente manera:

   ```
   10.x.x.x  Linux_hostname.example.com Linux_hostname
   ```
**nota**  
Si no especificó la dirección IP en el archivo `/etc/hosts`, es posible que reciba el siguiente error de DNS al unir la instancia al dominio:  
`No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER`  
Este error significa que la unión se hizo correctamente, pero el comando [net ads] no pudo registrar el registro DNS en DNS.

1. Una la instancia de Linux a Active Directory mediante la utilidad net. 

   ```
   sudo net ads join -U join_account@example.com
   ```  
*join\$1account@example.com*  
Una cuenta del *example.com* dominio que tiene privilegios de unión a un dominio. Introduzca la contraseña de la cuenta cuando se le solicite. Para obtener más información sobre cómo delegar estos privilegios, consulte [Delegación de privilegios de unión a directorios para Microsoft AWS AD administrado](directory_join_privileges.md).  
*example.com*  
El nombre de DNS completo del directorio.

   ```
   Enter join_account@example.com's password:
   Using short domain name -- example
   Joined 'IP-10-x-x-x' to dns domain 'example.com'
   ```

1. Modifique el archivo de configuración PAM. Utilice el siguiente comando para agregar las entradas necesarias para la autenticación de Winbind:

   ```
   sudo pam-auth-update --add --winbind --enable mkhomedir
   ```

1. Abra el archivo de configuración de Name Service Switch [`/etc/nsswitch.conf`] en un editor de texto.

   ```
   vim /etc/nsswitch.conf
   ```

   Agregue la directiva de Winbind como se muestra a continuación.

   ```
   passwd: compat winbind
   group:  compat winbind
   shadow: compat winbind
   ```

1. Configure el servicio SSH para permitir autenticación de contraseñas al editar el archivo `/etc/ssh/sshd_config`.

   1. Abra el archivo `/etc/ssh/sshd_config` en un editor de texto.

      ```
      sudo vim /etc/ssh/sshd_config
      ```

   1. Establezca la opción `PasswordAuthentication` en `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Reinicie el servicio SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Otra opción:

      ```
      sudo service sshd restart
      ```

1. Una vez que la instancia se haya reiniciado, siga estos pasos para conectarse a ella con cualquier cliente SSH y agregue privilegios raíz para el grupo o usuario del dominio a la lista de sudoers:

   1. Abra el archivo `sudoers` con el siguiente comando:

      ```
      sudo visudo
      ```

   1. Agregue los grupos o usuarios necesarios de su dominio de confianza de la siguiente manera y, a continuación, guárdelos.

      ```
      ## Adding Domain Users/Groups.
      %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL
      %domainname\\groupname ALL=(ALL:ALL) ALL
      domainname\\username ALL=(ALL:ALL) ALL
      %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL
      Trusted_DomainName\\username ALL=(ALL:ALL) ALL
      ```

      (En el ejemplo anterior, se utiliza“\$1<espacio>” para crear el carácter de espacio en Linux).

------

## Conexión a la instancia de Linux
<a name="linux_winbind_connect"></a>

Cuando un usuario se conecta a la instancia mediante un cliente SSH, se le solicita que indique su nombre de usuario. El usuario puede introducir el nombre de usuario en formato `username@example.com` o `EXAMPLE\username`. La respuesta será similar a la siguiente, en función de la distribución de Linux que utilice:

**Amazon Linux, Red Hat Enterprise Linux y CentOS Linux**

```
login as: johndoe@example.com
johndoe@example.com's password:
Last login: Thu Jun 25 16:26:28 2015 from XX.XX.XX.XX
```

**SUSE Linux**

```
SUSE Linux Enterprise Server 15 SP1 x86_64 (64-bit)

As "root" (sudo or sudo -i) use the:
  - zypper command for package management
  - yast command for configuration management

Management and Config: https://www.suse.com/suse-in-the-cloud-basics
Documentation: https://www.suse.com/documentation/sles-15/
Forum: https://forums.suse.com/forumdisplay.php?93-SUSE-Public-Cloud

Have a lot of fun...
```

**Ubuntu Linux**

```
login as: admin@example.com
admin@example.com@10.24.34.0's password:
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-1057-aws x86_64)

* Documentation:  https://help.ubuntu.com
* Management:     https://landscape.canonical.com
* Support:        https://ubuntu.com/advantage

  System information as of Sat Apr 18 22:03:35 UTC 2020

  System load:  0.01              Processes:           102
  Usage of /:   18.6% of 7.69GB   Users logged in:     2
  Memory usage: 16%               IP address for eth0: 10.24.34.1
  Swap usage:   0%
```