Tutorial: Implementación del conector de Active Directory (AD) en modo keytab administrado por el cliente
En este artículo se explica cómo implementar el conector de Active Directory (AD) en modo keytab administrado por el cliente. El conector es un componente clave para habilitar la autenticación de Active Directory en SQL Managed Instance habilitada por Azure Arc.
Conector de Active Directory en modo keytab administrado por el cliente
En el modo keytab administrado por el cliente, un conector de Active Directory implementa un servicio de proxy DNS que proporciona proxy a las solicitudes DNS procedentes de una instancia administrada a cualquiera de los dos servicios DNS ascendentes:
- Servidores DNS de Active Directory
- Servidores DNS de Kubernetes
El conector de AD facilita el entorno necesario para que SQL autentique los inicios de sesión de AD.
En el diagrama siguiente se muestra la funcionalidad del conector de AD y del servicio proxy DNS en modo keytab administrado por el cliente:
Requisitos previos
Antes de continuar, debe disponer de lo siguiente:
- Una instancia de Data Controller implementada en una versión compatible de Kubernetes.
- Un dominio de Active Directory (AD)
Entrada para implementar el conector de Active Directory (AD)
Para implementar una instancia de Conector Active Directory, se necesitan varias entradas del entorno del dominio de Active Directory.
Estas entradas se proporcionan en una especificación YAML de la instancia del conector de AD.
Los siguientes metadatos sobre el dominio de AD deben estar disponibles antes de implementar una instancia del conector de AD:
- Nombre del dominio de Active Directory
- Lista de controladores de dominio (nombres de dominio completos)
- Lista de las direcciones IP de servidores DNS
Los siguientes campos de entrada se exponen a los usuarios en la especificación del conector de Active Directory:
Obligatorio
spec.activeDirectory.realm
Nombre del dominio de Active Directory en mayúsculas. Este es el dominio de AD al que se asociará esta instancia del conector de AD.spec.activeDirectory.dns.nameserverIpAddresses
Lista de direcciones IP del servidor DNS de Active Directory. El servicio de proxy DNS reenviará las consultas de DNS en el nombre de dominio proporcionado a estos servidores.
Opcional
spec.activeDirectory.netbiosDomainName
Nombre de NetBIOS del dominio de Active Directory. Este es el nombre de dominio corto (nombre anterior a Windows 2000) del dominio de Active Directory. Esto se suele usar para calificar cuentas en el dominio de AD. Por ejemplo, si las cuentas del dominio se conocen como CONTOSO\admin, CONTOSO es el nombre de dominio NETBIOS.Este campo es opcional. Cuando no se proporciona, su valor predeterminado es la primera etiqueta del campo
spec.activeDirectory.realm
.En la mayoría de los entornos de dominio, se establece en el valor predeterminado, pero algunos entornos de dominio pueden tener un valor que no sea predeterminado. Tendrá que usar este campo solamente cuando el nombre NetBIOS del dominio no coincida con la primera etiqueta de su nombre completo.
spec.activeDirectory.dns.domainName
Nombre del dominio DNS en el que las búsquedas DNS se deben reenviar a los servidores DNS de Active Directory.Una búsqueda DNS de cualquier nombre que pertenezca a este dominio o a sus dominios descendientes se reenviará a Active Directory.
Este campo es opcional. Cuando no se proporciona, el valor predeterminado es el valor proporcionado para
spec.activeDirectory.realm
convertido a minúsculas.spec.activeDirectory.dns.replicas
Recuento de réplicas para el servicio de proxy DNS. Este campo es opcional y el valor predeterminado es 1 cuando no se proporciona.spec.activeDirectory.dns.preferK8sDnsForPtrLookups
Marca que indica si se prefiere la respuesta del servidor DNS de Kubernetes sobre la respuesta del servidor DNS de AD para las búsquedas de direcciones IP.El servicio de proxy DNS se basa en este campo para determinar qué grupo ascendente de servidores DNS es el preferido para las búsquedas de direcciones IP.
Este campo es opcional. Cuando no se proporciona, el valor predeterminado es
true
, es decir, las búsquedas DNS de direcciones IP se reenviarán primero a los servidores DNS de Kubernetes. Si los servidores DNS de Kubernetes no responden a la búsqueda, la consulta se reenvía a los servidores DNS de AD. Cuando se establece enfalse
, estas búsquedas DNS se reenviarán primero a los servidores DNS de AD y, tras un error, recurren a Kubernetes.
Implementación de un conector de Active Directory (AD) con keytab administrado por el cliente
Para implementar un conector de AD, cree un archivo .yaml de especificaciones llamado active-directory-connector.yaml
.
En el ejemplo siguiente, se muestra un ejemplo de un conector de AD con keytab administrado por el cliente que usa un dominio de AD llamado CONTOSO.LOCAL
. Asegúrese de reemplazar los valores por los de su dominio de AD.
apiVersion: arcdata.microsoft.com/v1beta1
kind: ActiveDirectoryConnector
metadata:
name: adarc
namespace: <namespace>
spec:
activeDirectory:
realm: CONTOSO.LOCAL
dns:
preferK8sDnsForPtrLookups: false
nameserverIPAddresses:
- <DNS Server 1 IP address>
- <DNS Server 2 IP address>
El siguiente comando implementa la instancia del conector de AD. Actualmente, solo se admite el enfoque de la implementación nativo de kubernetes.
kubectl apply –f active-directory-connector.yaml
Después de enviar la implementación de la instancia del conector de AD, puede usar el comando siguiente para comprobar el estado de la implementación.
kubectl get adc -n <namespace>