Elementi interni del connettore di servizi

Service Connector è un provider di risorse di estensione di Azure progettato per offrire un modo semplice per creare e gestire le connessioni tra i servizi di Azure.

Service Connector offre le funzionalità seguenti:

  • Consente di connettere i servizi di Azure con un singolo comando dell'interfaccia della riga di comando di Azure o in pochi passaggi usando il portale di Azure.
  • Supporta un numero crescente di database, archiviazione, servizi in tempo reale, stato e archivi segreti usati con l'applicazione nativa del cloud.
  • Configura le impostazioni di rete, l'autenticazione e gestisce automaticamente le variabili o le proprietà dell'ambiente di connessione.
  • Convalida le connessioni e fornisce suggerimenti per correggere le connessioni non corrette.

Panoramica della connessione al servizio

Il concetto di connessione al servizio è un concetto chiave nel modello di risorse di Service Connector. Una connessione al servizio rappresenta un'astrazione del collegamento tra due servizi. Le connessioni al servizio hanno le proprietà seguenti:

Proprietà Descrizione
Nome connessione Nome univoco della connessione al servizio.
Tipo di servizio di origine I servizi di origine sono servizi che è possibile connettere ai servizi di destinazione. In genere sono servizi di calcolo di Azure e includono servizio app Azure, app di Azure Container, Funzioni di Azure, servizio Azure Kubernetes (AKS) e App Azure Spring.
Tipo di servizio di destinazione I servizi di destinazione sono servizi di backup o servizi di dipendenza a cui si connettono i servizi di calcolo. Service Connector supporta vari tipi di servizio di destinazione, tra cui database principali, archiviazione, servizi in tempo reale, stato e archivi segreti.
Tipo di client Il tipo di client fa riferimento allo stack di runtime di calcolo, al framework di sviluppo o a un tipo specifico di libreria client che accetta il formato specifico delle variabili o delle proprietà di ambiente di connessione.
Tipo di autenticazione Tipo di autenticazione utilizzato per la connessione al servizio. Potrebbe trattarsi di un segreto/stringa di connessione, di un'identità gestita o di un'entità servizio.

I servizi di origine e i servizi di destinazione supportano più connessioni di servizio simultanee, il che significa che è possibile connettere ogni risorsa a più risorse.

Service Connector gestisce le connessioni nelle proprietà dell'istanza di origine. La creazione, l'aggiornamento e l'eliminazione delle connessioni viene eseguita direttamente aprendo l'istanza del servizio di origine nel portale di Azure o usando i comandi dell'interfaccia della riga di comando del servizio di origine.

Le connessioni possono essere effettuate tra sottoscrizioni o tenant, ovvero i servizi di origine e di destinazione possono appartenere a sottoscrizioni o tenant diversi. Quando si crea una nuova connessione al servizio, la risorsa di connessione viene creata nella stessa area dell'istanza del servizio di calcolo per impostazione predefinita.

Creazione e aggiornamento della connessione al servizio

Service Connector esegue più attività durante la creazione o l'aggiornamento delle connessioni al servizio, tra cui:

  • Configurazione delle impostazioni di rete e firewall. Altre informazioni sulle soluzioni di rete.

  • Configurazione delle informazioni di connessione. Altre informazioni sulle configurazioni di connessione.

  • Configurazione delle informazioni di autenticazione. Service Connector supporta tutti i tipi di autenticazione disponibili tra i servizi di origine e i servizi di destinazione.

    • Identità gestita assegnata dal sistema. Service Connector abilita l'identità gestita assegnata dal sistema nei servizi di origine, se non è ancora abilitata, concede i ruoli controllo degli accessi in base al ruolo dei servizi di destinazione all'identità gestita. L'utente può specificare i ruoli da concedere.
    • Identità gestita assegnata dall'utente. Service Connector abilita l'identità gestita assegnata dall'utente nei servizi di origine, se non è ancora abilitata, concede i ruoli controllo degli accessi in base al ruolo dei servizi di destinazione all'identità gestita. L'utente può specificare i ruoli da concedere.
    • Stringa di connessione. Service Connector recupera stringa di connessione dai servizi di destinazione, ad esempio Archiviazione, Cache Redis e così via, o costruisce stringa di connessione in base all'input dell'utente, ad esempio database di Azure per SQL, PostgreSQL e così via.
    • Entità servizio. Service Connector concede i ruoli controllo degli accessi in base al ruolo dei servizi di destinazione all'identità gestita. L'utente può specificare i ruoli da concedere.

    Service Connector salva le configurazioni di autenticazione corrispondenti nei servizi di origine, ad esempio salvando AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_STORAGEACCOUNT_ENDPOINT per Archiviazione con tipo di autenticazione identità gestita assegnata dall'utente.

  • Creazione o aggiornamento del rollback della connessione in caso di errore

Se un passaggio ha esito negativo durante questo processo, Service Connector esegue il rollback di tutti i passaggi precedenti per mantenere le impostazioni iniziali nelle istanze di origine e di destinazione.

Provider di risorse

Microsoft.ServiceLinker è il nome del provider di risorse di Service Connector.

Quando un utente apre la scheda Service Connector nella portale di Azure, il provider di risorse ServiceLinker viene registrato automaticamente nella sottoscrizione attiva dell'utente. L'utente che ha generato la registrazione viene elencato come iniziatore dell'evento di registrazione.

Service Connector consente agli utenti di connettere i servizi tra sottoscrizioni. Quando un utente crea una connessione a un servizio di destinazione registrato in un'altra sottoscrizione, Il linker del servizio viene registrato anche nella sottoscrizione del servizio di destinazione. Questa registrazione si verifica quando l'utente seleziona la scheda Rivedi e crea prima di creare la connessione.

Configurazioni di connessione

Le configurazioni di connessione vengono impostate nel servizio di origine.

Nella portale di Azure aprire un servizio di origine e passare a Service Connector. Espandere ogni connessione e visualizzare le configurazioni di connessione.

Screenshot del portale di Azure che mostra i dettagli della connessione al servizio.

Nell'interfaccia della riga di comando usare il list-configuration comando per ottenere le configurazioni di connessione.

az webapp connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
az spring connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
az containerapp connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>

Convenzione di denominazione della configurazione

Service Connector imposta la configurazione della connessione durante la creazione di una connessione. Le coppie chiave-valore della variabile di ambiente vengono determinate in base al tipo di client e al tipo di autenticazione. Ad esempio, l'uso di Azure SDK con un'identità gestita richiede un ID client, un segreto client e così via. L'uso di un driver JDBC richiede un stringa di connessione di database. Seguire queste convenzioni per denominare le configurazioni:

  • Client Spring Boot: la libreria Spring Boot per ogni servizio di destinazione ha una propria convenzione di denominazione. Ad esempio, le impostazioni di connessione mySQL sono spring.datasource.url, , spring.datasource.usernamespring.datasource.password. Le impostazioni di connessione Kafka sono spring.kafka.properties.bootstrap.servers.

  • Altri client:

    • Il nome della chiave della prima configurazione della connessione usa il formato <Cloud>_<Type>_<Name>. Ad esempio, AZURE_STORAGEBLOB_RESOURCEENDPOINT, CONFLUENTCLOUD_KAFKA_BOOTSTRAPSERVER.
    • Per lo stesso tipo di risorsa di destinazione, il nome della chiave della seconda configurazione di connessione usa il formato <Cloud>_<Type>_<Connection Name>_<Name>. Ad esempio, AZURE_STORAGEBLOB_CONN2_RESOURCEENDPOINT, CONFLUENTCLOUD_KAFKA_CONN2_BOOTSTRAPSERVER.

Soluzione di rete del servizio

Service Connector offre tre soluzioni di rete tra cui gli utenti possono scegliere durante la creazione di una connessione. Queste soluzioni sono progettate per facilitare la comunicazione sicura ed efficiente tra le risorse.

  1. Firewall: questa soluzione consente la connessione tramite la rete pubblica e la risorsa di calcolo che accede alla risorsa di destinazione con indirizzo IP pubblico. Quando si seleziona questa opzione, Service Connector verifica le impostazioni del firewall della risorsa di destinazione e aggiunge una regola per consentire le connessioni dall'indirizzo IP pubblico della risorsa di origine. Se il firewall della risorsa supporta l'accesso a tutte le risorse di Azure, Service Connector abilita questa impostazione. Tuttavia, se la risorsa di destinazione nega tutto il traffico di rete pubblico per impostazione predefinita, Service Connector non modifica questa impostazione. In questo caso, è necessario scegliere un'altra opzione o aggiornare manualmente le impostazioni di rete prima di riprovare.

  2. Endpoint servizio: questa soluzione consente alla risorsa di calcolo di connettersi alle risorse di destinazione tramite una rete virtuale, assicurandosi che il traffico di connessione non passi attraverso la rete pubblica. È disponibile solo se vengono soddisfatte determinate precondizioni:

    • La risorsa di calcolo deve avere l'integrazione della rete virtuale abilitata. Per app Azure Servizio, può essere configurato nelle impostazioni di rete. Per Azure Spring Apps, gli utenti devono impostare Rete virtuale injection durante la fase di creazione della risorsa.
    • Il servizio di destinazione deve supportare l'endpoint di servizio. Per un elenco dei servizi supportati, vedere Rete virtuale endpoint di servizio.

    Quando si seleziona questa opzione, Service Connector aggiunge l'indirizzo IP privato della risorsa di calcolo nella rete virtuale alle regole di Rete virtuale della risorsa di destinazione e abilita l'endpoint servizio nella configurazione della subnet della risorsa di origine. Se l'utente non dispone di autorizzazioni sufficienti o se lo SKU o l'area della risorsa non supporta gli endpoint di servizio, la creazione della connessione non riesce.

  3. Endpoint privato: questa soluzione è un modo consigliato per connettere le risorse tramite una rete virtuale ed è disponibile solo se vengono soddisfatte determinate precondizioni:

  • La risorsa di calcolo deve avere l'integrazione della rete virtuale abilitata. Per app Azure Servizio, può essere configurato nelle impostazioni di rete. Per Azure Spring Apps, gli utenti devono impostare l'inserimento della rete virtuale durante la fase di creazione della risorsa.

  • Il servizio di destinazione deve supportare gli endpoint privati. Per un elenco dei servizi supportati, vedere Risorsa collegamento privato.

    Quando si seleziona questa opzione, Service Connector non esegue altre configurazioni nelle risorse di calcolo o di destinazione. Verifica invece l'esistenza di un endpoint privato valido e non riesce la connessione se non viene trovata. Per praticità, gli utenti possono selezionare la casella di controllo "Nuovo endpoint privato" nella portale di Azure durante la creazione di una connessione. Con esso, Service Connector crea automaticamente tutte le risorse correlate per l'endpoint privato nella sequenza corretta, semplificando il processo di creazione della connessione.

Convalida della connessione al servizio

Quando si convalida una connessione, Service Connector controlla gli elementi seguenti:

  • Le risorse di origine e di destinazione esistono.
  • Origine: le informazioni di connessione corrette sono registrate.
  • Destinazione: vengono registrate le impostazioni di rete e firewall corrette.
  • Risorse di origine e di destinazione: le informazioni di autenticazione corrette sono registrate.

Eliminazione della connessione

Quando viene eliminata una connessione al servizio, vengono eliminate anche le informazioni di connessione.

Passaggi successivi

Per altre informazioni su Service Connector, vedere l'articolo sul concetto seguente.