Autenticazione Kerberos con Babelfish - 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à.

Autenticazione Kerberos con Babelfish

La versione SQL 15.2 di Babelfish per Aurora Postgre supporta l'autenticazione al cluster DB tramite Kerberos. Questo metodo ti consente di usare l'autenticazione di Microsoft Windows per gli utenti che si connettono al database Babelfish, ma A tale scopo, è necessario innanzitutto configurare il cluster DB da utilizzare AWS Directory Service for Microsoft Active Directory per l'autenticazione Kerberos. Per ulteriori informazioni, vedi Cos'è AWS Directory Service? nel AWS Directory Service Guida all'amministrazione.

Configurazione dell'autenticazione Kerberos

Il cluster Babelfish for Aurora Postgre SQL DB può connettersi utilizzando due porte diverse, ma la configurazione dell'autenticazione Kerberos è un processo unico. Pertanto, per prima cosa è necessario configurare l'autenticazione Kerberos per il cluster database. Per ulteriori informazioni, consulta Configurazione dell'autenticazione Kerberos. Dopo aver completato la configurazione, assicurati di poterti connettere con un client Postgre utilizzando Kerberos. SQL Per ulteriori informazioni, consulta Connessione con Autenticazione Kerberos.

Accesso e allocazione degli utenti in Babelfish

Gli accessi a Windows creati dalla porta Tabular Data Stream (TDS) possono essere utilizzati con la porta o con la TDS porta Postgre. SQL Innanzitutto, l'accesso che può utilizzare Kerberos per l'autenticazione deve essere fornito dalla TDS porta prima di essere utilizzato dagli SQL utenti e dalle applicazioni T- per connettersi a un database Babelfish. Durante la creazione di accessi a Windows, gli amministratori possono fornire l'accesso utilizzando il nome di dominio o il nome di DNS dominio Net. BIOS In genere, Net BIOS domain è il sottodominio del nome di dominio. DNS Ad esempio, se il nome di DNS dominio èCORP.EXAMPLE.COM, allora il BIOS dominio Net può essereCORP. Se viene fornito il formato del nome di BIOS dominio Net per un accesso, deve esistere una mappatura al nome di DNS dominio.

Gestione della mappatura tra nomi di BIOS dominio di rete e nomi di DNS dominio

Per gestire le mappature tra il nome di BIOS dominio Net e il nome di DNS dominio, Babelfish fornisce procedure memorizzate nel sistema per aggiungere, rimuovere e troncare le mappature. Solo un utente con il ruolo sysadmin può eseguire queste procedure.

Per creare una mappatura tra Net BIOS e il nome di DNS dominio, usa la procedura memorizzata dal sistema fornita da Babelfish. babelfish_add_domain_mapping_entry Entrambi gli argomenti devono avere un valore valido e non lo sono. NULL

EXEC babelfish_add_domain_mapping_entry 'netbios_domain_name', 'fully_qualified_domain_name'

L'esempio seguente mostra come creare la mappatura tra il nome di rete CORP e BIOS il nome di DNS dominio. CORP EXAMPLE. COM.

EXEC babelfish_add_domain_mapping_entry 'corp', 'corp.example.com'

Per eliminare una voce di mappatura esistente, usaRE la stored procedure di sistema babelfish_remove_domain_mapping_entry:

EXEC babelfish_remove_domain_mapping_entry 'netbios_domain_name'

L'esempio seguente mostra come rimuovere la mappatura per il BIOS nome CORP di rete.

EXEC babelfish_remove_domain_mapping_entry 'corp'

Per rimuovere tutte le voci di mappatura esistenti, usa la stored procedure di sistema babelfish_truncate_domain_mapping_table:

EXEC babelfish_truncate_domain_mapping_table

Per visualizzare tutte le mappature tra Net BIOS e nome di DNS dominio, utilizzare la seguente query.

SELECT netbios_domain_name, fq_domain_name FROM babelfish_domain_mapping;

Gestione degli accessi

Creazione degli accessi

Connect al DB tramite l'TDSendpoint utilizzando un login con le autorizzazioni corrette. Se non è stato creato un utente del database, l'accesso viene mappato all'utente guest. Se l'utente guest non è abilitato, il tentativo di accesso ha esito negativo.

Crea un accesso Windows utilizzando la seguente query. L'opzione FROM WINDOWS consente l'autenticazione tramite Active Directory.

CREATE LOGIN login_name FROM WINDOWS [WITH DEFAULT_DATABASE=database]

L'esempio seguente mostra come creare un accesso per l'utente di Active Directory [corp\test1] con il database predefinito db1.

CREATE LOGIN [corp\test1] FROM WINDOWS WITH DEFAULT_DATABASE=db1

Questo esempio presuppone che esista una mappatura tra il BIOS dominio Net CORP e il nome di dominio. DNS CORP EXAMPLE. COM. Se non è presente alcuna mappatura, è necessario fornire il nome di DNS dominio [CORP. EXAMPLE. COM\ test1].

Nota

Gli accessi basati sugli utenti di Active Directory sono limitati a nomi contenenti meno di 21 caratteri.

Eliminazione di un accesso

Per eliminare un accesso, usa la stessa sintassi utilizzata per qualsiasi accesso, come mostrato nell'esempio seguente:

DROP LOGIN [DNS domain name\login]
Modifica di un accesso

Per modificare un accesso, usa la stessa sintassi utilizzata per qualsiasi accesso, come mostrato nell'esempio seguente:

ALTER LOGIN [DNS domain name\login] { ENABLE|DISABLE|WITH DEFAULT_DATABASE=[master] }

Il ALTER LOGIN comando supporta opzioni limitate per gli accessi a Windows, tra cui:

  • DISABLE— Per disabilitare un accesso. Non puoi usare un accesso disabilitato per l'autenticazione.

  • ENABLE— Per abilitare un accesso disabilitato.

  • DEFAULT_ DATABASE — Per modificare il database predefinito di un login.

Nota

Tutta la gestione delle password viene eseguita tramite AWS Directory Service, quindi il ALTER LOGIN comando non consente agli amministratori del database di modificare o impostare le password per gli accessi a Windows.

Connessione a Babelfish per Aurora Postgre con autenticazione Kerberos SQL

In genere, gli utenti del database eseguono l'autenticazione tramite Kerberos usando computer client che sono membri del dominio Active Directory. Utilizzano l'autenticazione di Windows dalle loro applicazioni client per accedere al server Babelfish for Aurora SQL Postgre sulla porta. TDS

Connessione a Babelfish per Aurora Postgre SQL sulla porta Postgre con autenticazione Kerberos SQL

È possibile utilizzare gli accessi creati dalla porta con la porta o con la TDS porta Postgre. TDS SQL Tuttavia, Postgre SQL utilizza per impostazione predefinita i confronti con distinzione tra maiuscole e minuscole per i nomi utente. Affinché Aurora Postgre SQL interpreti i nomi utente Kerberos senza distinzione tra maiuscole e minuscole, è necessario impostare il parametro come nel gruppo di parametri personalizzato del krb_caseins_users cluster Babelfish. true Questo parametro è impostato su false per impostazione predefinita. Per ulteriori informazioni, consulta Configurazione per nomi utente senza distinzione tra maiuscole e minuscole. Inoltre, è necessario specificare il nome utente di accesso nel formato <login@ nome di dominio> dalle applicazioni client Postgre. DNS SQL Non è possibile utilizzare il formato < domain name\ login>. DNS

Errori frequenti

È possibile configurare relazioni di trust forestale tra Microsoft Active Directory locale e AWS Managed Microsoft AD. Per ulteriori informazioni, consulta Creare una relazione di fiducia. Quindi, dovrai connetterti utilizzando un endpoint specifico del dominio specializzato anziché utilizzare il dominio Amazon rds.amazonaws.com nell'endpoint host. Se non utilizzi l'endpoint specifico del dominio corretto, potresti riscontrare il seguente errore:

Error: “Authentication method "NTLMSSP" not supported (Microsoft SQL Server, Error: 514)"

Questo errore si verifica quando il TDS client non riesce a memorizzare nella cache il ticket di servizio per l'endpoint URL fornito. Per ulteriori informazioni, consulta Connessione con Kerberos.