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à.
Configurazione dell’autenticazione di Windows per le istanze RDS Custom per SQL Server
È consigliabile creare un’unità organizzativa dedicata e credenziali del servizio aventi come ambito tale unità organizzativa per qualsiasi Account AWS proprietario di un’istanza database RDS Custom per SQL Server aggiunta al tuo dominio AD. Dedicando un’unità organizzativa e le credenziali di servizio, puoi evitare autorizzazioni in conflitto e seguire il principio del privilegio minimo.
Le policy di gruppo a livello di Active Directory potrebbero entrare in conflitto con le automazioni e autorizzazioni AWS. È consigliabile selezionare GPO applicabili solo all’unità organizzativa creata per RDS Custom per SQL Server.
Per creare un’unità organizzativa e un utente di dominio AD in un AD autogestito o on-premises, è possibile connettere il controller di dominio come amministratore di dominio.
-
Per creare utenti e gruppi in una directory Directory Service, è necessario essere connessi a un’istanza di gestione e avere effettuato l’accesso con un utente che dispone di privilegi per creare utenti e gruppi. Per ulteriori informazioni, consulta User and group management in AWS Managed Microsoft AD nella Guida di amministrazione di AWS Directory Service.
-
Per gestire Active Directory da un’istanza Amazon EC2 Windows Server, è necessario installare i servizi di dominio Active Directory e gli strumenti del servizio Active Directory Lightweight Directory nell’istanza EC2. Per ulteriori informazioni, consulta Installazione degli strumenti di amministrazione di Active Directory per AWS Managed Microsoft AD nella Guida di amministrazione di AWS Directory Service.
-
Per semplificare l’amministrazione, è consigliabile installare questi strumenti su un’istanza EC2 separata per l’amministrazione e non sull’istanza database RDS Custom per SQL Server.
Di seguito sono indicati i requisiti per un account del servizio di dominio AD.
Devi disporre di un account del servizio nel tuo dominio AD con autorizzazioni delegate per aggiungere computer al dominio. Un account del servizio di dominio è un account utente nel tuo dominio AD che dispone di autorizzazione delegata per eseguire determinate attività.
-
Delega le seguenti autorizzazioni all’account del servizio di dominio nell’unità organizzativa a cui stai aggiungendo l’istanza database RDS per SQL Server:
Capacità convalidata di scrivere sul nome host DNS
Capacità convalidata di scrivere sul nome principale del servizio
Creazione ed eliminazione degli oggetti computer
-
Per AD autogestito e on-premises, l’account del servizio di dominio deve essere membro del gruppo “AWS Delegated Domain Name System Administrators”.
-
Per AWS Managed Microsoft AD, l’account del servizio di dominio deve essere membro del gruppo “DnsAdmins”.
Questo è il set minimo di autorizzazioni necessarie per aggiungere oggetti computer ad AD autogestito e AWS Managed Microsoft AD. Per ulteriori informazioni, consulta Error: Access is denied when non-administrator users who have been delegated control try to join computers to a domain controller
Importante
Non spostare gli oggetti computer creati da RDS Custom per SQL Server nell’unità organizzativa (UO) dopo la creazione dell’istanza database. Lo spostamento degli oggetti associati potrebbe causare una configurazione errata dell’istanza database RDS Custom per SQL Server. Se devi spostare gli oggetti computer creati da Amazon RDS, utilizza l’operazione API RDS ModifyDBInstance per modificare i parametri del dominio in base alla posizione desiderata degli oggetti computer.
Argomenti
Fase 1: creazione di un’unità organizzativa (UO) in AD
Utilizza la procedura seguente per creare un’unità organizzativa in AD:
Creazione di un’unità organizzativa (UO) in AD
-
Connettiti all’AD del dominio come amministratore del dominio.
-
Apri Utenti e computer di Active Directory e seleziona il dominio in cui desideri creare l'unità organizzativa.
-
Fai clic con il pulsante destro del mouse sul dominio e scegli Nuovo, quindi Unità organizzativa.
-
Inserisci un nome per l’unità organizzativa.
Abilita Proteggi il container dall’eliminazione accidentale.
-
Scegli OK. La nuova unità organizzativa apparirà sotto il dominio.
Per AWS Managed Microsoft AD, il nome di questa UO è basato sul nome NetBIOS digitato quando la directory è stata creata. Questa UO è di proprietà di AWS e contiene tutti i gli oggetti di directory correlati ad AWS per cui ti è stato concesso il controllo completo. Per impostazione predefinita, a questa UO corrispondono due UO secondarie: Computer e Utenti. Le nuove unità organizzative create da RDS Custom sono secondarie rispetto all’unità organizzativa basata su NetBIOS.
Fase 2: creazione un utente di dominio AD
Le credenziali dell’utente del dominio vengono utilizzate per il segreto in Secrets Manager.
Creazione di un utente di dominio AD in AD
Apri Utenti e computer di Active Directory e seleziona il dominio e l’unità organizzativa in cui desideri creare l’utente.
Fai clic con il pulsante destro del mouse sull’oggetto Utenti, scegli Nuovo, quindi Utente.
Immetti il nome, il cognome e il nome di accesso per l’utente. Fai clic su Next (Successivo).
Immetti una password per l’utente. Non selezionare L’utente deve cambiare la password al prossimo accesso o L’account è disabilitato. Fai clic su Next (Successivo).
Fai clic su OK. Il nuovo utente appare sotto il dominio.
Fase 3: delega del controllo all’utente AD in AWS Managed Microsoft AD o autogestito
Per delega il controllo all’utente del dominio AD nel dominio
-
Apri lo snap-in MMC Utenti e computer di Active Directory e seleziona il dominio.
-
Fai clic con il pulsante destro del mouse sull’unità organizzativa creata in precedenza e scegli Delega controllo.
-
Nella pagina Delega guidata del controllo, fai clic su Avanti.
-
Nella sezione Utenti o gruppi, fai clic su Aggiungi.
-
Nella sezione Seleziona utenti, computer o gruppi, inserisci l’utente AD creato in precedenza e fai clic su Controlla nomi. Se il controllo degli utenti AD ha esito positivo, fai clic su OK.
-
Nella sezione Utenti o gruppi, verifica che l’utente AD sia stato aggiunto e fai clic su Avanti.
-
Nella pagina Operazioni da delegare, seleziona Crea un’operazione personalizzata da delegare, quindi fai clic su Avanti.
-
Nella sezione Tipo di oggetto Active Directory:
Seleziona Solo i seguenti oggetti contenuti nella cartella.
Seleziona Oggetti computer.
Seleziona Crea oggetti selezionati in questa cartella.
Seleziona Elimina gli oggetti selezionati in questa cartella e fai clic su Avanti.
-
Nella sezione Autorizzazioni:
Mantieni selezionata l’opzione Generale.
Seleziona Scrittura convalidata in nome host DNS.
Seleziona Scrittura convalidata in nome principale servizio e fai clic su Avanti.
-
In Completamento della delega guidata del controllo, conferma le impostazioni e fai clic su Fine.
Fase 4: creazione di un segreto
Crea il segreto nello stesso Account AWS e nella stessa Regione contenente l’istanza database RDS Custom per SQL Server che desideri includere nella tua Active Directory. Memorizza le credenziali dell’utente del dominio AD creato in Fase 2: creazione un utente di dominio AD.
Fase 5: creazione o modifica di un’istanza database RDS Custom per SQL Server
Crea o modifica un’istanza database RDS Custom per SQL Server per l’utilizzo con la directory. Puoi utilizzare la console, CLI o l'API RDS per associare un'istanza database a una directory. 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.
-
Ripristinare un'istanza database di SQL Server da uno snapshot DB utilizzando la console, il comando CLI restore-db-instance-from-db-snapshot o l'operazione API RDS RestoreDBInstanceFromDBSnapshot.
Per istruzioni, consulta Ripristino in un’istanza database.
-
Ripristinare un'istanza database 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 RestoreDBInstanceToPointInTime.
Per istruzioni, consultare Ripristino di un’istanza database a un punto temporale specifico per Amazon RDS.
Nota
Se l’istanza RDS Custom per SQL Server è già aggiunta manualmente a un AD, controlla le impostazioni relative a Regole per le porte della configurazione di rete e Convalida di rete e completa i passaggi da 1 a 4. Aggiorna --domain-fqdn, --domain-ou e --domain-auth-secret-arn sul tuo AD, in modo che le credenziali e le configurazioni di aggiunta al dominio siano registrate in RDS Custom per monitorare, registrare CNAME e intraprendere azioni di ripristino.
Quando utilizzi AWS CLI, sono necessari i seguenti parametri per consentire all'istanza database di utilizzare la directory che hai creato:
-
Per il parametro
--domain-fqdn, usa il nome di dominio completo del dominio Active Directory 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 ARN segreto che hai creato.
Importante
Se modifichi un’istanza database per aggiungerla o rimuoverla da un dominio AD autogestito o AWS Managed Microsoft AD, è 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 comporta un tempo di inattività per le istanze database Single-AZ. Un cluster di database Multi-AZ esegue un failover prima di completare il riavvio. Per ulteriori informazioni, consulta Modifica di un'istanza database Amazon RDS.
Il seguente comando CLI crea una nuova istanza database RDS Custom per SQL Server e la aggiunge a un dominio AWS Managed Microsoft AD o autogestito.
Per Linux, macOS o Unix:
aws rds create-db-instance \ --engine custom-sqlserver-se \ --engine-version 15.00.4312.2.v1 \ --db-instance-identifiermy-custom-instance\ --db-instance-class db.m5.large \ --allocated-storage 100 --storage-type io1 --iops 1000 \ --master-usernamemy-master-username\ --master-user-passwordmy-master-password\ --kms-key-idmy-RDSCustom-key-id\ --custom-iam-instance-profileAWSRDSCustomInstanceProfileForRdsCustomInstance\ --domain-fqdn"corp.example.com"\ --domain-ou"OU=RDSCustomOU,DC=corp,DC=example,DC=com"\ --domain-auth-secret-arn"arn:aws:secretsmanager:region:account-number:secret:do-not-delete-rds-custom-my-AD-test-secret-123456"\ --db-subnet-group-namemy-DB-subnet-grp\ --vpc-security-group-idsmy-securitygroup-id\ --no-publicly-accessible \ --backup-retention-period 3 \ --port 8200 \ --region us-west-2 \ --no-multi-az
Per Windows:
aws rds create-db-instance ^ --engine custom-sqlserver-se ^ --engine-version 15.00.4312.2.v1 ^ --db-instance-identifiermy-custom-instance^ --db-instance-class db.m5.large ^ --allocated-storage 100 --storage-type io1 --iops 1000 ^ --master-usernamemy-master-username^ --master-user-passwordmy-master-password^ --kms-key-idmy-RDSCustom-key-id^ --custom-iam-instance-profileAWSRDSCustomInstanceProfileForRdsCustomInstance^ --domain-fqdn"corp.example.com"^ --domain-ou"OU=RDSCustomOU,DC=corp,DC=example,DC=com"^ --domain-auth-secret-arn"arn:aws:secretsmanager:region:account-number:secret:do-not-delete-rds-custom-my-AD-test-secret-123456"^ --db-subnet-group-namemy-DB-subnet-grp^ --vpc-security-group-idsmy-securitygroup-id^ --no-publicly-accessible ^ --backup-retention-period 3 ^ --port 8200 ^ --region us-west-2 ^ --no-multi-az
Importante
Se il NetBIOS per AWS Managed Microsoft AD è corpexample, viene visualizzato come UO. Qualsiasi nuova unità organizzativa creata in precedenza verrà visualizzata come unità organizzativa nidificata. Per AWS Managed Microsoft AD, imposta --domain-ou su "OU=RDSCustomOU,OU=corpexample,DC=corp,DC=example,DC=com".
Il seguente comando modifica un’istanza database RDS Custom per SQL Server esistente in modo che utilizzi un dominio Active Directory.
Per Linux, macOS o Unix:
aws rds modify-db-instance \ --db-instance-identifiermy-custom-instance\ --domain-fqdn"corp.example.com"\ --domain-ou"OU=RDSCustomOU,DC=corp,DC=example,DC=com"\ --domain-auth-secret-arn"arn:aws:secretsmanager:region:account-number:secret:do-not-delete-rds-custom-my-AD-test-secret-123456"\
Per Windows:
aws rds modify-db-instance ^ --db-instance-identifiermy-custom-instance^ --domain-fqdn"corp.example.com"^ --domain-ou"OU=RDSCustomOU,DC=corp,DC=example,DC=com"^ --domain-auth-secret-arn"arn:aws:secretsmanager:region:account-number:secret:do-not-delete-rds-custom-my-AD-test-secret-123456"^
Il seguente comando CLI rimuove un’istanza database RDS Custom per SQL Server da un dominio Active Directory.
Per Linux, macOS o Unix:
aws rds modify-db-instance \ --db-instance-identifiermy-custom-instance\ --disable-domain
Per Windows:
aws rds modify-db-instance ^ --db-instance-identifiermy-custom-instance^ --disable-domain
Quando usi la console per creare o modificare l’istanza, fai clic su Abilita l’autenticazione di Windows di Microsoft SQL Server per visualizzare le seguenti opzioni.
È tua responsabilità assicurarti che il nome FQDN del tuo dominio venga risolto negli indirizzi IP del controller di dominio. Se gli IP del controller di dominio non vengono risolti, le operazioni di aggiunta al dominio non riescono, ma la creazione dell’istanza RDS Custom per SQL Server ha esito positivo. Per informazioni sulla risoluzione dei problemi, consulta Risoluzione dei problemi di Active Directory.
Fase 6: creazione di account di accesso di 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, 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 tuo dominio AD. 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 utente AD possa autenticarsi su SQL Server, deve essere disponibile un accesso Windows SQL Server per l’utente AD o un gruppo di Active Directory di cui l’utente è membro. Il controllo granulare degli accessi viene gestito assegnando o revocando le autorizzazioni per questi login di SQL Server. Un utente che non dispone di un accesso SQL Server o non appartiene a un gruppo con tale accesso, non può accedere all’istanza database SQL Server.
È necessaria l’autorizzazione ALTER ANY LOGIN per creare un accesso SQL Server per AD. 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 crea gli accessi SQL Server per AD nel contesto dell’utente principale.
Esegui il comando DDL (Data Definition Language) seguente per creare un accesso SQL Server per un utente o un gruppo AD.
USE [master] GO CREATE LOGIN [mydomain\myuser] FROM WINDOWS WITH DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english]; GO
Gli utenti (persone e applicazioni) del tuo dominio possono ora connettersi all’istanza RDS Custom per SQL Server da un computer client associato al dominio utilizzando l’autenticazione di Windows.
Fase 7: utilizzo dell’autenticazione Kerberos o NTLM
Autenticazione NTLM tramite endpoint RDS
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 eseguire l’autenticazione tramite l’autenticazione NTLM, devi connetterti all’endpoint RDS.
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
L’autenticazione basata su Kerberos per RDS Custom per SQL Server richiede la connessione a uno specifico nome principale del servizio (SPN). Tuttavia, dopo un evento di failover, l’applicazione potrebbe non essere a conoscenza del nuovo SPN. Per risolvere questo problema, RDS Custom per SQL Server offre un endpoint basato su Kerberos.
L’endpoint basato su Kerberos segue un formato specifico. Se l’endpoint RDS è , il corrispondente endpoint basato su Kerberos sarebbe rds-instance-name.account-region-hash.aws-region.rds.amazonaws.com.rproxy.govskope.ca.rds-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 basato su Kerberos sarebbe ad-test.cocv6zwtircu.us-east-1.awsrds.corp-ad.company.com.
Questo endpoint basato su Kerberos può essere utilizzato per l’autenticazione con l’istanza SQL Server tramite Kerberos, anche dopo un evento di failover, poiché l’endpoint viene aggiornato automaticamente in modo che punti al nuovo SPN dell’istanza SQL Server primaria.
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 stai connettendo l’istanza RDS Custom EC2 e stai tentando di connetterti al database localmente utilizzando CNAME, la connessione utilizzerà l’autenticazione NTLM anziché Kerberos.
Se dopo aver connesso CNAME dal client remoto viene restituita una connessione NTLM, controlla se le porte richieste sono incluse nella lista consentita.
Per verificare che la connessione utilizzi Kerberos, esegui la seguente query:
SELECT net_transport, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SSPID;