Utilizzo Kerberos autenticazione per Amazon RDS per Microsoft 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à.

Utilizzo Kerberos autenticazione per Amazon RDS per Microsoft SQL Server

Puoi utilizzare l'autenticazione Kerberos per autenticare gli utenti quando si connettono alla tua istanza My DB. SQL L'istanza DB funziona con AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) per abilitare l'autenticazione Kerberos. Quando gli utenti si autenticano con un'istanza My SQL DB aggiunta al dominio trusting, le richieste di autenticazione vengono inoltrate. Le richieste inoltrate vanno alla directory del dominio con cui crei. AWS Directory Service

Mantenere tutte le credenziali nella stessa directory consente di ridurre il tempo e l'impegno. Con questo approccio, è disponibile una posizione centralizzata per archiviare e gestire le credenziali per più istanze database. L'uso di una directory può inoltre migliorare il profilo di sicurezza complessivo.

Disponibilità di regioni e versioni

Il supporto varia a seconda delle versioni specifiche di ciascun motore di database e a seconda delle Regioni AWS. Per ulteriori informazioni sulla disponibilità della versione e della regione di Amazon RDS con autenticazione Kerberos, consulta. Regioni e motori DB supportati per l'autenticazione Kerberos in Amazon RDS

Panoramica della configurazione dell'autenticazione Kerberos per le istanze My DB SQL

Per configurare l'autenticazione Kerberos per un'istanza My SQL DB, completa i seguenti passaggi generali, descritti più dettagliatamente in seguito:

  1. Utilizzare AWS Managed Microsoft AD per creare una AWS Managed Microsoft AD directory. È possibile utilizzare il AWS Management Console AWS CLI, il o il AWS Directory Service per creare la directory. Per ulteriori informazioni su questa operazione, consulta Creare la AWS Managed Microsoft AD directory nella Guida all'AWS Directory Service amministrazione.

  2. Crea un ruolo AWS Identity and Access Management (IAM) che utilizzi la IAM policy gestitaAmazonRDSDirectoryServiceAccess. Il ruolo consente RDS ad Amazon di effettuare chiamate verso la tua rubrica.

    Affinché il ruolo consenta l'accesso, l'endpoint AWS Security Token Service (AWS STS) deve essere attivato nella sezione Regione AWS per il tuo AWS account. AWS STS Gli endpoint sono tutti Regioni AWS attivi per impostazione predefinita e puoi utilizzarli senza ulteriori azioni. Per ulteriori informazioni, consulta Attivazione e disattivazione AWS STSRegione AWS in un capitolo della Guida per l'utente. IAM

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

  4. Crea o modifica un'istanza My SQL DB. Se utilizzi CLI o RDS API nella richiesta di creazione, specifica un identificatore di dominio con il Domain parametro. Utilizzare l'identificatore d-* generato al momento della creazione della directory e il nome del ruolo creato.

    Se modifichi un'istanza My SQL DB esistente per utilizzare l'autenticazione Kerberos, imposta i parametri di dominio e IAM ruolo per l'istanza DB. Individua l'istanza DB nella VPC stessa directory del dominio.

  5. Utilizza le credenziali dell'utente RDS master Amazon per connetterti all'istanza My SQL DB. Crea l'utente in My SQL utilizzando la CREATE USER clausolaIDENTIFIED WITH 'auth_pam'. Gli utenti creati in questo modo possono accedere all'istanza My SQL DB utilizzando l'autenticazione Kerberos.

Configurazione dell'autenticazione Kerberos per le istanze My DB SQL

Si utilizza AWS Managed Microsoft AD per configurare l'autenticazione Kerberos per un'istanza My DB. SQL Per configurare l'autenticazione Kerberos, completa la procedura seguente.

Passaggio 1: creare una directory utilizzando AWS Managed Microsoft AD

AWS Directory Service crea una Active Directory completamente gestita nel AWS cloud. Quando crei una AWS Managed Microsoft AD directory, AWS Directory Service crea due controller di dominio e server Domain Name System (DNS) per tuo conto. I server di directory vengono creati in diverse sottoreti in 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 un 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.

    Nota

    Assicurati di salvare questa password. AWS Directory Service non la memorizza. È possibile reimpostarla ma non recuperarla.

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

Quando si avvia un AWS Managed Microsoft AD, AWS crea un'unità organizzativa (OU) che contiene tutti gli oggetti della directory. Questa unità organizzativa ha il BIOS nome di rete digitato al momento della creazione della directory e si trova nella radice del dominio. La radice del dominio è di proprietà e gestita da AWS.

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

  • Creazione, aggiornamento o eliminazione di utenti

  • Aggiungi risorse al dominio, come file server o server di stampa, e assegna le autorizzazioni per tali risorse a utenti dell'unità organizzativa

  • Crea contenitori aggiuntivi OUs e

  • Delega dell'autorità

  • Ripristino degli oggetti eliminati dal cestino di Active Directory

  • Esegui i PowerShell 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:

  • Gestione DNS delle configurazioni (aggiunta, rimozione o aggiornamento di record, zone e server d'inoltro)

  • Visualizza i registri degli eventi DNS

  • visualizzazione di log di eventi di sicurezza.

Per creare una directory con AWS Managed Microsoft AD
  1. Accedi a AWS Management Console e apri la AWS Directory Service console all'indirizzo https://console.aws.amazon.com/directoryservicev2/.

  2. Nel riquadro di navigazione, seleziona Directories (Directory) e quindi Set up directory (Configura la directory).

  3. Scegli AWS Managed Microsoft AD. AWS Managed Microsoft AD è l'unica opzione attualmente utilizzabile con AmazonRDS.

  4. Immetti le seguenti informazioni:

    DNSNome della directory

    Il nome completo della directory, ad esempio corp.example.com.

    BIOSNome della directory Net

    Nome breve per la directory, ad esempio CORP.

    Descrizione della directory

    (Opzionale) Una descrizione 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 e 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)

    La password dell'amministratore digitata nuovamente.

  5. Scegli Next (Successivo).

  6. Immettere le seguenti informazioni nella sezione Networking (Rete) e quindi scegliere Next (Avanti):

    VPC

    Il VPC per la directory. Crea l'istanza My SQL DB in questa stessa istanzaVPC.

    Sottoreti

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

  7. Esaminare le informazioni relative alla directory e apportare eventuali modifiche. Quando le informazioni sono corrette, scegli Create Directory (Crea directory).

    La finestra Review & create durante la creazione della directory nella AWS Directory Service console.

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 il nome della directory nell'elenco di directory. Nota il valore Directory ID perché è necessario questo valore quando crei o modifichi l'istanza My SQL DB.

La sezione dei dettagli della directory con Directory ID nella AWS Directory Service console.

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

RDSAffinché Amazon ti AWS Directory Service chiami, AmazonRDSDirectoryServiceAccess è necessario un IAM ruolo che utilizzi la IAM policy gestita. Questo ruolo consente RDS ad Amazon di effettuare chiamate verso AWS Directory Service.

Quando un'istanza DB viene creata utilizzando AWS Management Console e l'utente della console dispone dell'iam:CreateRoleautorizzazione, la console crea questo ruolo automaticamente. In questo caso, il nome del ruolo è rds-directoryservice-kerberos-access-role. Altrimenti, è necessario creare il IAM ruolo manualmente. Quando create questo IAM ruoloDirectory Service, scegliete e allegate AmazonRDSDirectoryServiceAccess ad esso la politica AWS gestita.

Per ulteriori informazioni sulla creazione di IAM ruoli per un servizio, consulta Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella Guida per l'IAMutente.

Nota

Il IAM ruolo utilizzato per Windows Authentication RDS for SQL Server non può essere utilizzato RDS per My. SQL

Facoltativamente, è possibile creare politiche con le autorizzazioni richieste anziché utilizzare la politica gestitaIAM. AmazonRDSDirectoryServiceAccess In questo caso, il IAM ruolo deve avere la seguente politica di IAM attendibilità.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "directoryservice.rds.amazonaws.com", "rds.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Il ruolo deve inoltre avere la seguente politica di IAM ruolo.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ds:DescribeDirectories", "ds:AuthorizeApplication", "ds:UnauthorizeApplication", "ds:GetAuthorizedApplicationDetails" ], "Effect": "Allow", "Resource": "*" } ] }

Fase 3: creazione e configurazione di utenti

È possibile creare utenti con lo strumento Utenti Active Directory e computer. Questo strumento fa parte 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.

Per creare utenti in una AWS Directory Service directory, devi essere connesso a un'EC2istanza Amazon basata su Microsoft Windows. Questa istanza deve essere un membro della AWS Directory Service directory ed essere connessa come utente con privilegi per creare utenti. Per ulteriori informazioni, consulta Gestione di utenti e gruppi in AWS Managed Microsoft AD nella AWS Directory Service - Guida di amministrazione.

Fase 4: Creare o modificare un'istanza My DB SQL

Crea o modifica un'istanza My SQL 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 Kerberos è supportata solo per le istanze My SQL DB in a. VPC L'istanza DB può trovarsi nella VPC stessa directory o in un'altra. VPC L'istanza DB deve utilizzare un gruppo di sicurezza che consenta l'uscita all'interno della directory VPC in modo che l'istanza DB possa comunicare con la directory.

Quando utilizzi la console per creare, modificare o ripristinare un'istanza database, scegli Password e autenticazione Kerberos nella sezione Autenticazione database. Scegli Browse Directory (Sfoglia directory) quindi seleziona la directory oppure scegli Create a new directory (Crea una nuova directory).

La sezione Autenticazione del database con password e autenticazione Kerberos selezionate nella console AmazonRDS.

Quando usi AWS CLI o RDSAPI, associa un'istanza DB a una directory. Per consentire all'istanza database di utilizzare la directory del dominio che hai creato, sono necessari i seguenti parametri:

  • Per il parametro --domain, utilizza l'identificatore di dominio (identificatore "d-*") 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.

Fase 5: Creare l'autenticazione Kerberos I miei accessi SQL

Utilizza le credenziali dell'utente RDS master Amazon per connetterti all'istanza My SQL DB come fai con qualsiasi altra istanza DB. L'istanza DB viene aggiunta al AWS Managed Microsoft AD dominio. Pertanto, puoi fornire i miei SQL dati di accesso e i miei utenti dagli utenti di Active Directory del tuo dominio. Le autorizzazioni del database sono gestite tramite SQL le autorizzazioni My standard concesse e revocate da questi accessi.

È possibile consentire a un utente di Active Directory di autenticarsi con My. SQL A tale scopo, utilizza innanzitutto le credenziali dell'utente RDS master Amazon per connetterti all'istanza My SQL DB come con qualsiasi altra istanza DB. Dopo aver effettuato l'accesso, crea un utente autenticato esternamente con PAM (Pluggable Authentication Modules) in My eseguendo il seguente comando. SQL Sostituire testuser con il nome utente.

CREATE USER 'testuser'@'%' IDENTIFIED WITH 'auth_pam';

Gli utenti (persone e applicazioni) del dominio possono ora connettersi all'istanza database da un computer client associato al dominio utilizzando l'autenticazione Kerberos.

Importante

Consigliamo vivamente ai client di utilizzare/connections quando utilizzano l'autenticazioneSSL. TLS PAM Se non usanoSSL/TLSconnections, in alcuni casi la password potrebbe essere inviata come testo non crittografato. Per richiedere una connessione TLS crittografata conSSL/per l'utente AD, esegui il comando seguente e sostituiscilo testuser con il nome utente:

ALTER USER 'testuser'@'%' REQUIRE SSL;

Per ulteriori informazioni, consulta SSL/TLSsupporto per le istanze My SQL DB su Amazon RDS.

Gestione di un'istanza database in un dominio

Puoi usare CLI o the RDS API per gestire l'istanza DB e la sua relazione con l'Active Directory gestita. Ad esempio, è possibile associare un'autenticazione di Active Directory per Kerberos e annullare l'associazione di una Active Directory per disabilitare l'autenticazione Kerberos. Puoi anche spostare un'istanza database affinché venga autenticata esternamente da una Microsoft Active Directory a un'altra.

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

  • Per riattivare l'autenticazione Kerberos per un'iscrizione non riuscita, utilizza l'ModifyDBInstanceAPIoperazione e specifica l'ID di directory dell'iscrizione 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 ruolo. IAM

  • Per disabilitare l'autenticazione Kerberos su un'istanza DB, utilizzate l'ModifyDBInstanceAPIoperazione e specificatela none come parametro di dominio.

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

  • Per elencare l'appartenenza per ogni istanza DB, usa l'DescribeDBInstancesAPIoperazione.

Appartenenza al dominio

Quando l'istanza database viene creata o modificata diventa membro del dominio. È possibile visualizzare lo stato dell'appartenenza al dominio per l'istanza DB eseguendo il describe-db-instancesCLIcomando. Lo stato dell'istanza di database può essere uno dei seguenti:

  • kerberos-enabled: l'autenticazione Kerberos è abilitata nell'istanza database.

  • enabling-kerberos— AWS sta abilitando l'autenticazione Kerberos su questa istanza DB.

  • pending-enable-kerberos: l'abilitazione dell'autenticazione Kerberos è in sospeso su questa istanza database.

  • pending-maintenance-enable-kerberos— AWS tenterà di abilitare l'autenticazione Kerberos sull'istanza DB durante la successiva finestra di manutenzione pianificata.

  • pending-disable-kerberos: la disabilitazione dell'autenticazione Kerberos è in sospeso su questa istanza database.

  • pending-maintenance-disable-kerberos— AWS tenterà di disabilitare l'autenticazione Kerberos sull'istanza DB durante la successiva finestra di manutenzione programmata.

  • enable-kerberos-failed - Un problema di configurazione ha impedito a AWS di abilitare l'autenticazione Kerberos sull'istanza database. Verifica e correggi la configurazione prima di eseguire nuovamente il comando di modifica dell'istanza database.

  • disabling-kerberos— AWS sta disabilitando l'autenticazione Kerberos su questa istanza DB.

Una richiesta di attivazione dell'autenticazione Kerberos può avere esito negativo a causa di un problema di connettività di rete o di un ruolo errato. IAM Ad esempio, si supponga di creare un'istanza database o di modificare un'istanza database esistente e il tentativo di attivare l'autenticazione Kerberos non riesce. In questo caso, eseguire nuovamente il comando di modifica o modificare l'istanza database appena creata per l'aggiunta al dominio.

Connessione a My SQL con autenticazione Kerberos

Per connettersi a My SQL con autenticazione Kerberos, è necessario accedere utilizzando il tipo di autenticazione Kerberos.

Per creare un utente di database a cui è possibile connettersi utilizzando l'autenticazione Kerberos, utilizzare una clausola IDENTIFIED WITH sull'istruzione CREATE USER. Per istruzioni, consulta Fase 5: Creare l'autenticazione Kerberos I miei accessi SQL.

Per evitare errori, utilizzare il client mysql MariaDB. È possibile scaricare il software MariaDB all'indirizzo https://downloads.mariadb.org/.

Al prompt dei comandi, connettiti a uno degli endpoint associati alla tua istanza My DB. SQL Seguire le procedure generali descritte in Connessione a un'istanza DB che esegue il motore di SQL database My. Quando viene richiesta la password, immettere la password Kerberos associata al nome utente.

Ripristino di un'istanza My SQL DB e aggiunta a un dominio

È possibile ripristinare uno snapshot DB o completare un point-in-time ripristino per un'istanza My SQL DB e quindi aggiungerla a un dominio. Dopo aver ripristinato l'istanza database, modificarla utilizzando il processo illustrato in Fase 4: Creare o modificare un'istanza My DB SQL per aggiungere l'istanza database a un dominio.

Autenticazione Kerberos Le mie limitazioni SQL

Le seguenti limitazioni si applicano all'autenticazione Kerberos for My: SQL

  • È supportato solo un AWS Managed Microsoft AD . Tuttavia, puoi aggiungere RDS istanze My SQL DB a domini Microsoft AD gestiti condivisi di proprietà di account diversi nello stesso account. Regione AWS

  • È necessario riavviare l'istanza database dopo aver abilitato la caratteristica.

  • La lunghezza del nome di dominio non può essere superiore a 61 caratteri.

  • Non è possibile abilitare l'autenticazione e IAM l'autenticazione Kerberos contemporaneamente. Scegli un metodo di autenticazione o l'altro per la tua istanza My SQL DB.

  • Non modificare la porta dell'istanza database dopo aver abilitato la caratteristica.

  • Non utilizzare l'autenticazione Kerberos con le repliche di lettura.

  • Se hai attivato l'aggiornamento automatico della versione secondaria per un'istanza My SQL DB che utilizza l'autenticazione Kerberos, devi disattivare l'autenticazione Kerberos e riattivarla dopo un aggiornamento automatico. Per maggiori informazioni sull’aggiornamento automatico di una versione minore, consulta Aggiornamenti automatici delle versioni secondarie per RDS for My SQL.

  • Per eliminare un'istanza database con questa caratteristica abilitata, disabilitare prima la caratteristica. A tale scopo, utilizzate il modify-db-instance CLI comando per l'istanza DB e specificate none il parametro. --domain

    Se si utilizza CLI o RDS API per eliminare un'istanza DB con questa funzionalità abilitata, è previsto un ritardo.

  • RDSfor My SQL non supporta l'autenticazione Kerberos attraverso un trust forestale tra il tuo AD locale o ospitato autonomamente e il. AWS Managed Microsoft AD