Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Unione di un’istanza database ad Active Directory autogestito
Per unire l’istanza database RDS per SQL Server ad AD autogestito:
Passaggio 1: creare o modificare un'istanza DB di SQL Server
È possibile utilizzare la console, l'interfaccia della linea di comando o l'API RDS per associare un'istanza database RDS per SQL Server a un dominio AD gestito dal cliente. Questa operazione può essere eseguita in uno dei seguenti modi:
-
Creare una nuova istanza database di SQL Server utilizzando la console, il comando CLI create-db-instance o l'operazione API RDS CreateDBInstance.
Per istruzioni, consulta Creazione di un'istanza database Amazon RDS.
-
Modificare un'istanza database di SQL Server esistente utilizzando la console, il comando CLI modify-db-instance o l'operazione API RDS ModifyDBInstance.
Per istruzioni, consulta Modifica di un'istanza database Amazon RDS.
-
Ripristina un'istanza DB di SQL Server da un'istantanea del database utilizzando la console, il comando CLI https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html restore-db-instance-from-db-snapshot o l'operazione API RDS. RestoreDBInstanceFromDBSnapshot
Per istruzioni, consulta Ripristino in un’istanza database.
-
Ripristina un'istanza DB di SQL Server in un point-in-time utilizzando la console, il comando CLI restore-db-instance-to-point-in-time o l'operazione API RDS. https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html RestoreDBInstanceToPointInTime
Per istruzioni, consulta Ripristino di un’istanza database a un punto temporale specifico per Amazon RDS.
Quando si utilizza il AWS CLI, sono necessari i seguenti parametri affinché l'istanza DB sia in grado di utilizzare il dominio AD autogestito creato:
-
Per il parametro
--domain-fqdn, utilizza il nome di dominio completo (FQDN) del dominio AD autogestito. -
Per il parametro
--domain-ou, utilizza l'unità organizzativa creata nel dominio AD gestito dal cliente. -
Per il parametro
--domain-auth-secret-arn, utilizza il valore riportato nel campo ARN segreto definito in una delle fasi precedenti. -
Per il parametro
--domain-dns-ips, utilizza gli indirizzi IPv4 primari e secondari dei server DNS per il dominio AD gestito dal cliente. Se non disponi di un indirizzo IP secondario del server DNS, inserisci l'indirizzo IP primario due volte.
I seguenti comandi CLI di esempio mostrano come creare, modificare e rimuovere un'istanza database RDS per SQL Server con un dominio AD gestito dal cliente.
Importante
Se modifichi un'istanza database per aggiungerla o rimuoverla da un dominio AD gestito dal cliente, è necessario riavviare l'istanza database affinché la modifica abbia effetto. Puoi scegliere di applicare le modifiche subito o attendere fino alla prossima finestra di manutenzione. La selezione dell'opzione Applica immediatamente causerà tempi di inattività per le istanze database Single-AZ. Un'istanza database Multi-AZ eseguirà un failover prima di completare il riavvio. Per ulteriori informazioni, consulta Utilizzo dell’impostazione della pianificazione delle modifiche.
Il seguente comando CLI crea una nuova istanza database RDS per SQL Server e la aggiunge a un dominio AD gestito dal cliente.
Per Linux, macOS o Unix:
aws rds create-db-instance \ --db-instance-identifiermy-DB-instance\ --db-instance-classdb.m5.xlarge\ --allocated-storage50\ --enginesqlserver-se\ --engine-version15.00.4043.16.v1\ --license-modellicense-included\ --master-usernamemy-master-username\ --master-user-passwordmy-master-password\ --domain-fqdnmy_AD_domain.my_AD.my_domain\ --domain-ouOU=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"
Per Windows:
aws rds create-db-instance ^ --db-instance-identifiermy-DB-instance^ --db-instance-classdb.m5.xlarge^ --allocated-storage50^ --enginesqlserver-se^ --engine-version15.00.4043.16.v1^ --license-modellicense-included^ --master-usernamemy-master-username^ --master-user-passwordmy-master-password^ --domain-fqdnmy-AD-test.my-AD.mydomain^ --domain-ouOU=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"
Il seguente comando CLI modifica un’istanza database RDS per SQL Server esistente in modo che utilizzi un dominio AD autogestito.
Per Linux, macOS o Unix:
aws rds modify-db-instance \ --db-instance-identifiermy-DB-instance\ --domain-fqdnmy_AD_domain.my_AD.my_domain\ --domain-ouOU=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"
Per Windows:
aws rds modify-db-instance ^ --db-instance-identifiermy-DBinstance^ --domain-fqdnmy_AD_domain.my_AD.my_domain^ --domain-ouOU=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"
Il seguente comando CLI rimuove un’istanza database RDS per SQL Server da un dominio AD autogestito.
Per Linux, macOS o Unix:
aws rds modify-db-instance \ --db-instance-identifiermy-DB-instance\ --disable-domain
Per Windows:
aws rds modify-db-instance ^ --db-instance-identifiermy-DB-instance^ --disable-domain
Fase 2: utilizzo dell’autenticazione Kerberos o NTLM
autenticazione NTLM
Ogni istanza database Amazon RDS dispone di un endpoint e ciascun endpoint è associato a un nome DNS e a un numero di porta per l’istanza database. Per connetterti all'istanza database tramite un'applicazione client SQL, devi conoscere il nome DNS e il numero di porta dell'istanza database. Per l'autenticazione tramite l'autenticazione NTLM, è necessario connettersi all'endpoint RDS o all'endpoint listener se si utilizza una distribuzione. Multi-AZ
Durante una manutenzione pianificata del database o un’interruzione non pianificata del servizio, Amazon RDS esegue automaticamente il failover nel database secondario aggiornato, in modo che le operazioni possano riprendere rapidamente senza intervento manuale. Le istanze primarie e secondarie utilizzano lo stesso endpoint, il cui indirizzo di rete fisico passa alla replica secondaria come parte del processo di failover. Non è necessario riconfigurare l'applicazione quando si verifica un failover.
Autenticazione Kerberos
Kerberos-based l'autenticazione per RDS per SQL Server richiede che vengano effettuate connessioni a uno specifico Service Principal Name (SPN). Tuttavia, dopo un evento di failover, l’applicazione potrebbe non essere a conoscenza del nuovo SPN. Per risolvere questo problema, RDS for SQL Server offre un endpoint. Kerberos-based
L' Kerberos-based endpoint segue un formato specifico. Se il tuo endpoint RDS è, l'endpoint corrispondente Kerberos-based lo sarà. rds-instance-name.account-region-hash.aws-region.rds.amazonaws.com.rproxy.goskope.comrds-instance-name.account-region-hash.aws-region.awsrds.fully qualified domain name (FQDN)
Ad esempio, se l'endpoint RDS è ad-test.cocv6zwtircu.us-east-1.rds.amazonaws.com e il nome di dominio ècorp-ad.company.com, l'endpoint sarebbe. Kerberos-based ad-test.cocv6zwtircu.us-east-1.awsrds.corp-ad.company.com
Questo Kerberos-based endpoint può essere utilizzato per autenticarsi con l'istanza di SQL Server utilizzando Kerberos, anche dopo un evento di failover, poiché l'endpoint viene aggiornato automaticamente in modo da puntare al nuovo SPN dell'istanza primaria di SQL Server.
Trovare il CNAME
Per trovare il tuo CNAME, connettiti al controller di dominio e apri DNS Manager. Vai a Forward Lookup Zones e al tuo FQDN.
Navigare in awsrds, aws-region e hash specifico dell’account e della Regione.
Se dopo aver connesso CNAME dal client remoto viene restituita una connessione NTLM, controllare se le porte richieste sono incluse nell’elenco delle porte consentite.
Per verificare che la connessione utilizzi Kerberos, eseguire la seguente query:
SELECT net_transport, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;
Se l’istanza restituisce una connessione NTLM al momento della connessione a un endpoint Kerberos, verificare la configurazione della rete e le configurazioni utente. Per informazioni, consulta Configurazione della connettività di rete.
Passaggio 3: creazione degli accessi a SQL Server per l'autenticazione di Windows
Utilizza le credenziali dell'utente master Amazon RDS per eseguire la connessione all'istanza database SQL Server analogamente a quanto avviene con qualsiasi altra istanza database. Poiché l'istanza database viene aggiunta al dominio AD gestito dal cliente, puoi eseguire il provisioning degli account di accesso e degli utenti di SQL Server. Puoi eseguire questa operazione dall'utilità Utenti e gruppi AD nel dominio AD gestito dal cliente. Le autorizzazioni per il database vengono gestite tramite le autorizzazioni standard di SQL Server concesse e revocate in base a questi account di accesso Windows.
Affinché un account del servizio di dominio AD autogestito possa autenticarsi con SQL Server, deve esistere un accesso Windows a SQL Server per l'account del servizio di dominio AD autogestito o per un gruppo AD autogestito di cui l'utente è membro. Fine-grained il controllo degli accessi viene gestito mediante la concessione e la revoca delle autorizzazioni per questi accessi a SQL Server. Un account del servizio di dominio AD autogestito che non dispone di un accesso a SQL Server o non appartiene a un gruppo AD autogestito con tale accesso non può accedere all’istanza database SQL Server.
È necessaria l'autorizzazione ALTER ANY LOGIN per creare un accesso AD gestito dal cliente per SQL Server. Se non hai ancora creato un accesso con questa autorizzazione, esegui la connessione come utente principale dell'istanza database utilizzando l'autenticazione di SQL Server e quindi crea gli accessi AD gestiti dal cliente per SQL Server nel contesto dell'utente principale.
È possibile eseguire un comando DDL (Data Definition Language) come il seguente per creare un accesso a SQL Server per un gruppo o un account del servizio di dominio AD autogestito.
Nota
Specifica utenti o gruppi utilizzando il nome di accesso precedente a Windows 2000 nel formato . Non puoi utilizzare un UPN (User Principle Name) nel formato my_AD_domain\my_AD_domain_usermy_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
Nota
Se si elimina un utente di Active Directory e si crea un nuovo utente con lo stesso utentesAMAccountName, quindi si esegue CREATE LOGIN [DOMAIN\username] FROM WINDOWS sull'istanza RDS per SQL Server, l'accesso potrebbe essere creato con il SID dell'utente eliminato anziché il SID del nuovo utente, causando errori di autenticazione di Windows. Ciò si verifica perché l'host RDS memorizza nella cache le mappature nome-SID a livello di sistema operativo e questa cache non è direttamente accessibile ai clienti. Per evitare questo problema, utilizzane uno univoco sAMAccountName per ogni ciclo di provisioning (ad esempio, aggiungendo un timestamp o un suffisso di versione). Se è necessario riutilizzare lo stesso nome, esegui DBCC FREESYSTEMCACHE('TokenAndPermUserStore') dopo aver ricreato l'utente AD, quindi attendi fino a 10 minuti (per consentire l'aggiornamento della OS-level cache, poiché questo intervallo non è configurabile nelle istanze gestite da RDS) e verifica che restituisca il SID previsto prima di creare l'accesso. SUSER_SID('DOMAIN\username')
Per ulteriori informazioni, vedere CREATE LOGIN () Transact-SQL nella documentazione di Microsoft Developer Network.
Gli utenti (persone e applicazioni) del dominio possono ora connettersi all'istanza RDS per SQL Server da un computer client associato al dominio AD gestito dal cliente utilizzando l'autenticazione Windows.