Usa Microsoft AD gestito con Cloud SQL

In questa pagina vengono descritti i modi in cui utilizzare Cloud SQL per:

  • Eseguire l'integrazione con Managed Service for Microsoft Active Directory (chiamato anche Managed Microsoft AD).
  • Connettersi a un'istanza con un utente AD.

Un'istanza Cloud SQL integrata con Microsoft Active Directory gestito supporta l'autenticazione Windows oltre all'autenticazione SQL.

Prima di iniziare

  1. Nella console Google Cloud, seleziona il nome del progetto.
  2. Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare se la fatturazione è abilitata per il tuo progetto.
  3. Installa e inizializza gcloud CLI.
  4. Assicurati di disporre del ruolo Cloud SQL Admin per il tuo account utente. Vai alla pagina IAM.
  5. Esamina i prerequisiti per l'integrazione.

crea un'istanza con l'autenticazione di Windows

Puoi eseguire l'integrazione con Microsoft AD gestito durante la creazione dell'istanza, abilitando l'autenticazione di Windows per l'istanza. Per l'integrazione, scegli un dominio a cui unire l'istanza. Se l'aggiunta di un dominio non va a buon fine, la creazione dell'istanza non va a buon fine.

In preparazione per la creazione di un'istanza con l'autenticazione Windows, consulta i tips e le limitazioni e le alternative.

È supportata un'istanza con IP pubblico purché abbia anche un IP privato; l'IP privato deve essere abilitato per l'istanza. Quindi puoi scegliere di utilizzare l'IP pubblico o l'IP privato per la connessione all'istanza, purché siano entrambi disponibili.

Di seguito sono riportate le opzioni per creare un'istanza integrata con Microsoft AD gestito.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Fai clic su Crea istanza.
  3. Fai clic su Scegli SQL Server.
  4. Inserisci un nome per l'istanza. Non includere informazioni sensibili o che consentono l'identificazione personale nel nome dell'istanza, perché sono visibili esternamente. Non è necessario includere l'ID progetto nel nome dell'istanza. Viene creato automaticamente ove appropriato (ad esempio nei file di log).
  5. Inserisci la password per l'utente 'sqlserver'.
  6. Imposta la regione per l'istanza. Consulta le best practice per l'integrazione con Microsoft Active Directory gestito.
  7. Nella sezione Opzioni di configurazione, imposta le opzioni desiderate (ma attendi fino al passaggio successivo per le opzioni di autenticazione).
  8. Fai clic su Autenticazione. Il menu a discesa per unire un dominio Active Directory gestito elenca tutti i domini Microsoft AD gestiti aggiunti in precedenza al tuo progetto.
  9. Dal menu a discesa per aggiungere un dominio Active Directory gestito, seleziona un dominio.
  10. Dopo aver selezionato le opzioni di configurazione, fai clic su Crea. Cloud SQL crea automaticamente un account di servizio per prodotto e per progetto. Se l'account non dispone del ruolo appropriato, ti viene chiesto di concedere il ruolo managedidentities.sqlintegrator.

gcloud

Il comando seguente crea un'istanza integrata con Microsoft AD gestito e, di conseguenza, abilitata per l'autenticazione di Windows. Per informazioni sul comando di base per la creazione di un'istanza, consulta Creazione di istanze.

Specifica un parametro di --active-directory-domain=DOMAIN nel comando gcloud. Ad esempio, specifica quanto segue: --active-directory-domain=ad.mydomain.com

Ecco un prototipo del comando gcloud:

gcloud beta sql instances create INSTANCE_NAME \
--database-version=EDITION \
--root-password=PASSWORD \
--active-directory-domain=DOMAIN\
--cpu=CPU \
--memory=MEMORY  \
--network=NETWORK

Terraform

Per creare un'istanza integrata con Microsoft AD gestito, utilizza una risorsa Terraform.

resource "google_sql_database_instance" "instance_with_ad" {
  name             = "database-instance-name"
  region           = "us-central1"
  database_version = "SQLSERVER_2019_STANDARD"
  root_password    = "INSERT-PASSWORD-HERE"

  depends_on = [google_service_networking_connection.private_vpc_connection]

  settings {
    tier = "db-custom-2-7680"
    active_directory_config {
      domain = "ad.domain.com"
    }
    ip_configuration {
      ipv4_enabled    = "false"
      private_network = google_compute_network.private_network.id
    }
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

REST

Utilizzando l'API REST, puoi creare un'istanza integrata con Microsoft AD gestito. Specifica un dominio, ad esempio subdomain.mydomain.com, per il campo domain, come mostrato in questo prototipo di richiesta:

{
   "databaseVersion":"database-version",
   "name":"instance-id",
   "region":"region",
   "rootPassword":"password",
   "settings":{
      "tier":"machine-type",
      "ipConfiguration":{
         "privateNetwork":"network"
      },
      "activeDirectoryConfig":{
         "domain":"domain"
      }
   }
}

Aggiorna un'istanza con l'autenticazione di Windows

Puoi aggiornare il dominio di un'istanza esistente, modificando o aggiungendo un dominio.

Per informazioni generali sull'aggiornamento di un'istanza, consulta Modifica delle istanze.

Se un'istanza è attualmente unita a un dominio AD gestito, l'istanza viene inizialmente scollegata da quel dominio, prima di essere aggiunta al nuovo dominio. Se l'aggiornamento non va a buon fine, l'istanza non può più essere aggiunta ad alcun dominio.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Fai clic su Modifica.
  4. Fai clic su Autenticazione. Nel menu a discesa Partecipa a un dominio Active Directory sono elencati i domini Microsoft AD gestiti precedentemente aggiunti nel tuo progetto.
  5. Dal menu a discesa per aggiungere un dominio Active Directory gestito, seleziona un nuovo dominio (sostituzione) per la tua istanza.
  6. Fai clic su Salva per applicare le modifiche.

gcloud

Di seguito è riportato un prototipo di un comando per aggiornare un'istanza esistente. Il comando aggiunge o sostituisce un dominio. Passa --active-directory-domain=DOMAIN al comando, come segue:

gcloud beta sql instances patch INSTANCE_NAME \
--active-directory-domain=DOMAIN

REST

Utilizzando l'API REST, puoi aggiornare un'istanza esistente. Specifica un dominio, ad esempio subdomain.mydomain.com, nel campo domain. Di seguito è riportato un prototipo di richiesta:

{
   "settings":{
      "activeDirectoryConfig":{
         "domain":"domain"
      }
   }
}

Eseguire l'integrazione con un dominio AD gestito in un altro progetto

Puoi integrare l'istanza con un dominio Microsoft AD gestito che si trova in un progetto diverso.

Durante la pianificazione dell'integrazione, esamina i vincoli.

Abilita il peering di dominio

Prima di procedere con i passaggi nelle sezioni seguenti, abilita il peering di dominio in modo che il tuo dominio sia disponibile per tutti i progetti necessari con le istanze di Cloud SQL per SQL Server.

Per un elenco di domini di altri progetti già disponibili, puoi specificare quanto segue:

`gcloud active-directory peerings list`

Per maggiori informazioni, consulta Elencare i peering di dominio.

Il comando gcloud active-directory peerings list richiede l'autorizzazione managedidentities.peerings.list. I ruoli seguenti hanno questa autorizzazione:

  • roles/managedidentities.peeringViewer
  • roles/managedidentities.viewer

Per ulteriori informazioni, consulta Controllo dell'accesso con IAM.

Crea un account di servizio

Ripeti questi passaggi per ogni progetto contenente un'istanza di Cloud SQL per SQL Server che intendi integrare.

  1. Consulta le informazioni di base per la creazione di account di servizio.
  2. Utilizza un comando simile al seguente per creare un account di servizio. Specifica l'ID del progetto contenente le istanze Cloud SQL per SQL Server:

    gcloud beta services identity create --service=sqladmin.googleapis.com \
    --project=[PROJECT_ID]
    
  3. Concedi il ruolo managedidentities.sqlintegrator nel progetto con l'istanza Microsoft AD gestito. Specifica l'ID del progetto contenente l'istanza Microsoft AD gestito:

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
    --member=serviceAccount:SERVICE_ACCOUNT --role=roles/managedidentities.sqlintegrator
    

Abilita autenticazione Windows tra progetti

Puoi eseguire l'integrazione con un dominio AD in un altro progetto utilizzando i comandi gcloud o l'API REST Cloud SQL. In entrambi i casi, devi specificare il nome completo della risorsa del dominio.

Specifica il nome completo della risorsa del dominio quando viene creata o aggiornata un'istanza di Cloud SQL per SQL Server. Sono supportati due formati:

  • projects/PROJECT_ID/locations/global/domains/DOMAIN_NAME
  • projects/PROJECT_NUMBER/locations/global/domains/DOMAIN_NAME

Ecco un esempio utilizzando gcloud:

gcloud beta sql instances patch INSTANCE_NAME \
--active-directory-domain=projects/PROJECT_ID/locations/global/domains/DOMAIN_NAME

Se utilizzi un nome di risorsa di dominio breve (ad esempio DOMAIN_NAME), il sistema presuppone che il dominio Microsoft AD gestito sia nello stesso progetto delle istanze Cloud SQL per SQL Server.

Vincoli per l'integrazione con progetti diversi

Se esegui l'integrazione con un dominio AD gestito in un altro progetto, si applicano i seguenti vincoli:

  • Fino a 10 reti con istanze Cloud SQL per SQL Server possono condividere un'istanza di Microsoft AD gestita che si trova in un altro progetto.
  • La console Google Cloud supporta solo istanze Microsoft AD gestite che si trovano nello stesso progetto. Anziché utilizzare la console Google Cloud, puoi eseguire l'integrazione utilizzando i comandi gcloud o l'API REST di Cloud SQL.
  • Se vengono utilizzati Controlli di servizio VPC, le istanze Cloud SQL per SQL Server e un'istanza Microsoft AD gestita devono trovarsi nello stesso perimetro.

Inoltre, se un'istanza è integrata con un dominio AD gestito in un progetto diverso, il nome di dominio completo (FQDN) visualizzato nella console Google Cloud potrebbe non essere preciso per l'istanza in questione. In particolare, nella pagina Panoramica dell'istanza, in Connetti a questa istanza, i nomi di dominio completi potrebbero contenere stringhe separate da barre che puoi ignorare. Ad esempio, un nome di dominio completo non corretto potrebbe essere visualizzato nel seguente modo:

private.myinstance.myregion.myproject.projects/mydirectory/locations/global/domains/mydomain.com

In questo caso, il nome di dominio completo preciso è:

private.myinstance.myregion.myproject.cloudsql.mydomain.com

Rimuovi autenticazione Windows da un'istanza

Puoi rimuovere l'autenticazione Windows, e quindi l'integrazione di Microsoft Active Directory gestito, da un'istanza esistente.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Fai clic su Modifica.
  4. Fai clic su Autenticazione. Il menu a discesa per unire un dominio Active Directory gestito elenca i domini Microsoft AD gestiti precedentemente aggiunti nel tuo progetto.
  5. Dal menu a discesa, seleziona Nessun dominio/Partecipa in un secondo momento per la tua istanza.
  6. Leggi il messaggio sul riavvio dell'istanza e fai clic su Chiudi.
  7. Fai clic su Salva per applicare le modifiche.

gcloud

Per rimuovere un'istanza da un dominio, rimuovendo così l'autenticazione Windows, utilizza un valore vuoto per il dominio. Ciò significa che, nel comando, utilizza un valore vuoto per il parametro --active-directory-domain, come segue:

gcloud beta sql instances patch INSTANCE_NAME \
--active-directory-domain=

REST

Utilizzando l'API REST, puoi rimuovere un'istanza da un dominio. Specifica un valore vuoto nel campo domain, come segue:

{
   "settings":{
      "activeDirectoryConfig":{
         "domain":""
      }
   }
}

Connettiti a un'istanza con un utente

Per Cloud SQL per SQL Server, l'utente predefinito è sqlserver.

Dopo aver integrato un'istanza con Microsoft AD gestito, puoi connetterti all'istanza con l'utente sqlserver, come indicato di seguito:

  1. Crea un accesso a SQL Server basato su un utente o gruppo Windows, come indicato di seguito:

    CREATE LOGIN [domain\user_or_group] FROM WINDOWS
    
  2. Accedi all'istanza utilizzando l'autenticazione di Windows con il nome DNS dell'istanza. Ecco alcuni esempi di nomi DNS di istanza da specificare:

    • Per connetterti tramite IP privato:

      private.myinstance.us-central1.myproject.cloudsql.mydomain.com
      

    • Per connetterti tramite IP pubblico:

      public.myinstance.us-central1.myproject.cloudsql.mydomain.com
      

    • Per connetterti tramite il proxy di autenticazione Cloud SQL (vedi anche di seguito):

      proxy.myinstance.us-central1.myproject.cloudsql.mydomain.com
      

    Se utilizzi l'indirizzo IP dell'istanza, devi configure i client Kerberos per supportare i nomi host IP. Cloud SQL non supporta gli accessi da domini collegati mediante una relazione di attendibilità.

Utilizzare il proxy di autenticazione Cloud SQL con l'autenticazione Windows

Puoi utilizzare il proxy di autenticazione Cloud SQL con l'integrazione di Microsoft Active Directory gestito.

Prima di iniziare, rivedi:

Passaggi per l'autenticazione Windows

Per informazioni generali sull'avvio del proxy di autenticazione Cloud SQL, consulta Avviare il proxy di autenticazione Cloud SQL.

Per l'autenticazione Windows, devi eseguire il proxy di autenticazione Cloud SQL sulla porta 1433. Per mappare una voce predefinita di nome entità di servizio (SPN) a un indirizzo proxy di autenticazione Cloud SQL, utilizza:

proxy.[instance].[location].[project].cloudsql.[domain]

Esegui il proxy di autenticazione Cloud SQL in locale

Se esegui il proxy di autenticazione Cloud SQL in locale, utilizza il file hosts per mappare quanto segue a 127.0.0.1:

proxy.[instance].[location].[project].cloudsql.[domain]

Ad esempio, potresti aggiungere quanto segue al file hosts (ad esempio a c:\windows\system32\drivers\etc\hosts):

127.0.0.1 proxy.[instance].[location].[project].cloudsql.[domain]

In questo esempio, potresti eseguire il proxy di autenticazione Cloud SQL utilizzando questo comando e renderlo disponibile su 127.0.0.1:1433:

cloud-sql-proxy.exe --credentials-file credential.json project:name

Eseguire il proxy di autenticazione Cloud SQL in modo non locale

Per eseguire il proxy di autenticazione Cloud SQL in modo non locale, segui le istruzioni in Esecuzione del proxy di autenticazione Cloud SQL in locale, ma utilizza una voce diversa nel file hosts.

Nello specifico, se un host non locale è, ad esempio, MyOtherHost, puoi aggiungere quanto segue al file hosts:

127.0.0.1 MyOtherHost proxy.[instance].[location].[project].cloudsql.[domain]

Risolvere i problemi relativi al fallback di Hadoop nei client

Se utilizzi l'autenticazione Windows e un indirizzo IP di istanza per accedere a un'istanza, devi configure un client Kerberos in modo che supporti i nomi host IP.

Cloud SQL non supporta l'autenticazione Hadoop, ma alcuni client Kerberos potrebbero provare a utilizzarla. Come discusso in questa sezione, se provi a connetterti con SQL Server Management Studio (SSMS) e viene visualizzato il seguente messaggio di errore, una probabile causa è il fallback di Hadoop:

Login failed. The login is from an untrusted domain and cannot be used with Integrated authentication. (Microsoft SQL Server, Error: 18452)

Hadoop è un insieme di protocolli di sicurezza Microsoft per l'autenticazione. Consulta anche Motivi per il fallback di RST.

Verifica di un elemento di riserva Hadoop per un client Windows

Da Windows, per verificare che un fallback di riserva abbia causato un errore:

  1. Accedi con le credenziali on-premise desiderate (non utilizzare "Esegui come...").
  2. Apri un prompt dei comandi.
  3. Esegui klist purge.
  4. Da SSMS, prova a connetterti a SQL Server con l'autenticazione Windows.
  5. Esegui klist e controlla se è stato emesso un biglietto per "MSSQLSvc/<address>:1433 @ domain".
  6. In assenza di ticket di questo tipo, è probabile che l'errore sia causato dal fallback di riserva.
  7. Se esiste un ticket di questo tipo, verifica che il driver SQL Server non applichi l'autenticazioneNTLM. Controlla inoltre se l'autenticazione LTI viene applicata tramite Criteri di gruppo.

Verifica di un fallback LTI per un client Linux

In Ubuntu 16.04, per verificare che un fallback di riserva abbia causato un errore, segui i passaggi descritti in questa sezione. I passaggi sono simili a quelli per le altre distribuzioni Linux.

Configura l'autenticazione Kerberos

  1. Configura un client Kerberos:

    sudo apt-get install krb5-user
    
  2. Quando ti viene richiesta l'area di autenticazione predefinita, digita un nome di dominio on-premise in lettere maiuscole.

  3. Esegui questo comando per installare gli strumenti a riga di comando di SQL Server:

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    sudo apt-get update
    sudo apt-get install mssql-tools unixodbc-dev
    

Connettiti all'autenticazione Windows

  1. Esegui lo strumento kinit come segue: kinit <user_account>
  2. Per connetterti all'autenticazione Windows, esegui: /opt/mssql-tools/bin/sqlcmd -S <address >>
  3. Esegui il comando klist e controlla se è stato emesso un ticket specifico per: "MSSQLSvc/<address>:1433 @ domain"
  4. Se il ticket non è stato emesso, l'errore riportato sopra probabilmente indica un problema che causa il fallback di Hadoop.

Motivi del fallback di uptime

Il fallback su GCE è un errore di configurazione del client che può essere associato alle seguenti condizioni:

  • Per impostazione predefinita, Windows non tenta l'autenticazione Kerberos per un host se il host è un indirizzo IP. Per attivare l'autenticazione Kerberos dal dominio gestito, prova il metodo descritto nella documentazione di Microsoft. Questo metodo non funziona con le credenziali on-premise quando devi utilizzare FQDNS.
  • L'autenticazione Kerberos su trust esterni non funziona. Utilizza invece i trust Forest, come descritto qui.
  • L'autenticazione Kerberos richiede il routing del suffisso del nome per attivare il rilevamento di servizi in un'altra foresta. Prova il metodo descritto qui.
  • L'autenticazione Kerberos non funziona se non esiste alcun SPN registrato per il servizio. Utilizza solo i nomi di dominio completi o gli indirizzi IP ottenuti dalla console Google Cloud per connetterti all'autenticazione Windows.

Utenti AD on-premise: creazione di un accesso a Windows

Puoi utilizzare un utente AD on-premise per creare un accesso Windows a Cloud SQL per SQL Server.

Ad esempio, puoi connetterti utilizzando SQL Server Management Studio (SMSS) in esecuzione su una VM Windows ospitata nel VPC (Virtual Private Cloud) del tuo progetto Google Cloud.

Per l'autenticazione Windows in questo contesto, Cloud SQL per SQL Server supporta solo il protocollo Kerberos. Per l'autenticazione Windows basata su Kerberos, il client deve risolvere il nome DNS dell'AD on-premise e dell'AD Microsoft gestito.

Configurare l'attendibilità unidirezionale o bidirezionale

Inizialmente, decidi se utilizzare una relazione di fiducia unidirezionale o bidirezionale.

Poi, segui le istruzioni per instaurare un rapporto di fiducia tra il dominio AD on-premise e il dominio Microsoft AD gestito.

configura una VM Windows e crea un accesso a Windows

Dopo aver stabilito un attendibilità tra il dominio AD on-premise e il dominio Microsoft AD gestito, completa i seguenti passaggi. Ad esempio, questi passaggi utilizzano SQL Server Management Studio (SSMS), in esecuzione su una VM Windows, ospitata nel VPC del tuo progetto Google Cloud:

  1. Creare una VM Windows.
    • Crea una VM con una versione di Windows supportata da Microsoft AD gestito.
    • Creare la VM nel progetto che ospita il dominio Microsoft AD gestito. Se esiste un VPC condiviso che è una rete autorizzata, puoi creare la VM anche in uno qualsiasi dei suoi progetti di servizio.
    • Crea la VM su una rete VPC che corrisponde a una rete autorizzata del dominio Microsoft AD gestito e in cui è configurato l'accesso privato ai servizi per Cloud SQL.
  2. Unisci la VM Windows al dominio Microsoft AD gestito.
  3. Installa SSMS sulla VM Windows.
  4. Risolvi il dominio on-premise nella rete VPC.
    • Dalla rete autorizzata su cui è in esecuzione la VM Windows, abilita la risoluzione DNS on-premise seguendo i passaggi descritti nella pagina Risolvere le query per gli oggetti Microsoft AD non gestiti. I passaggi riportati nella pagina sono prerequisiti affinché l'autenticazione Windows basata su Kerberos funzioni per gli utenti on-premise.
  5. Creare un accesso Windows per un utente on-premise.

    CREATE LOGIN [DOMAIN_NAME\USER_NAME] FROM WINDOWS
    
  6. Accedi all'istanza Cloud SQL per SQL Server utilizzando le istruzioni specifiche dell'applicazione per il logging di un utente on-premise. Ad esempio, se utilizzi SQL Server Management Studio, consulta queste istruzioni.

Se si verifica un problema durante l'accesso a un'istanza di Cloud SQL per SQL Server, esegui queste verifiche:

  • Verifica le configurazioni firewall della rete on-premise e del VPC autorizzato dal progetto, utilizzando le istruzioni per creare un trust con un dominio on-premise.
  • Verifica il Routing del suffisso nome per la relazione di attendibilità on-premise.
  • Verifica di poter eseguire queste operazioni di risoluzione DNS dalla VM Windows che esegue SSMS:
    • nslookup fqdn-for-managed-ad-domain
    • nslookup fqdn-for-on-premises-ad-domain
    • nslookup fqdn-for-cloud-sql-server-instance

Suggerimenti

  • Un'istanza con IP pubblico è supportata, purché abbia anche un IP privato; l'IP privato deve essere abilitato per l'istanza. Quindi puoi scegliere di utilizzare l'IP pubblico o l'IP privato per la connessione all'istanza, purché siano entrambi disponibili.
  • Prima di creare un'istanza, anche come istanza sostitutiva, controlla quanto segue in base alle esigenze:
  • Terraform è supportato.
  • Se visualizzi uno dei seguenti errori, verifica di aver soddisfatto tutti i prerequisiti per l'integrazione:
    • "Account di servizio per progetto e per prodotto non trovato"
    • "Autorizzazione insufficiente per l'integrazione con il dominio Managed Service for Microsoft Active Directory"
  • Se ricevi l'errore "Dominio non trovato", verifica che il nome di dominio sensibile alle maiuscole sia corretto.
  • Se l'autenticazione Windows non funziona da un dominio connesso tramite una relazione di attendibilità, verifica che l'autenticazione Windows funzioni per gli utenti di un dominio gestito. In caso affermativo:
    1. Verifica di aver utilizzato un nome DNS. Gli indirizzi IP non sono supportati dai domini collegati utilizzando una relazione di attendibilità.
    2. Assicurati di aver seguito tutti i passaggi per la creazione di un trust con un dominio on-premise, inclusa l'apertura di tutte le porte firewall.
    3. Convalida il trust.
    4. Verifica che la direzione dell'attendibilità consenta agli utenti del dominio (collegati tramite una relazione di attendibilità) di eseguire l'autenticazione nel dominio gestito.
    5. Verifica che il routing del suffisso del nome sia impostato sul dominio collegato tramite una relazione di attendibilità.
    6. Verifica che l'attendibilità funzioni senza utilizzare Cloud SQL per SQL Server:
      1. Creare una VM Windows.
      2. Aggiungilo al dominio Microsoft Active Directory gestito.
      3. Prova a eseguire, ad esempio, Blocco note come utente del dominio collegato tramite una relazione di attendibilità.
    7. Riavvia la VM client e ripeti l'autenticazione di Windows.
  • Potresti provare a creare un accesso a SQL Server, ma poi visualizzare il seguente errore: "Dominio utente o gruppo Windows NT\nnon trovato. Ricontrolla il nome." Questo problema potrebbe essersi verificato perché i gruppi locali del dominio non sono supportati. Se applicabile, utilizza invece gruppi globali o universali.
  • Quando vengono inviate da un utente da un dominio connesso tramite una relazione di attendibilità, le query SQL Server possono generare il seguente errore: "Impossibile ottenere informazioni sul gruppo/utente Windows NT". Questo errore può verificarsi, ad esempio, se stai creando accessi da domini collegati attraverso una relazione di attendibilità. L'errore può verificarsi anche se stai concedendo privilegi per gli accessi da domini collegati attraverso una relazione di attendibilità. In questi casi, provare a eseguire l'operazione ha spesso esito positivo. Se il nuovo tentativo non va a buon fine, chiudi la connessione e aprine una nuova.
  • Se visualizzi l'errore "Impossibile ottenere informazioni sul gruppo/utente Windows NT", controlla la connettività di rete ai domini on-premise utilizzando il file di log active_directory.log disponibile in Cloud Logging per l'istanza Cloud SQL per SQL Server. Questo file contiene la seguente diagnostica relativa alle modifiche di connettività al dominio on-premise:

    • Domini on-premise attendibili dall'istanza Cloud SQL per SQL Server. Ad esempio, il seguente log mostra il passaggio da nessun dominio attendibile a due nuovi domini attendibili come nomi NetBIOS ONPREM e CHILD:
      2023-06-12 20:55:09.975 Detected change in trusted onprem domains: Previously trusted onprem domains: []. Current trusted onprem domains: [ONPREM CHILD]
      
      Se un dominio on-premise non è elencato o è registrato come non attendibile, verifica che l'attendibilità esista nel dominio Managed AD e che sia convalidato. Se esiste un trust unidirezionale tra il dominio AD gestito e il dominio on-premise, gli altri domini on-premise considerati attendibili dal dominio on-premise potrebbero non essere visibili.
    • Domini on-premise raggiungibili e non raggiungibili che utilizzano un normale ping dall'istanza Cloud SQL per SQL Server. Ad esempio, il seguente log mostra la modifica da domini non raggiungibili a due nuovi domini raggiungibili, onprem.com e child.onprem.com:
      2023-06-12 20:55:10.664 Detected change in reachable onprem domains: Previously reachable onprem domains: []. Current reachable onprem domains: [onprem.com child.onprem.com]
      
      Se un dominio non è elencato nei log di connettività, assicurati prima che sia registrato come dominio attendibile. In caso contrario, la connettività non viene verificata. Esiste sempre un peering VPC tra un progetto con istanze on-premise e i progetti Google Cloud. Avere anche un solo peering VPC in più introduce una connessione di peering transitivo, che non è supportato da Cloud SQL. Ti consigliamo invece di utilizzare un tunnel VPN per connettere un dominio on-premise a Cloud SQL. Deve esistere al massimo una connessione in peering tra il progetto on-premise e il progetto Google Cloud con le istanze Cloud SQL per SQL Server.
    • Ping di chiamata di procedura remota Microsoft (MSRPC) riuscita e non riuscita a domini on-premise dall'istanza Cloud SQL per SQL Server. Ad esempio, il seguente log mostra la modifica che passa dall'assenza di domini MSRPC a due nuovi domini MSRPC sottoponibili, ONPREM e CHILD:
      2023-06-12 20:55:10.664 Detected change in MSRPC pingable domains: Previously pingable onprem domains: []. Current pingable onprem domains: [ONPREM CHILD]
      
      I ping MSRPC sono inclusi come diagnostica aggiuntiva e potrebbero non funzionare con alcune configurazioni. Puoi comunque verificare la connettività del dominio on-premise con le prime due diagnostica.
  • Se le query SQL Server restituiscono l'errore "L'accesso proviene da un dominio non attendibile", tieni presente che gli indirizzi IP non sono supportati per gli utenti di domini collegati tramite una relazione di attendibilità. Inoltre, potrebbero risolvere il problema le seguenti azioni:

    • Se viene utilizzato un indirizzo IP per connettere gli utenti da un dominio gestito, segui queste istruzioni.
    • Evita di utilizzare proxy e usa sempre lo stesso nome DNS per connetterti a Cloud SQL per SQL Server, come viene visualizzato nella console Google Cloud.
    • Elimina definitivamente i ticket Kerberos esistenti. L'errore riportato sopra potrebbe verificarsi se un client recentemente è stato connesso a un'istanza di Cloud SQL per SQL Server e l'istanza è stata arrestata e avviata. In alternativa, l'errore potrebbe verificarsi se l'autenticazione Windows è stata disabilitata e poi riattivata per l'istanza Cloud SQL per SQL Server. Se il client utilizza la cache delle credenziali di Windows, blocca e sblocca la workstation client o esegui klist purge.
  • Un tentativo di abilitare l'autenticazione di Windows potrebbe causare l'errore: "Questa istanza avrà bisogno di una data di creazione più recente per supportare Managed Service per Microsoft Active Directory". Tieni presente quanto segue in merito a questo errore:

    • In Cloud SQL, se un'istanza di Cloud SQL per SQL Server è stata creata il 12 marzo 2021 o prima di questa data, non può essere integrata con Microsoft AD gestito.
    • In alcuni casi, se crei un'istanza di Cloud SQL per SQL Server e non attivi Microsoft AD gestito al momento della creazione, potresti visualizzare lo stesso errore. Dopo aver esaminato gli altri tips in questa sezione, crea una nuova istanza, abilitando Microsoft AD gestito quando crei l'istanza.
  • Un tentativo di creare un'istanza Cloud SQL per SQL Server potrebbe causare l'errore "Questa istanza non supporta Managed Service for Microsoft Active Directory". Se ricevi questo errore, il progetto potrebbe non essere supportato. Prova a utilizzare un altro progetto.

  • Se un'istanza presenta problemi con l'autenticazione Windows (indipendentemente dal fatto che l'istanza sia stata aggiornata di recente o meno), prova a annullare la partecipazione al dominio Active Directory gestito e quindi a partecipare di nuovo. Per farlo, utilizza la procedura di aggiornamento per annullare la partecipazione e quindi rientrare nel dominio. Questa operazione non comporta la rimozione di eventuali utenti autenticati con Windows o accessi esistenti nei tuoi database. Tuttavia, la rimozione dell'autenticazione Windows determina il riavvio di un'istanza.

  • Utilizza lo strumento di diagnostica di AD per risolvere i problemi di configurazione di AD nel tuo dominio on-premise e nelle istanze di Cloud SQL per SQL Server nella console Google Cloud.

Risolvere i problemi

Per informazioni dettagliate, fai clic sui link nella tabella:

Per questo errore... Il problema potrebbe essere... Prova questa procedura...
Per-product, per-project service account not found. Il nome dell'account di servizio non è corretto. Nella pagina Account di servizio, assicurati di aver creato un account di servizio per il progetto utente corretto.
Insufficient permission to integrate with Managed Service for Microsoft Active Directory domain. Ruolo managedidentities.sqlintegrator mancante nell'account di servizio. Dalla pagina IAM e amministrazione, aggiungi il ruolo managedidentities.sqlintegrator sul tuo account di servizio.
Domain not found. Il dominio non esiste o è stato digitato in modo errato. Assicurati che il nome di dominio sia corretto. È sensibile alle maiuscole.
The domain is busy with another operation. Please retry. Un'altra istanza Cloud SQL sta eseguendo un'operazione sullo stesso dominio Managed Active Directory. Riprova a eseguire l'operazione. Se esegui un batch di aggiornamenti delle istanze Cloud SQL collegate allo stesso dominio, limita il numero di aggiornamenti eseguiti in parallelo.
The operation completed but an update to Active Directory failed. You may experience issues with Windows Authentication on this instance, please see https://cloud.google.com/sql/docs/sqlserver/configure-ad for tips. Impossibile eseguire gli aggiornamenti richiesti sul dominio Active Directory gestito. Se riscontri problemi con l'autenticazione Windows, puoi provare ad annullare la partecipazione al dominio Active Directory gestito e quindi a partecipare di nuovo. Per farlo, utilizza la procedura di aggiornamento per annullare la partecipazione al dominio e quindi rientrarvi. Questa operazione non rimuove gli utenti autenticati con Windows o gli accessi esistenti nei tuoi database. Tuttavia, la rimozione dell'autenticazione Windows determina il riavvio di un'istanza.
This instance would need a more recent creation date to support Managed Service for Microsoft Active Directory. In Cloud SQL, se un'istanza di Cloud SQL per SQL Server è stata creata il 12 marzo 2021 o prima di questa data, non può essere integrata con Microsoft AD gestito. Prova a eseguire l'operazione su un'istanza creata dopo il 12 marzo 2021.

Passaggi successivi

  • Conferma di aver esaminato attentamente la pagina della panoramica, che include limitazioni e funzionalità non supportate. La pagina include anche i link a documentazione aggiuntiva.