Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
Databricks Serverless Private Git è disponibile in anteprima pubblica. I costi di calcolo e rete si applicano quando le risorse di calcolo serverless si connettono a risorse esterne. Per informazioni dettagliate sulla fatturazione, vedere Informazioni sui costi di rete serverless di Databricks .
Databricks Serverless Private Git consente di connettere un'area di lavoro di Databricks a un server Git privato usando il calcolo serverless e il collegamento privato di Azure. Un server Git è privato se gli utenti Internet non possono accedervi.
Il diagramma seguente illustra l'architettura complessiva del sistema:
Perché usare Git privato serverless?
Rispetto al proxy del server Git, Serverless Git privato offre i seguenti vantaggi:
- Git privato serverless acquisisce il calcolo serverless solo quando riceve una richiesta Git e può essere inattivo quando non è in uso. Al contrario, il proxy Git richiede che il cluster proxy sia attivo quando l'utente invia una richiesta Git.
- Serverless Git privato usa Azure Private Link per collegarsi in modo sicuro all'istanza Git privata.
Requisiti
- Abilitare il calcolo serverless per l'area di lavoro.
- Posizionare il server Git privato nella stessa rete virtuale di Azure di Load Balancer Standard.
- Verificare che il server Git privato abbia un certificato firmato e un nome di dominio completo (FQDN) HTTPS valido.
- Configurare la VNet con uno Standard Load Balancer (SLB) per il servizio Private Link.
Configurare Git privato serverless
- Seguire la procedura per configurare la connettività privata alle risorse nella rete virtuale. In questo modo, è possibile creare una connessione Azure Private Link da "Serverless" ai backend nella rete dietro un bilanciatore del carico software.
- Creare una configurazione di connettività di rete (NCC) per configurare l'uscita in un servizio di bilanciamento del carico standard.
- È possibile configurare un solo NCC per area di lavoro per Git privato. Se l'area di lavoro si connette a più server Git privati, devono usare tutti lo stesso NCC.
- Per le limitazioni NCC, ad esempio limiti regionali e limiti di collegamento al workspace, consultare Requisiti.
- Ottieni un token API dell'account usando una principale del servizio con accesso a livello di account.
curl --location 'https://accounts.azuredatabricks.net/oidc/accounts/{accountid}/v1/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=SP_CLIENT_ID_HERE' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default' \
--data-urlencode 'client_secret=SP_CLIENT_SECRET_HERE'
La risposta contiene un token di accesso:
{ "access_token": "...", "scope": "all-apis", "token_type": "Bearer", "expires_in": 3600 }
In alternativa, è possibile usare un token di accesso microsoft Entra ID:
BEARER_TOKEN=$(az account get-access-token --resource \
2ff814a6-3304-4ab8-85cb-cd0e6f879c1d --query "accessToken" -o tsv)
- Aggiungere una regola per l'endpoint privato per definire la logica relativa al DNS tramite l'API.
Nell'esempio specificare quanto segue:
- ID dell'account
- NCC ID (Identificativo NCC)
- Token OAuth dell'account
- ID risorsa del servizio Private Link
- FQDN del server Git nell'elenco
domain_name
curl --location 'https://accounts.azuredatabricks.net/api/2.0/accounts/{accountid}/network-connectivity-configs/{nccid}/private-endpoint-rules' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer BEARER_TOKEN' \
--data '{
"resource_id": "/subscriptions/3f262328b/resourceGroups/rg/providers/Microsoft.Network/privateLinkServices/example",
"domain_names": ["git-server.contoso.com"]
}'
La risposta contiene i dettagli della regola dell'endpoint privato:
{
"rule_id": "843ba2e5-bbbb-bbbb-bbbb-7f0d55555215",
"network_connectivity_config_id": "5a9bdc5f-c43d-41cd-9a6d-1b653e20c7d2",
"resource_id": "/subscriptions/3f262328b/resourceGroups/rg/providers/Microsoft.Network/privateLinkServices/example",
"endpoint_name": "databricks-5a9bdc5f-c43d-41cd-9a6d-1b653e20c7d2-pe-99cbbac3",
"connection_state": "PENDING",
"creation_time": 1740000647980,
"updated_time": 1740000647949,
"domain_names": ["git-server.contoso.com"]
}
- Attendere alcuni minuti dopo aver configurato le regole dell'endpoint privato NCC. Il NCC visualizza la regola dell'endpoint privato con uno stato in sospeso.
- Approvare la connessione all'endpoint privato in sospeso nel servizio Private Link che hai configurato nel passaggio 1.
- Tornare al NCC all'interno della console dell'account e verificare che sia stato configurato.
- Eseguire un'operazione Git nell'area di lavoro. Un indicatore dell'interfaccia utente conferma che Serverless Private Git è attivo. L'indicatore potrebbe impiegare alcuni secondi per apparire mentre il calcolo serverless si avvia.
Dopo averlo configurato, Serverless Private Git ha la precedenza su altre forme di connettività Git privata già fornite, come il proxy Git classico. Se hai in esecuzione un cluster proxy Git classico, spegnilo dopo aver configurato il Git serverless privato.
Configurazioni aggiuntive
Personalizzare le operazioni Git usando un file di configurazione.
- Creare un file di configurazione a
/Workspace/.git_settings/config.jsonseguendo la specifica seguente. - Concedere a tutti gli utenti Git le autorizzazioni di visualizzazione al file di configurazione e ai file di certificato della CA a cui fa riferimento.
- Convalidare la connettività al git remoto eseguendo un'operazione Git, ad esempio la clonazione di una cartella Git.
- L'applicazione delle modifiche al file di configurazione può richiedere fino a un minuto.
Struttura di file di configurazione di primo livello
{
"default": { ... }, // Optional global settings
"remotes": [ ... ] // Optional list of per-remote settings
}
default sezione (facoltativo)
Le impostazioni predefinite globali si applicano a tutte le operazioni Git, a meno che non venga eseguito un override remoto specifico.
| Campo | TIPO | Obbligatorio | Valore predefinito | Description |
|---|---|---|---|---|
sslVerify |
boolean | NO | true | Indica se verificare i certificati SSL. |
caCertPath |
corda | NO | "" (vuoto) | Percorso nel workspace per un certificato CA personalizzato. |
httpProxy |
corda | NO | "" (vuoto) | Proxy HTTP da utilizzare per instradare il traffico Git. |
customHttpPort |
numero intero | NO | Non specificato | Porta HTTP personalizzata del server Git. |
remotes sezione (facoltativo)
Elenco di oggetti che definiscono le impostazioni per singoli server Git remoti. Queste impostazioni sostituiscono il default blocco su base remota.
| Campo | TIPO | Obbligatorio | Valore predefinito | Description |
|---|---|---|---|---|
| urlPrefix | corda | Yes | — | Prefisso per corrispondere agli URL remoti Git. |
| sslVerify | boolean | NO | true | Indica se verificare i certificati SSL. |
| caCertPath | corda | NO | "" (vuoto) | Percorso dell'area di lavoro per il percorso di un certificato CA personalizzato per questo ambiente remoto. |
| httpProxy | corda | NO | "" (vuoto) | Proxy HTTP da utilizzare per instradare il traffico Git. |
| customHttpPort (porta HTTP personalizzata) | numero intero | NO | Non specificato | Porta HTTP personalizzata del server Git. |
Configurazione di esempio senza configurazione specifica remota
{
"default": {
"sslVerify": false
}
}
Esempio di configurazione completa
{
"default": {
"sslVerify": true,
"caCertPath": "/Workspace/my_ca_cert.pem",
"httpProxy": "https://git-proxy-server.company.com",
"customHttpPort": "8080"
},
"remotes": [
{
"urlPrefix": "https://my-private-git.company.com/",
"caCertPath": "/Workspace/my_ca_cert_2.pem"
},
{
"urlPrefix": "https://another-git-server.com/project.git",
"sslVerify": false
}
]
}
Note
- La
defaultsezione deve essere almeno parzialmente presente. - La sezione
remotesè facoltativa. Se incluso, ogni voce deve includere un campourlPrefix. - I campi non specificati usano i valori predefiniti.
- I campi sconosciuti vengono ignorati.
Limitazioni
- I log dei proxy serverless non sono disponibili.
- Il servizio Serverless Private Git è disponibile solo nelle aree serverless di Azure.