Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
Note
Databricks Serverless Private Git est disponible en préversion publique. Les coûts de calcul et de mise en réseau s’appliquent lorsque les ressources de calcul serverless se connectent à des ressources externes. Pour les détails de facturation, consultez Comprendre les coûts de mise en réseau Serverless Databricks.
Databricks Serverless Private Git vous permet de connecter un espace de travail Databricks à un serveur Git privé à l’aide du calcul serverless et d’Azure Private Link. Un serveur Git est privé si les utilisateurs Internet ne peuvent pas y accéder.
Le diagramme suivant illustre l’architecture système globale :
Pourquoi utiliser Git Serverless privé ?
Par rapport au proxy de serveur Git, Git privé serverless offre les avantages suivants :
- Serverless Private Git n'acquiert le calcul serverless que lorsqu’il reçoit une requête Git et reste inactif lorsqu’il n'est pas utilisé. En revanche, le proxy Git nécessite que le cluster proxy soit actif lorsque l’utilisateur envoie une demande Git.
- Git privé sans serveur utilise Azure Private Link pour se connecter en toute sécurité à l’instance Git privée.
Spécifications
- Activez le calcul serverless pour l’espace de travail.
- Placez le serveur Git privé dans le même réseau virtuel Azure que l’équilibreur de charge standard.
- Vérifiez que le serveur Git privé dispose d’un certificat signé et d’un nom de domaine complet (FQDN) HTTPS valide.
- Configurez le réseau virtuel avec un équilibreur de charge standard (SLB) pour le service Private Link.
Configurer un Git privé sans serveur
- Suivez les étapes pour configurer la connectivité privée aux ressources de votre réseau virtuel. Cela vous permet de créer une connexion Azure Private Link de Serverless aux back-ends de votre réseau derrière un SLB.
- Créez une configuration de connectivité réseau (NCC) pour configurer la sortie vers un équilibreur de charge standard.
- Vous ne pouvez configurer qu’une seule CCN par espace de travail pour Git privé. Si l’espace de travail se connecte à plusieurs serveurs Git privés, ils doivent tous utiliser la même CCN.
- Pour les limitations de NCC, telles que les limites régionales et les limites concernant les pièces jointes à l’espace de travail, consultez Exigences.
- Obtenez un jeton d’API de compte à l’aide d’un principal de service avec un accès au niveau du compte.
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 réponse contient un jeton d’accès :
{ "access_token": "...", "scope": "all-apis", "token_type": "Bearer", "expires_in": 3600 }
Vous pouvez également utiliser un jeton d’accès Microsoft Entra ID :
BEARER_TOKEN=$(az account get-access-token --resource \
2ff814a6-3304-4ab8-85cb-cd0e6f879c1d --query "accessToken" -o tsv)
- Ajoutez une règle de point de terminaison privé pour définir une logique DNS à l’aide de l’API.
Dans l’exemple, spécifiez les éléments suivants :
- ID de compte
- ID DE LA NCMC
- Jeton OAuth de compte
- ID de ressource du service de lien privé
- Nom de domaine complet du serveur Git dans la
domain_nameliste
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 réponse contient les détails de la règle de point de terminaison privé :
{
"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"]
}
- Patientez quelques minutes après avoir configuré les règles de point de terminaison privé de la CCN. Le NCC affiche la règle de point de terminaison privée avec un statut en attente.
- Approuvez la connexion de point de terminaison privé en attente dans le service Private Link que vous avez configuré à l’étape 1.
- Revenez à la CCN à l’intérieur de la console de compte et vérifiez qu’elle a été établie.
- Effectuez une opération Git dans l’espace de travail. Un indicateur d’interface utilisateur confirme que Git privé serverless est actif. L’indicateur peut prendre quelques secondes pour apparaître pendant le démarrage du calcul serverless.
Une fois que vous l’avez configuré, Serverless Git privé prend la priorité sur d’autres formes de connectivité Git privée que vous avez déjà configurées, telles que le proxy Git classique. Si vous disposez d’un cluster proxy Git classique en cours d’exécution, arrêtez-le après avoir configuré Serverless Private Git.
Configurations supplémentaires
Personnalisez les opérations Git à l’aide d’un fichier de configuration.
- Créez un fichier de configuration en
/Workspace/.git_settings/config.jsonsuivant la spécification ci-dessous. - Accordez à tous les utilisateurs Git des autorisations d’affichage au fichier de configuration et à tous les fichiers de certificat d’autorité de certification qu’il référence.
- Validez la connectivité à git distante en effectuant une opération Git, telle que le clonage d’un dossier Git.
- Le système peut prendre jusqu’à une minute pour appliquer des modifications de fichier de configuration.
Structure de fichier de configuration de niveau supérieur
{
"default": { ... }, // Optional global settings
"remotes": [ ... ] // Optional list of per-remote settings
}
default section (facultatif)
Les valeurs par défaut globales s’appliquent à toutes les opérations Git, sauf si un remote spécifique les remplace.
| Terrain | Type | Obligatoire | Valeur par défaut | Descriptif |
|---|---|---|---|---|
sslVerify |
boolean | Non | true | Indique s’il faut vérifier les certificats SSL. |
caCertPath |
ficelle | Non | « » (vide) | Chemin d'accès de l'espace de travail vers un certificat d'autorité de certification personnalisé. |
httpProxy |
ficelle | Non | « » (vide) | Proxy HTTP pour acheminer le trafic Git via. |
customHttpPort |
entier | Non | Non spécifié | Port HTTP personnalisé du serveur Git. |
remotes section (facultatif)
Liste des objets définissant des paramètres pour des serveurs Git distants individuels. Ces paramètres remplacent le default bloc par distance.
| Terrain | Type | Obligatoire | Valeur par défaut | Descriptif |
|---|---|---|---|---|
| urlPrefix | ficelle | Oui | — | Préfixe pour faire correspondre les URL de télécommande Git. |
| sslVerify | boolean | Non | true | Indique s’il faut vérifier les certificats SSL. |
| caCertPath | ficelle | Non | « » (vide) | Chemin d’accès de l’espace de travail à un chemin d’accès de certificat d’autorité de certification personnalisé pour cette connexion distante. |
| httpProxy | ficelle | Non | « » (vide) | Proxy HTTP pour acheminer le trafic Git via. |
| customHttpPort | entier | Non | Non spécifié | Port HTTP personnalisé du serveur Git. |
Exemple de configuration sans configuration spécifique pour les systèmes distants
{
"default": {
"sslVerify": false
}
}
Exemple de configuration complète
{
"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
}
]
}
Remarques
- La
defaultsection doit être au moins partiellement présente. - La section
remotesest facultative. Si elle est incluse, chaque entrée doit inclure unurlPrefixchamp. - Les champs non spécifiés utilisent leurs valeurs par défaut.
- Les champs inconnus sont ignorés.
Limites
- Les journaux de proxy serverless ne sont pas disponibles.
- Git privé sans serveur est disponible uniquement dans les régions sans serveur d'Azure.