Configurazione dell'autenticazione Kerberos per i cluster Aurora My DB SQL - Amazon Aurora

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 Kerberos per i cluster Aurora My DB SQL

AWS Managed Microsoft AD Da utilizzare per configurare l'autenticazione Kerberos per un cluster Aurora 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 il 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 immesso al momento della creazione della directory. Si trova nella radice del dominio, che è di proprietà e gestita da AWS.

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

  • Creazione, aggiornamento o eliminazione di utenti

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

  • 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 anche dei diritti per eseguire queste attività in 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 immessa 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 il cluster Aurora My SQL DB in questo stesso ambiente. VPC

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

    Pagina dei dettagli della directory durante la creazione

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é ti serve quando crei o modifichi il tuo cluster Aurora My SQL DB.

ID directory nella pagina Dettagli della directory

Fase 2: (facoltativa) creazione di un trust per una Active Directory on-premise

Se non prevedi di utilizzare Microsoft Active Directory locale, passa a Fase 3: creare un IAM ruolo da utilizzare con Amazon Aurora.

Per utilizzare l'autenticazione Kerberos con l'Active Directory locale, è necessario creare una relazione di dominio affidabile utilizzando un trust di foresta tra Microsoft Active Directory locale e la AWS Managed Microsoft AD directory (creata in). Passaggio 1: creare una directory utilizzando AWS Managed Microsoft AD Il trust può essere unidirezionale, in cui la directory AWS Managed Microsoft AD considera attendibile Microsoft Active Directory locale. Il trust può anche essere bidirezionale, in cui entrambe le Active Directory si considerano reciprocamente attendibili. Per ulteriori informazioni sulla configurazione dei trust utilizzando AWS Directory Service, consulta When to create a trust relationship nella Administration Guide.AWS Directory Service

Nota

Se utilizzi una Microsoft Active Directory locale:

  • I client Windows non possono connettersi con endpoint personalizzati Aurora. Per ulteriori informazioni, consulta Connessioni endpoint Amazon Aurora.

  • Per i database globali:

    • I client Windows possono connettersi solo con endpoint di istanza o cluster nella Regione AWS primaria del database globale.

    • I client Windows non possono connettersi utilizzando gli endpoint del cluster in modalità secondaria. Regioni AWS

Assicurati che il nome di dominio Microsoft Active Directory locale includa un routing dei DNS suffissi che corrisponda alla relazione di trust appena creata. Il risultato è mostrato nella screenshot seguente.

DNSil routing corrisponde alla fiducia creata

Fase 3: creare un IAM ruolo da utilizzare con Amazon Aurora

Affinché Amazon Aurora possa AWS Directory Service chiamarti, hai bisogno di un ruolo AWS Identity and Access Management (IAM) che utilizzi la policy gestitaIAM. AmazonRDSDirectoryServiceAccess Questo ruolo permette ad Aurora di effettuare chiamate ad AWS Directory Service.

Quando crei un cluster DB utilizzando e disponi AWS Management Console 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.

Facoltativamente, puoi creare policy con le autorizzazioni richieste anziché utilizzare la policy IAM gestita AmazonRDSDirectoryServiceAccess. In questo caso, il IAM ruolo deve avere la seguente politica di IAM fiducia.

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

Il ruolo deve anche disporre della seguente policy del ruolo IAM.

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

Fase 4: 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, usi un'EC2istanza locale o Amazon basata su Microsoft Windows che viene aggiunta alla tua AWS Directory Service directory. Devi anche essere connesso all'istanza come utente che dispone dei 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 5: Creare o modificare un cluster Aurora My DB SQL

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

L'autenticazione Kerberos è supportata solo per i cluster Aurora My SQL DB in a. VPC Il cluster DB può trovarsi nella VPC stessa directory o in un'altra. VPC I cluster DB VPC devono disporre di un gruppo di VPC sicurezza che consenta la comunicazione in uscita verso la directory dell'utente.

Quando utilizzi la console per creare, modificare o ripristinare un cluster di database, scegli 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).

Impostazione dell'autenticazione Kerberos durante la creazione di un cluster di database

Quando usi AWS CLI o RDSAPI, associa un cluster DB a una directory. Per consentire al cluster di 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 cluster DB per utilizzare una directory.

In Linux, macOS, oppure Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --domain d-ID \ --domain-iam-role-name role-name

In Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --domain d-ID ^ --domain-iam-role-name role-name
Importante

Se modifichi un cluster di database per abilitare l'autenticazione Kerberos, riavvia le istanze database di lettura dopo aver apportato la modifica.

Passaggio 6: Creare SQL gli utenti Aurora My che utilizzano l'autenticazione Kerberos

Il cluster DB viene aggiunto al dominio. AWS Managed Microsoft AD Pertanto, puoi creare utenti Aurora My SQL dagli utenti di Active Directory del tuo dominio. Le autorizzazioni del database sono gestite tramite le autorizzazioni Aurora SQL My standard concesse e revocate a questi utenti.

È possibile consentire a un utente di Active Directory di autenticarsi con SQL Aurora My. A tale scopo, utilizza innanzitutto le credenziali utente RDS primarie di Amazon per connetterti al cluster Aurora SQL My DB come con qualsiasi altro cluster DB. Dopo aver effettuato l'accesso, crea un utente autenticato esternamente con autenticazione Kerberos in Aurora My come illustrato di seguito: SQL

CREATE USER user_name@'host_name' IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name';
  • Sostituisci user_name con il nome utente. Gli utenti (persone e applicazioni) del tuo dominio ora possono connettersi al cluster di database da un computer client associato al dominio utilizzando l'autenticazione Kerberos.

  • Sostituisci host_name con il nome host. È possibile utilizzare % come carattere jolly. È inoltre possibile usare indirizzi IP specifici per il nome host.

  • Sostituisci realm_name con il nome dell'area di autenticazione della directory del dominio. Il nome del realm è in genere lo stesso del nome di DNS dominio in lettere maiuscole, ad esempio. CORP.EXAMPLE.COM Un realm è un gruppo di sistemi che utilizzano lo stesso Kerberos Key Distribution Center.

L'esempio seguente crea un utente del database con il nome Admin che esegue l'autenticazione in Active Directory con il nome del realm MYSQL.LOCAL.

CREATE USER Admin@'%' IDENTIFIED WITH 'authentication_kerberos' BY 'MYSQL.LOCAL';

Modificare un account SQL Aurora My esistente

È inoltre possibile modificare un SQL accesso Aurora My esistente per utilizzare l'autenticazione Kerberos utilizzando la seguente sintassi:

ALTER USER user_name IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name';

Passaggio 7: configurare un client My SQL

Per configurare un My SQL client, procedi nel seguente modo:

  1. Crea un file krb5.conf (o equivalente) che punti al dominio.

  2. Verifica che il traffico possa fluire tra l'host del client e AWS Directory Service. Utilizza un'utilità di rete come Netcat per le operazioni seguenti:

    • Verifica il traffico verso DNS la porta 53.

    • Verifica il traffico suTCP/UDPper la porta 53 e per Kerberos, che include le porte 88 e 464 per. AWS Directory Service

  3. Verifica che il traffico scorra senza problemi tra l'host client e l'istanza database sulla porta del database. Ad esempio, utilizza mysql per connetterti e accedere al database.

Di seguito è riportato un esempio krb5.conf di contenuto per. AWS Managed Microsoft AD

[libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = example.com admin_server = example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM

Di seguito è riportato un esempio di contenuto krb5.conf per una Microsoft Active Directory on-premise.

[libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = example.com admin_server = example.com } ONPREM.COM = { kdc = onprem.com admin_server = onprem.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM .onprem.com = ONPREM.COM onprem.com = ONPREM.COM .rds.amazonaws.com = EXAMPLE.COM .amazonaws.com.rproxy.goskope.com.cn = EXAMPLE.COM .amazon.com = EXAMPLE.COM

Fase 8: (facoltativo) configurazione il confronto dei nomi utente senza distinzione tra maiuscole e minuscole

Per impostazione predefinita, le maiuscole e minuscole del nome utente My SQL database devono corrispondere a quelle del nome di accesso ad Active Directory. Tuttavia, ora puoi utilizzare il confronto dei nomi utente senza distinzione tra maiuscole e minuscole con il plugin authentication_kerberos. A tale scopo, devi impostare il parametro authentication_kerberos_caseins_cmp del cluster database su true.

Utilizzo del confronto dei nomi utente senza distinzione tra maiuscole e minuscole
  1. Crea un gruppo di parametri per il cluster database personalizzato. Seguire le procedure indicate in Creazione di un gruppo di parametri del cluster DB in Amazon Aurora.

  2. Modifica il nuovo gruppo di parametri per impostare il valore di authentication_kerberos_caseins_cmp su true. Seguire le procedure indicate in Modifica dei parametri in un gruppo di parametri del cluster DB in Amazon Aurora.

  3. Associa il gruppo di parametri del cluster DB al tuo cluster Aurora My SQL DB. Seguire le procedure indicate in Associazione di un gruppo di parametri del cluster DB a un cluster DB in Amazon Aurora.

  4. Riavviare il cluster database.