Configuración de Active Directory autoadministrado - Amazon Relational Database Service

Configuración de Active Directory autoadministrado

Para configurar un AD autoadministrado, siga estos pasos.

Paso 1: Crear una unidad organizativa en el AD

importante

Se recomienda crear una credencial de servicio y una OU dedicadas a esa unidad organizativa para todas las cuentas de AWS que posean una instancia de base de datos de RDS para SQL Server que se haya unido a su dominio de AD autoadministrado. Al crear credenciales de servicio u OU dedicadas, puede evitar conflictos de permisos y seguir el principio de privilegio mínimo.

Para crear una OU en su AD
  1. Conéctese a su dominio de AD como administrador de dominio.

  2. Abra Usuarios y equipos de Active Directory y seleccione el dominio en el que desea crear la OU.

  3. Haga clic con el botón derecho en el dominio y seleccione Nuevo y, a continuación, Unidad organizativa.

  4. Escriba un nombre para la OU.

  5. Mantenga la casilla seleccionada para Proteger el contenedor contra la eliminación accidental.

  6. Haga clic en OK (Aceptar). La nueva OU aparecerá en su dominio.

Paso 2: Crear un usuario de dominio de AD en su AD

Las credenciales de usuario del dominio se utilizarán para el secreto en AWS Secrets Manager.

Para crear un usuario de dominio de AD en su AD
  1. Abra Usuarios y equipos de Active Directory y seleccione el dominio y la OU  en los que desea crear el usuario.

  2. Haga clic con el botón derecho en el objeto Usuarios y seleccione Nuevo y, a continuación, Usuario.

  3. Introduzca el nombre, los apellidos y el nombre de inicio de sesión del usuario. Haga clic en Next (Siguiente).

  4. Introduzca una contraseña para el usuario. No seleccione El usuario debe cambiar la contraseña en el próximo inicio de sesión. No seleccione La cuenta está deshabilitada. Haga clic en Next (Siguiente).

  5. Haga clic en OK (Aceptar). El nuevo usuario aparecerá en su dominio.

Paso 3: Delegar el control al usuario de AD

Para delegar el control al usuario del dominio AD de su dominio
  1. Abra el complemento MMC Usuarios y equipos de Active Directory y seleccione el dominio en el que desea crear el usuario.

  2. Haga clic con el botón derecho en la OU que creó anteriormente y seleccione Delegar control.

  3. En Asistente para delegación de control, haga clic en Siguiente.

  4. En la sección Usuarios o grupos, haga clic en Agregar.

  5. En la sección Seleccionar usuarios, equipos o grupos, introduzca el usuario de AD que creó y haga clic en Verificar nombres. Si la comprobación de usuario de AD se ha realizado correctamente, haga clic en Aceptar.

  6. En la sección Usuarios o grupos, confirme que ha añadido el usuario de AD y haga clic en Siguiente.

  7. En la página Tareas que se delegarán, seleccione Crear una tarea personalizada para delegar y haga clic en Siguiente.

  8. En la sección Tipo de objeto de Active Directory:

    1. Elija Solo los siguientes objetos de la carpeta.

    2. Seleccione Objetos computacionales.

    3. Seleccione Crear objetos seleccionados en esta carpeta.

    4. Seleccione Eliminar los objetos seleccionados en esta carpeta y haga clic en Siguiente.

  9. En la sección Permisos:

    1. Mantenga seleccionada la opción General.

    2. Seleccione Escritura validada en el nombre de host DNS.

    3. Seleccione Escritura validada en el nombre de la entidad de servicio y haga clic en Siguiente.

  10. Para Completar el asistente para delegación de control, revise y confirme la configuración y haga clic en Finalizar.

Paso 4: Crear una clave de AWS KMS

La clave de KMS se utiliza para cifrar el secreto de AWS.

Para crear una clave de AWS KMS
nota

En Clave de cifrado, no utilice la clave de KMS predeterminada de AWS. Asegúrese de crear la clave de AWS KMS en la misma cuenta de AWS que contiene la instancia de base de datos de RDS para SQL Server que desea unir a su AD autoadministrado.

  1. En la consola de AWS KMS, elija Crear API.

  2. En Tipo de clave, elija Simétrica.

  3. Para Uso de claves, elija Cifrar y descifrar.

  4. Para Advanced options (Opciones avanzadas):

    1. En Origen del material de claves, elija Externo.

    2. Para Regionalidad, elija Clave de región única y haga clic en Siguiente.

  5. Para Alias, proporcione un nombre para la clave de KMS.

  6. (Opcional) En Description, proporcione una descripción de la clave de KMS.

  7. (Opcional) En etiquetas, introduzca una etiqueta para la clave KMS, y haga clic en Siguiente.

  8. En Administradores de claves, proporcione el nombre de un usuario de IAM y selecciónelo.

  9. En Eliminación de la clave, mantenga seleccionada la casilla Permitir que los administradores de claves eliminen esta clave y haga clic en Siguiente.

  10. En Usuarios de clave, proporcione el mismo usuario de IAM del paso anterior y selecciónelo. Haga clic en Next (Siguiente).

  11. Revise la configuración.

  12. Para Política de claves, incluya lo siguiente en la política Instrucción:

    { "Sid": "Allow use of the KMS key on behalf of RDS", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com" ] }, "Action": "kms:Decrypt", "Resource": "*" }
  13. Haga clic en Finish (Finalizar).

Paso 5: Crear un secreto de AWS

Para crear un secreto
nota

Asegúrese de crear la clave de en la misma cuenta de AWS que contiene la instancia de base de datos de RDS para SQL Server que desea unir a su AD autoadministrado.

  1. En AWS Secrets Manager, elija Almacenar un nuevo secreto.

  2. En Secret type (Tipo de secreto), elija Other type of secret (Otro tipo de secreto).

  3. En los pares clave/valor, añada sus dos claves:

    1. Para la primera clave, introduzca CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME.

    2. Para el valor de la primera clave, introduzca el nombre del usuario de AD que creó en su dominio en el paso anterior.

    3. Para la segunda clave, introduzca CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD.

    4. Para el valor de la segunda clave, introduzca la contraseña que creó para el usuario de AD en su dominio.

  4. Para la Clave de cifrado, introduzca la clave de KMS que creó en el paso anterior y haga clic en Siguiente.

  5. En Nombre de secreto, introduzca un nombre descriptivo que le ayude a buscar el secreto más adelante.

  6. (Opcional) En Descripción, escriba una descripción del nombre del secreto.

  7. En Permisos de recursos, haga clic en Editar.

  8. Añada la siguiente política a la política de permisos:

    nota

    Le recomendamos que utilice la aws:sourceAccount y las condiciones aws:sourceArn de la política para evitar el problema del suplente confuso. Utilice su Cuenta de AWS para aws:sourceAccount y el ARN de la instancia de base de datos de RDS para SQL Server para aws:sourceArn. Para obtener más información, consulte Prevención de los problemas del suplente confuso entre servicios.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*", "Condition": { "StringEquals": { "aws:sourceAccount": "123456789012" }, "ArnLike": { "aws:sourceArn": "arn:aws:rds:us-west-2:123456789012:db:*" } } } ] }
  9. Haz clic en Guardar y, a continuación, en Siguiente.

  10. En Configurar los ajustes de rotación, mantenga los valores predeterminados y seleccione Siguiente.

  11. Revise la configuración del secreto y haga clic en Guardar.

  12. Elija el secreto que creó y copie el valor del ARN del secreto. Esto se utilizará en el siguiente paso para configurar Active Directory autoadministrado.

Paso 6: Crear o modificar una instancia de base de datos de SQL Server

Puede utilizar la consola, la CLI o la API de RDS para asociar una instancia de base de datos de RDS para SQL Server a un dominio de AD autoadministrado. Puede hacerlo de una de las siguientes formas:

Si utiliza la AWS CLI, necesitará los siguientes parámetros para que la instancia de base de datos pueda usar el dominio de Active Directory autoadministrado que ha creado:

  • Para el parámetro --domain-fqdn, utilice el nombre de dominio completo (FQDN) de su Active Directory autoadministrado.

  • Para el parámetro --domain-ou, utilice la OU que creó en su AD autoadministrado.

  • Para el parámetro --domain-auth-secret-arn, utilice el valor del ARN del secreto que creó en un paso anterior.

  • Para el parámetro --domain-dns-ips, utilice las direcciones IPv4 principal y secundaria de los servidores DNS de su AD autoadministrado. Si no tiene una dirección IP de servidor DNS secundaria, introduzca la dirección IP principal dos veces.

Los siguientes comandos de CLI de ejemplo muestran cómo crear, modificar y eliminar una instancia de base de datos de RDS para SQL Server con un dominio de AD autoadministrado.

importante

Si modifica una instancia de base de datos para unirla a un dominio de AD autoadministrado o eliminarla de él, es necesario reiniciar la instancia de base de datos para que la modificación surta efecto. Puede optar por aplicar los cambios inmediatamente o esperar hasta el próximo período de mantenimiento. Si opta por Aplicar inmediatamente, provocará un tiempo de inactividad para las instancias de base de datos Single-AZ. Las instancias de base de datos Multi-AZ realizarán una conmutación por error antes de completar el reinicio. Para obtener más información, consulte Uso de la configuración de la programación de modificaciones.

El siguiente comando de CLI crea una nueva instancia de base de datos de RDS para SQL Server y la une a un dominio de AD autoadministrado.

Para Linux, macOS o:Unix

aws rds create-db-instance \ --db-instance-identifier my-DB-instance \ --db-instance-class db.m5.xlarge \ --allocated-storage 50 \ --engine sqlserver-se \ --engine-version 15.00.4043.16.v1 \ --license-model license-included \ --master-username my-master-username \ --master-user-password my-master-password \ --domain-fqdn my_AD_domain.my_AD.my_domain \ --domain-ou OU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain \ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456" \ --domain-dns-ips "10.11.12.13" "10.11.12.14"

En:Windows

aws rds create-db-instance ^ --db-instance-identifier my-DB-instance ^ --db-instance-class db.m5.xlarge ^ --allocated-storage 50 ^ --engine sqlserver-se ^ --engine-version 15.00.4043.16.v1 ^ --license-model license-included ^ --master-username my-master-username ^ --master-user-password my-master-password ^ --domain-fqdn my-AD-test.my-AD.mydomain ^ --domain-ou OU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain ^ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456" \ ^ --domain-dns-ips "10.11.12.13" "10.11.12.14"

El siguiente comando de CLI modifica una instancia de base de datos de RDS para SQL Server existente para que utilice un dominio de Active Directory autoadministrado.

Para Linux, macOS o:Unix

aws rds modify-db-instance \ --db-instance-identifier my-DB-instance \ --domain-fqdn my_AD_domain.my_AD.my_domain \ --domain-ou OU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain \ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456" \ --domain-dns-ips "10.11.12.13" "10.11.12.14"

En:Windows

aws rds modify-db-instance ^ --db-instance-identifier my-DBinstance ^ --domain-fqdn my_AD_domain.my_AD.my_domain ^ --domain-ou OU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain ^ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456" ^ --domain-dns-ips "10.11.12.13" "10.11.12.14"

El siguiente comando de CLI elimina una instancia de base de datos de RDS para SQL Server de un dominio de Active Directory autoadministrado.

Para Linux, macOS o:Unix

aws rds modify-db-instance \ --db-instance-identifier my-DB-instance \ --disable-domain

En:Windows

aws rds modify-db-instance ^ --db-instance-identifier my-DB-instance ^ --disable-domain

Paso 7: Crear inicios de sesión de SQL Server de autenticación de Windows

Use las credenciales del usuario maestro de Amazon RDS para conectarse a la instancia de base de datos de SQL Server como lo haría con cualquier otra instancia de base de datos. Como la instancia de base de datos está unida al dominio de AD autoadministrado, puede aprovisionar inicios de sesión y usuarios de SQL Server. Para ello, utilice la utilidad de usuarios y grupos de AD de su dominio de AD autoadministrado. Los permisos de bases de datos se administran a través de los permisos de SQL Server estándar otorgados y revocados para estos inicios de sesión de Windows.

Para que un usuario de AD autoadministrado se autentique con SQL Server, debe existir un inicio de sesión de Windows de SQL Server para el usuario de AD autoadministrado o para un grupo de Active Directory autoadministrado del que el usuario sea miembro. El control detallado del acceso se gestiona mediante la concesión y la revocación de permisos en estos inicios de sesión de SQL Server. Un usuario de AD autoadministrado que no tenga un inicio de sesión de SQL Server o no pertenezca a un grupo de AD autoadministrado con dicho inicio de sesión no puede tener acceso a la instancia de base de datos de SQL Server.

El permiso ALTER ANY LOGIN es necesario para crear un inicio de sesión de SQL Server de AD autoadministrado. Si todavía no ha creado ningún inicio de sesión con este permiso, conéctese como usuario maestro de la instancia de base de datos usando la autenticación de SQL Server y cree sus inicios de sesión de SQL Server de AD autoadministrado bajo el contexto del usuario maestro.

Puede ejecutar un comando de lenguaje de definición de datos (DDL), como el siguiente, para crear un inicio de sesión de SQL Server para un usuario o grupo de AD autoadministrado.

nota

Especifique usuarios y grupos con el nombre de inicio de sesión anterior a Windows 2000 en el formato my_AD_domain\my_AD_domain_user. No puede usar un nombre principal del usuario (UPN) en el formato my_AD_domain_user@my_AD_domain.

USE [master] GO CREATE LOGIN [my_AD_domain\my_AD_domain_user] FROM WINDOWS WITH DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english]; GO

Para obtener más información, consulte CREATE LOGIN (Transact-SQL) (Crear inicio de sesión [Transact-SQL]) en la documentación de Microsoft Developer Network.

Los usuarios (tanto humanos como aplicaciones) del dominio pueden conectarse ahora a la instancia de RDS para SQL Server desde un equipo cliente unido al dominio de AD autoadministrado utilizando la autenticación de Windows.