Configurazione dell'autenticazione di Windows per le istanze di database di 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à.

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

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

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

AWS Directory Service crea una Microsoft Active Directory nel AWS cloud completamente gestita. Quando crei una AWS Managed Microsoft AD directory, AWS Directory Service crea due controller di dominio e server DNS (Domain Name Service) per tuo conto. 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 crei una AWS Managed Microsoft AD directory, AWS Directory Service esegue le seguenti attività per tuo conto:

  • Configura una Microsoft Active Directory nel VPC.

  • 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 una AWS Directory Service for Microsoft Active Directory, AWS crea un'unità organizzativa (OU) che contiene tutti gli oggetti della directory. Questa unità organizzativa, che ha lo stesso nome NetBIOS che hai digitato al momento della creazione della directory, si trova nella radice del dominio. La radice del dominio è di proprietà e gestita da AWS.

L'account admin creato con la directory AWS Managed Microsoft AD dispone delle autorizzazioni per le attività amministrative più comuni per l'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 .

  • delega dell'autorità;

  • creazione e collegamento policy di gruppo;

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

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

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

  • gestione delle configurazioni DNS (aggiunta, eliminazione o aggiornamento di record, zone e server d'inoltro);

  • visualizzazione di log di eventi DNS;

  • visualizzazione di log di eventi di sicurezza.

Per creare una directory con AWS Managed Microsoft AD
  1. Nel riquadro di navigazione della console AWS Directory Service, scegliere Directories (Directory), quindi selezionare Set up directory (Configurazione della directory).

  2. Scegliere AWS Managed Microsoft AD. Attualmente questa è la sola opzione supportata per l'uso con Amazon RDS.

  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.

    Nome DNS directory

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

    Nome NetBIOS della directory

    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 Choose VPC and subnets (Scegli VPC e sottoreti) fornire le seguenti informazioni:

    VPC

    Scegliere il VPC per la directory.

    Nota

    Puoi localizzare la directory e l'istanza DB in modo diverso VPCs, ma se lo fai, assicurati di abilitare il traffico cross-VPC. Per ulteriori informazioni, consulta Fase 4: abilitazione del traffico tra VPC tra la directory e l'istanza database.

    Sottoreti

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

  7. Seleziona 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 per creare o modificare l'istanza database SQL Server.

Pagina dei dettagli della directory

Fase 2: creazione del ruolo IAM per l'utilizzo da parte di Amazon RDS

Se utilizzi la console per creare l'istanza database SQL Server, puoi saltare questa fase. Se utilizzi CLI o l'API RDS per creare l'istanza database SQL Server, devi creare un ruolo IAM che utilizza la policy IAM gestita AmazonRDSDirectoryServiceAccess. Questo ruolo consente ad Amazon RDS di effettuare chiamate al posto AWS Directory Service tuo.

Se utilizzi una politica personalizzata per l'aggiunta a un dominio, anziché utilizzare la AmazonRDSDirectoryServiceAccess politica AWS-managed, assicurati di consentire l'azioneds:GetAuthorizedApplicationDetails. Questo requisito è valido a partire da luglio 2019, a causa di una modifica dell' AWS Directory Service API.

La seguente policy IAM, AmazonRDSDirectoryServiceAccess, fornisce l'accesso ad AWS Directory Service.

Esempio Politica IAM per fornire l'accesso a AWS Directory Service
JSON
{ "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 trust, assicurati di utilizzare la chiave di contesto della condizione globale aws:SourceArn con l'Amazon Resource Name (ARN) completo 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
JSON
{ "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 ruolo IAM utilizzando questa policy IAM e una relazione di affidabilità. Per ulteriori informazioni sulla creazione di ruoli IAM, consulta Creazione di policy gestite dal cliente nella Guida per l'utente di IAM.

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 una AWS Directory Service directory, devi essere connesso a un' EC2istanza di Windows che fa parte della AWS Directory Service directory. 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) nella Guida all'AWS Directory Service amministrazione.

Fase 4: abilitazione del traffico tra VPC tra la directory e l'istanza database

Se prevedi di individuare la directory e l'istanza database nello stesso VPC, ignora questa fase e passa a Fase 5: creazione o modifica di un'istanza database SQL Server.

Se prevedi di localizzare la directory e l'istanza DB in modo diverso VPCs, configura il traffico cross-VPC utilizzando il peering VPC o il Transit Gateway.AWS

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

Per abilitare il traffico tra VPC utilizzando il peering di VPC
  1. Configurare le regole di routing VPC appropriate per garantire che il traffico di rete possa scorrere 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 sia presente una regola della lista di controllo accessi (ACL) di rete per bloccare il traffico.

Se la directory è di proprietà di un altro AWS account, è necessario condividerla.

Per condividere la cartella tra AWS account
  1. Inizia a condividere la directory con l' AWS account in cui verrà creata l'istanza DB seguendo le istruzioni riportate nel Tutorial: Sharing your AWS Managed Microsoft AD directory for seamless EC2 domain-join nella Administration Guide.AWS Directory Service

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

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

Fase 5: creazione o modifica di un'istanza database SQL Server

Crea o modifica un'istanza database 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:

L'autenticazione di Windows è supportata solo per istanze database di SQL Server in un VPC.

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 di protezione VPC disponga di una regola in uscita che consente all'istanza DB di comunicare con la directory.

Directory di autenticazione Microsoft SQL Server Windows

Quando si utilizza il AWS CLI, sono necessari i seguenti parametri 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 parametro --domain-iam-role-name, utilizza il ruolo creato che utilizza la policy IAM gestita AmazonRDSDirectoryServiceAccess.

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

Per LinuxmacOS, oUnix:

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

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

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 di SQL Server analogamente a quanto avviene con qualsiasi altra istanza database. Poiché l'istanza DB è aggiunta al AWS Managed Microsoft AD dominio, è possibile effettuare il provisioning degli accessi e degli utenti di SQL Server. Questa operazione viene eseguita dagli utenti e dai gruppi Active Directory nel dominio. 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 di Active Directory possa autenticarsi su SQL Server, deve essere disponibile un account di accesso Windows SQL Server per l'utente o un gruppo 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 account di accesso SQL Server o appartiene a un gruppo con tale account di accesso, non può accedere all'istanza database SQL Server.

È necessaria l'autorizzazione ALTER ANY LOGIN per creare una connessione SQL Server Active Directory. Se non hai ancora creato account di accesso con questa autorizzazione, esegui la connessione come utente principale dell'istanza database utilizzando l'autenticazione di SQL Server.

Esegui il comando DDL (Data Definition Language) seguente per creare un accesso per 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 puoi utilizzare un UPN (User Principle Name) nel formato login_name@DomainName.

È possibile creare un accesso di autenticazione di Windows solo su un'istanza di RDS per SQL Server utilizzando istruzioni T-SQL. Non è possibile utilizzare lo studio di gestione di SQL Server 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 maggiori informazioni, consulta CREATE LOGIN (Transact-SQL) nella documentazione di Microsoft Developer Network.

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