Lavorare con AWS Active Directory gestito con RDS for SQL Server - Amazon Relational Database Service

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à.

Lavorare con AWS Active Directory gestito con RDS for SQL Server

È possibile utilizzare… AWS Managed Microsoft AD per autenticare gli utenti con l'autenticazione di Windows quando si connettono all'istanza DB di RDS for SQL Server. L'istanza DB funziona con AWS Directory Service for Microsoft Active Directory, chiamato anche AWS Managed Microsoft AD, per abilitare l'autenticazione di Windows. Quando gli utenti si autenticano con un'istanza di SQL Server DB aggiunta al dominio trusting, le richieste di autenticazione vengono inoltrate alla directory di dominio con cui si crea AWS Directory Service.

Disponibilità di regioni e versioni

Amazon RDS supporta solo l'utilizzo AWS Managed Microsoft AD per l'autenticazione di Windows. RDSnon supporta l'utilizzo di AD Connector. Per ulteriori informazioni, consulta gli argomenti seguenti:

Per informazioni sulla disponibilità della versione e della regione, consulta Autenticazione Kerberos con RDS for SQL Server.

Panoramica sulla configurazione dell'autenticazione di Windows

Amazon RDS utilizza la modalità mista per l'autenticazione di Windows. Questo approccio significa che l'utente principale (il nome e la password utilizzati per creare l'istanza di SQL Server DB) utilizza SQL l'autenticazione. Poiché l'account utente master dispone di credenziali privilegiate, è necessario limitare l'accesso a tale account.

Per ottenere l'autenticazione di Windows utilizzando un Microsoft Active Directory in locale o autogestito, crea un trust tra foreste. La fiducia può essere a senso unico o bidirezionale. Per ulteriori informazioni sulla configurazione dei trust forestali utilizzando AWS Directory Service, vedi Quando creare una relazione di trust in AWS Directory Service Guida all'amministrazione.

Per configurare l'autenticazione Windows per un'istanza di SQL Server DB, procedi nel seguente modo, spiegato più dettagliatamente inConfigurazione dell'autenticazione di Windows per le istanze di SQL Server DB:

  1. Utilizzo AWS Managed Microsoft AD, o dal AWS Management Console oppure AWS Directory Service API, per creare un AWS Managed Microsoft AD elenco.

  2. Se utilizzi il plugin AWS CLI o Amazon RDS API per creare la tua istanza SQL Server DB, crea un AWS Identity and Access Management (IAM) ruolo. Questo ruolo utilizza la IAM policy gestita AmazonRDSDirectoryServiceAccess e consente RDS ad Amazon di effettuare chiamate alla tua rubrica. Se utilizzi la console per creare la tua istanza SQL Server DB, AWS crea il IAM ruolo per te.

    Affinché il ruolo consenta l'accesso, il AWS Security Token Service (AWS STS) l'endpoint deve essere attivato nel AWS Regione per la tua AWS conto. AWS STS gli endpoint sono attivi per impostazione predefinita in tutti AWS Regioni e puoi usarle senza ulteriori azioni. Per ulteriori informazioni, vedere Gestione AWS STS in un Regione AWS nella Guida per l'utente di IAM.

  3. Creare e configurare utenti e gruppi in AWS Managed Microsoft AD directory utilizzando gli strumenti di Microsoft Active Directory. Per ulteriori informazioni sulla creazione di utenti e gruppi in Active Directory, consulta Gestire utenti e gruppi in AWS Managed Microsoft AD nella AWS Directory Service Guida all'amministrazione.

  4. Se prevedi di collocare la directory e l'istanza DB in modo diversoVPCs, abilita il VPC traffico incrociato.

  5. Usa Amazon RDS per creare una nuova istanza SQL Server DB dalla console, AWS CLI o Amazon RDSAPI. Nella richiesta di creazione, fornisci l'identificatore di dominio ("d-*") generato durante la creazione della directory e il nome del ruolo creato. Puoi anche modificare un'istanza SQL Server DB esistente per utilizzare l'autenticazione di Windows impostando i parametri di dominio e IAM ruolo per l'istanza DB.

  6. Utilizza le credenziali dell'utente RDS master Amazon per connetterti all'istanza DB SQL Server come fai con qualsiasi altra istanza DB. Poiché l'istanza DB è unita a AWS Managed Microsoft AD domain, è possibile effettuare il provisioning degli accessi e degli utenti del SQL server dagli utenti e dai gruppi di Active Directory presenti nel rispettivo dominio. (Questi sono noti come accessi SQL al server «Windows».) Le autorizzazioni del database vengono gestite tramite le autorizzazioni standard SQL del server concesse e revocate a questi accessi di Windows.

Creazione di un endpoint per l'autenticazione Kerberos

L'autenticazione basata su Kerberos richiede che l'endpoint sia il nome host specificato dal cliente, un punto e quindi il nome di dominio completo (). FQDN Il seguente esempio illustra un endpoint che può essere utilizzato con l'autenticazione basata su Kerberos. In questo esempio, il nome host dell'istanza SQL Server DB è e il nome di dominio èad-test. corp-ad.company.com

ad-test.corp-ad.company.com

Per accertarti che la connessione utilizzi Kerberos, esegui la seguente query:

SELECT net_transport, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;

Configurazione dell'autenticazione di Windows per le istanze di SQL Server DB

Si utilizza AWS Directory Service for Microsoft Active Directory, chiamato anche AWS Managed Microsoft AD, per configurare l'autenticazione di Windows per un'istanza di SQL Server DB. Per configurare l'autenticazione di Windows, attieniti alla seguente procedura.

Passaggio 1: creare una directory utilizzando AWS Directory Service for Microsoft Active Directory

AWS Directory Service crea una Microsoft Active Directory completamente gestita nel AWS Cloud. Quando crei un AWS Managed Microsoft AD elenco, AWS Directory Service crea due controller di dominio e server Domain Name Service (DNS) per conto dell'utente. I server di directory vengono creati in due sottoreti in due diverse zone di disponibilità all'interno di un. VPC Questa ridondanza assicura che la directory rimanga accessibile anche se si verifica un errore.

Quando si crea un AWS Managed Microsoft AD elenco, AWS Directory Service esegue le seguenti attività per conto dell'utente:

  • Configura un Microsoft Active Directory all'interno diVPC.

  • Crea un account amministratore della directory con nome utente Admin e la password specificata. Puoi utilizzare questo account per gestire le directory.

  • Crea un gruppo di sicurezza per i controller della directory.

Quando si avvia un AWS Directory Service for Microsoft Active Directory, AWS crea un'unità organizzativa (OU) che contiene tutti gli oggetti della directory. Questa unità organizzativa, con il BIOS nome di rete digitato durante la creazione della directory, si trova nella radice del dominio. La radice del dominio è di proprietà e gestita da AWS.

L'account amministratore che è stato creato con il tuo AWS Managed Microsoft AD la directory dispone delle autorizzazioni per le attività amministrative più comuni dell'unità organizzativa:

  • Creazione, aggiornamento o eliminazione di utenti, gruppi e computer.

  • Aggiunta di risorse al tuo dominio, come file o server di stampa, quindi assegnazione delle autorizzazioni per tali risorse a utenti e gruppi dell'UO;

  • Crea contenitori aggiuntivi OUs e.

  • delega dell'autorità;

  • creazione e collegamento policy di gruppo;

  • ripristino degli oggetti eliminati dal cestino riciclaggio di Active Directory;

  • Esegui PowerShell i moduli AD e DNS Windows sul servizio Web Active Directory.

L'account admin dispone inoltre dei diritti per eseguire le seguenti attività estese a tutto il dominio:

  • Gestisci DNS le configurazioni (aggiungi, rimuovi o aggiorna record, zone e server d'inoltro).

  • Visualizza i registri DNS degli eventi.

  • visualizzazione di log di eventi di sicurezza.

Per creare una directory con AWS Managed Microsoft AD
  1. Nella AWS Directory Service pannello di navigazione della console, scegli Directory e scegli Configura directory.

  2. Scegliere AWS Managed Microsoft AD. Questa è l'unica opzione attualmente supportata per l'uso con AmazonRDS.

  3. Scegli Next (Successivo).

  4. Nella pagina Enter directory information (Inserisci le informazioni sulla directory) inserisci le seguenti informazioni:

    Edizione

    Scegliere l'edizione più adatta alle proprie esigenze.

    DNSNome della directory

    Il nome completo della directory, ad esempio corp.example.com. I nomi più lunghi di 47 caratteri non sono supportati dal SQL Server.

    Directory Net BIOS name

    Nome breve opzionale della directory, ad esempio CORP.

    Descrizione della directory

    Descrizione opzionale della directory.

    Password amministratore

    La password dell'amministratore della directory. Con il processo di creazione della directory viene generato un account amministratore con il nome utente Admin e questa password.

    La password dell'amministratore della directory non può includere il termine admin. La password distingue tra maiuscole e minuscole e la lunghezza deve essere compresa tra 8 e 64 caratteri. Deve anche contenere un carattere di almeno tre delle seguenti quattro categorie:

    • Lettere minuscole (a-z)

    • Lettere maiuscole (A-Z)

    • Numeri (0-9)

    • Caratteri non alfanumerici (~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/)

    Confirm password (Conferma password)

    Digitare di nuovo la password dell'amministratore.

  5. Scegli Next (Successivo).

  6. Nella pagina Scegli VPC e sottoreti, fornisci le seguenti informazioni:

    VPC

    Scegli la cartella VPC per la cartella.

    Nota

    Puoi localizzare la directory e l'istanza DB in modo diversoVPCs, ma se lo fai, assicurati di abilitare il VPC traffico incrociato. Per ulteriori informazioni, consulta Fase 4: Abilitare il VPC traffico incrociato tra la directory e l'istanza DB.

    Sottoreti

    Seleziona le sottoreti per i server di directory. Le due sottoreti devono trovarsi in diverse zone di disponibilità.

  7. Scegli Next (Successivo).

  8. Verificare le informazioni della directory Se sono necessarie modifiche, selezionare Previous (Precedente). Quando le informazioni sono corrette, scegli Create Directory (Crea directory).

    Revisione e creazione della pagina

Per creare la directory sono necessari alcuni minuti. Una volta creata correttamente la directory, il valore Status (Stato) viene modificato in Active (Attivo).

Per consultare le informazioni sulla directory, selezionare l’ID della directory nell'elenco di directory. Prendere nota del valore Directory ID (ID directory). Questo valore è necessario quando si crea o si modifica l'istanza di SQL Server DB.

Pagina dei dettagli della directory

Passaggio 2: creare il IAM ruolo per l'utilizzo da parte di Amazon RDS

Se utilizzi la console per creare l'istanza di SQL Server DB, puoi saltare questo passaggio. Se utilizzi CLI o RDS API per creare l'istanza SQL Server DB, devi creare un IAM ruolo che utilizzi la IAM policy AmazonRDSDirectoryServiceAccess gestita. Questo ruolo consente RDS ad Amazon di effettuare chiamate verso AWS Directory Service per te.

Se utilizzi una politica personalizzata per l'aggiunta a un dominio, anziché utilizzare il AWSAmazonRDSDirectoryServiceAccess-policy gestita, assicurati di consentire l'ds:GetAuthorizedApplicationDetailsazione. Questo requisito entrerà in vigore a partire da luglio 2019, a causa di una modifica del AWS Directory Service API.

La seguente IAM politica fornisce AmazonRDSDirectoryServiceAccess l'accesso a AWS Directory Service.

Esempio IAMpolitica per fornire l'accesso a AWS Directory Service
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ds:DescribeDirectories", "ds:AuthorizeApplication", "ds:UnauthorizeApplication", "ds:GetAuthorizedApplicationDetails" ], "Effect": "Allow", "Resource": "*" } ] }

Si consiglia di utilizzare le chiavi di contesto delle condizioni globali aws:SourceArn e aws:SourceAccount nelle relazioni di trust basate sulle risorse per limitare le autorizzazioni del servizio relative a una risorsa specifica. Questo è il modo più efficace per proteggersi dal problema di deputy confused.

Puoi usare le chiavi di contesto delle condizioni globali e avere il valore aws:SourceArn che contiene l'ID dell'account. In questo caso, il valore aws:SourceAccount e l'account nel valore aws:SourceArn deve utilizzare lo stesso ID account quando viene utilizzato nella stessa istruzione.

  • Utilizzare aws:SourceArn se si desidera un accesso cross-service per una singola risorsa.

  • Utilizzare aws:SourceAccount se si desidera consentire l'associazione di qualsiasi risorsa in tale account all'uso cross-service.

Nella relazione di fiducia, assicurati di utilizzare la chiave di contesto della condizione aws:SourceArn globale con l'Amazon Resource Name completo (ARN) delle risorse che accedono al ruolo. Per l'autenticazione Windows, assicurati di includere le istanze database, come mostrato nell'esempio seguente.

Esempio relazione di affidabilità con la chiave di contesto delle condizioni globali per l'autenticazione di Windows
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceArn": [ "arn:aws:rds:Region:my_account_ID:db:db_instance_identifier" ] } } } ] }

Crea un IAM ruolo utilizzando questa IAM politica e questa relazione di fiducia. Per ulteriori informazioni sulla creazione di IAM ruoli, vedere Creazione di politiche gestite dai clienti nella Guida IAM per l'utente.

Fase 3: creazione e configurazione di utenti e gruppi

Puoi creare utenti e gruppi con lo strumento Utenti Active Directory e computer. Questo è uno degli strumenti Active Directory Domain Services e Active Directory Lightweight Directory Services. Gli utenti possono essere individui singoli o entità che hanno accesso alla tua directory. I gruppi sono molto utili per concedere o negare privilegi ai gruppi di utenti, piuttosto che dover applicare tali privilegi a ogni singolo utente.

Per creare utenti e gruppi in un AWS Directory Service directory, è necessario essere connessi a un'EC2istanza di Windows che è membro di AWS Directory Service rubrica. Devi anche essere connesso come un utente che dispone dei privilegi per creare utenti e gruppi. Per ulteriori informazioni, consulta Aggiungere utenti e gruppi (Simple AD e AWS Managed Microsoft AD) nel AWS Directory Service Guida all'amministrazione.

Fase 4: Abilitare il VPC traffico incrociato tra la directory e l'istanza DB

Se intendi collocare la directory e l'istanza DB nella stessa posizioneVPC, salta questo passaggio e passa aPassaggio 5: creare o modificare un'istanza SQL Server DB.

Se prevedi di collocare la directory e l'istanza DB in modo diversoVPCs, configura il VPC traffico incrociato utilizzando il VPC peering o AWS Transit Gateway.

La procedura seguente abilita il traffico tra un VPCs utilizzo e l'altro del VPC peering. Segui le istruzioni riportate in Cos'è il VPC peering? nella Amazon Virtual Private Cloud Peering Guide.

Per abilitare il VPC traffico incrociato utilizzando il peering VPC
  1. Imposta le regole di VPC routing appropriate per garantire che il traffico di rete possa fluire in entrambe le direzioni.

  2. Assicurarsi che il gruppo di protezione dell'istanza database possa ricevere traffico in entrata dal gruppo di sicurezza della directory.

  3. Assicurati che non esista una regola della lista di controllo degli accessi alla rete (ACL) per bloccare il traffico.

Se diverso AWS l'account possiede la directory, è necessario condividere la directory.

Per condividere la cartella tra AWS account
  1. Inizia a condividere la cartella con AWS account in cui verrà creata l'istanza DB seguendo le istruzioni riportate nel Tutorial: Condivisione del AWS Managed Microsoft AD directory per l'aggiunta senza interruzioni del EC2 dominio in AWS Directory Service Guida all'amministrazione.

  2. Accedi a AWS Directory Service console utilizzando l'account per l'istanza DB e assicurati che il dominio abbia lo SHARED stato prima di procedere.

  3. Dopo aver effettuato l'accesso a AWS Directory Service console che utilizza l'account per l'istanza DB, annota il valore Directory ID. Utilizzare questo ID directory per aggiungere l'istanza database al dominio.

Passaggio 5: creare o modificare un'istanza SQL Server DB

Crea o modifica un'istanza di SQL Server DB da utilizzare con la tua directory. È possibile utilizzare la console o associare un'istanza DB RDS API a una directory. CLI Questa operazione può essere eseguita in uno dei seguenti modi:

L'autenticazione di Windows è supportata solo per le istanze SQL Server DB in aVPC.

Affinché l'istanza database sia in grado di utilizzare la directory del dominio creata, è richiesto quanto segue:

  • Per Directory, devi scegliere l'identificatore di dominio (d-ID) generato durante la creazione della directory.

  • Assicurati che il gruppo VPC di sicurezza disponga di una regola in uscita che consenta all'istanza DB di comunicare con la directory.

Directory di autenticazione Microsoft SQL Server Windows

Quando si utilizza il AWS CLI, i seguenti parametri sono necessari affinché l'istanza DB possa utilizzare la directory creata:

  • Per il parametro --domain, utilizza l'identificatore di dominio (d-ID) generato durante la creazione della directory.

  • Per il --domain-iam-role-name parametro, utilizzate il ruolo creato che utilizza la IAM policy gestitaAmazonRDSDirectoryServiceAccess.

Ad esempio, il CLI comando seguente modifica un'istanza DB per utilizzare una directory.

In Linux, macOS, oppure Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --domain d-ID \ --domain-iam-role-name role-name

In Windows:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --domain d-ID ^ --domain-iam-role-name role-name
Importante

Se modifichi un'istanza database per abilitare l'autenticazione Kerberos, riavvia l'istanza database dopo aver apportato la modifica.

Passaggio 6: Creare gli accessi al SQL server di autenticazione di Windows

Utilizza le credenziali dell'utente RDS master Amazon per connetterti all'istanza DB SQL Server come fai con qualsiasi altra istanza DB. Poiché l'istanza DB è unita a AWS Managed Microsoft AD dominio, è possibile fornire gli accessi e gli utenti del SQL server. Questa operazione viene eseguita dagli utenti e dai gruppi Active Directory nel dominio. Le autorizzazioni del database sono gestite tramite le autorizzazioni standard SQL del server concesse e revocate a questi accessi di Windows.

Affinché un utente di Active Directory possa autenticarsi con SQL Server, deve esistere un accesso a SQL Server Windows per l'utente o il gruppo di cui l'utente è membro. Il controllo granulare degli accessi viene gestito mediante la concessione e la revoca delle autorizzazioni su questi accessi al Server. SQL Un utente che non dispone di un accesso al SQL server o appartiene a un gruppo con tale accesso non può accedere all'istanza del database del server. SQL

L'ALTERANYLOGINautorizzazione è necessaria per creare un accesso al SQL server Active Directory. Se non hai creato alcun accesso con questa autorizzazione, connettiti come utente principale dell'istanza DB utilizzando l'autenticazione del SQL server.

Esegui un comando Data Definition Language (DDL) come nell'esempio seguente per creare un accesso al SQL server per un utente o un gruppo di Active Directory.

Nota

Specifica utenti o gruppi utilizzando il nome di accesso precedente a Windows 2000 nel formato domainName\login_name. Non è possibile utilizzare il nome principale di un utente (UPN) nel formato login_name@DomainName.

È possibile creare un accesso di autenticazione Windows solo su un'istanza RDS for SQL Server utilizzando le istruzioni T. SQL Non è possibile utilizzare SQL Server Management Studio per creare un accesso di autenticazione di Windows.

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

Per ulteriori informazioni, vedere CREATELOGIN(Transact-SQL) nella documentazione di Microsoft Developer Network.

Gli utenti (sia umani che applicazioni) del tuo dominio possono ora connettersi all'istanza RDS for SQL Server da un computer client aggiunto al dominio utilizzando l'autenticazione Windows.

Gestione di un'istanza database in un dominio

Puoi usare la console, AWS CLI o Amazon RDS API per gestire la tua istanza DB e la sua relazione con il tuo dominio. Ad esempio, puoi spostare l'istanza database all'interno, al di fuori o tra domini.

Ad esempio, utilizzando Amazon RDSAPI, puoi fare quanto segue:

  • Per ripetere l'accesso a un dominio per un'iscrizione non riuscita, usa l'odifyDBInstanceAPIoperazione M e specifica l'ID di directory dell'appartenenza corrente.

  • Per aggiornare il nome del IAM ruolo per l'appartenenza, utilizza l'ModifyDBInstanceAPIoperazione e specifica l'ID di directory dell'appartenenza corrente e il nuovo IAM ruolo.

  • Per rimuovere un'istanza DB da un dominio, utilizzate l'ModifyDBInstanceAPIoperazione e specificatela none come parametro di dominio.

  • Per spostare un'istanza DB da un dominio a un altro, utilizzate l'ModifyDBInstanceAPIoperazione e specificate l'identificatore di dominio del nuovo dominio come parametro di dominio.

  • Per elencare le appartenenze per ogni istanza DB, utilizzate l'escribeDBInstancesAPIoperazione D.

Appartenenza al dominio

Quando l'istanza di database viene creata o modificata diventa membro del dominio. Il AWS la console indica lo stato dell'appartenenza al dominio per l'istanza DB. Lo stato dell'istanza di database può essere uno dei seguenti:

  • joined (associata) – L'istanza è membro del dominio.

  • joining (in fase di associazione) – L'istanza sta diventando membro del dominio.

  • pending-join (associazione in sospeso) – L'associazione dell'istanza è in sospeso.

  • pending-maintenance-join – AWS tenterà di rendere l'istanza un membro del dominio durante la successiva finestra di manutenzione pianificata.

  • pending-removal (rimozione in sospeso) – La rimozione dell'istanza dal dominio è in sospeso.

  • pending-maintenance-removal – AWS tenterà di rimuovere l'istanza dal dominio durante la successiva finestra di manutenzione programmata.

  • failed (non riuscita) – Un problema di configurazione ha impedito l'associazione dell'istanza al dominio. Verifica e correggi la configurazione prima di eseguire nuovamente il comando di modifica dell'istanza.

  • removing (rimozione) – È in corso la rimozione dell'istanza dal dominio.

Una richiesta di diventare membro di un dominio può avere esito negativo a causa di un problema di connettività di rete o di un IAM ruolo errato. Ad esempio, è possibile che venga creata un'istanza database o modificata un'istanza esistente senza però che questa diventi un membro di un dominio. In questo caso, emettere nuovamente il comando per creare o modificare l'istanza database o modificare l'istanza appena creata per aggiungerla al dominio.

Connessione al SQL server con autenticazione Windows

Per connettersi al SQL server con autenticazione Windows, è necessario accedere a un computer aggiunto al dominio come utente del dominio. Dopo aver avviato SQL Server Management Studio, scegli l'autenticazione di Windows come tipo di autenticazione, come illustrato di seguito.

Connect al SQL server tramite l'autenticazione di Windows

Ripristino di un'istanza di SQL Server DB e successiva aggiunta a un dominio

È possibile ripristinare uno snapshot DB o eseguire point-in-time recovery (PITR) per un'istanza di SQL Server DB e quindi aggiungerla a un dominio. Dopo aver ripristinato l'istanza di database, modificala utilizzando il processo illustrato in Passaggio 5: creare o modificare un'istanza SQL Server DB per aggiungere l'istanza a un dominio.