Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Fabric Git-integrasjon er grunnlaget for organisasjoner som implementerer fullstendig automatiserte CI/CD-pipelines, noe som muliggjør sømløs bevegelse av eiendeler på tvers av utviklings-, test- og produksjonsmiljøer.
For øyeblikket støtter Fabric Git Integration to store Git-leverandører:
- Azure DevOps
- GitHub
Denne artikkelen fokuserer på Service Principal-funksjonaliteten for Azure DevOps. Denne integreringen gjør det mulig for Fabric-brukeren å utføre git-operasjoner ved hjelp av en tjenestekontohaver.
Azure DevOps: Autentisering - automatisk og konfigurert
Som standard er ikke hvert Fabric-arbeidsområde koblet til noe Git-repositorium. Et Fabric-arbeidsområde har to forskjellige måter den kan autentisere til et git-repositorium på. Disse prosessene kalles:
- Automatisk git-legitimasjon
- Konfigurert legitimasjon
Automatisk git-legitimasjon
Når en admin-bruker ønsker å koble et arbeidsområde til et Azure DevOps (ADO)-repositorium, må brukeren først logge inn fra arbeidsområdets innstillinger, og systemet identifiserer deretter hvilke ADO-organisasjoner brukeren kan få tilgang til innenfor den nåværende Fabric-tenanten, slik at brukeren kan fortsette med konfigurasjonen.
Når den opprinnelige tilkoblingen er etablert, trenger ikke noen ekstra bruker med minst bidragsyterrettigheter på samme arbeidsområde å gjenta tilkoblingsprosessen. I stedet forsøker systemet å autentisere den andre brukeren med det konfigurerte ADO-arkivet. Hvis brukeren mangler nødvendige tillatelser, viser kildekontrollpanelet for Fabric Git Integration en rød indikator.
Denne strømlinjeformede autentiseringsprosessen kalles "Automatisk Git-legitimasjon".
Konfigurert legitimasjon
Med konfigurert legitimasjon kan du programmatisk opprette en Azure DevOps-skytilkobling ved hjelp av en tjenesteprinsipp.
Azure DevOps-tilkoblingen støtter to autentiseringsmetoder:
- OAuth 2.0
- Tjenestekontohaver
Begge metodene inkluderer støtte for multi-tenant (cross-tenant) scenarier, noe som gir organisasjoner fleksibilitet på tvers av miljøer.
Enhver annen bruker med minst bidragsyterrettigheter på samme arbeidsområde trenger ikke å gjenta tilkoblingsprosessen. Før støtte for tjenesteprincipaler forsøkte systemet å autentisere sekundære brukere kun gjennom automatisk autentisering.
Hvis automatisk autentisering feiler, forsøker systemet også å koble til med hvilken som helst konfigurert legitimasjon brukeren har tilgang til, noe som sikrer en smidigere opplevelse og reduserer overflødige oppsettsteg.
Hvordan det fungerer
For å koble et Fabric-arbeidsområde til en ekstern Git-leverandør ved bruk av en Service Principal, må Git-integrasjon bruke en Fabric-skytilkobling av typen Azure DevOps – Source Control.
Denne skyforbindelsen kan opprettes på to måter via portalen:
- Manuelt via Administrer tilkoblingsinnstillinger
- Gjennom arbeidsområdets innstillinger ved å bruke alternativet Legg til konto.
I begge tilfeller opprettes forbindelsen under den innloggede brukerens identitet.
Hvis en tjenesteleder trenger å bruke denne tilkoblingen, må brukeren enten gjøre det
- Del forbindelsen med tjenesteansvarlig
- opprett en ny tilkobling ved bruk av Connections REST API, og sender Service Principal-legitimasjonen.
Stegene nedenfor viser hvordan du bruker API-et til å opprette skyforbindelsen ved hjelp av en tjenesteprinsipp.
Forutsetninger
For å fullføre trinnene som er skissert, trenger du følgende tillatelser:
Registrer en Entra ID-søknad og legg merke til:
- Leier-ID
- Klient-ID
- Klienthemmelighet
Giv tjenesteprinsippet:
- Tilgang til den relevante Azure DevOps-organisasjonen og prosjektet.
- Admin-tillatelser på Fabric-arbeidsområdet.
Koble et nytt arbeidsområde til Azure DevOps ved bruk av Service Principal
For å koble et Fabric-arbeidsområde til Azure DevOps ved hjelp av Service Principal programmatisk, må følgende steg følges:
- Generer Service Principal-tilgangstoken: Autentiserer seg med Microsoft Fabric ved bruk av en tjenesteprincipal.
- Create Azure DevOps cloud connection: Oppretter en ny tilkoblingsressurs i Microsoft Fabric som lagrer Azure DevOps-repositoriets legitimasjon og konfigurasjon.
- Koble arbeidsområdet til git: Kobler et spesifikt Fabric-arbeidsområde til Azure DevOps-repositoriet ved hjelp av tilkoblingen opprettet i steg 2.
- Initialiser tilkobling: Initialiserer Git-tilkoblingen.
1. Generer Service Principal-tilgangstoken
Følgende eksempler viser hvordan man genererer tjenesteprincipal tilgangstokenet.
curl --request GET \
--url https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token \
--header 'content-type: multipart/form-data' \
--form grant_type=client_credentials \
--form client_id=<client-id> \
--form 'client_secret=<client-secret>' \
--form scope=https://api.fabric.microsoft.com/.default
Note
Kopier access_token fra svaret for senere trinn.
2. Opprette Azure DevOps skytilkobling
Oppretter en ny tilkoblingsressurs i Microsoft Fabric som lagrer Azure DevOps-repositoriets legitimasjon og konfigurasjon.
curl --request POST \
--url https://api.fabric.microsoft.com/v1/connections \
--header 'authorization: Bearer <step1: access-token>' \
--header 'content-type: application/json' \
--data '{
"displayName": "<name of the connection>",
"connectivityType": "ShareableCloud",
"connectionDetails": {
"creationMethod": "AzureDevOpsSourceControl.Contents",
"type": "AzureDevOpsSourceControl",
"parameters": [
{
"dataType": "Text",
"name": "url",
"value": "https://dev.azure.com/<ado org name>/<project name>/_git/<repo name>/"}]},
"credentialDetails": {
"credentials": {
"credentialType": "ServicePrincipal",
"tenantId": "<tenant-id>",
"servicePrincipalClientId": "<client-id>",
"servicePrincipalSecret": "<client-secret>"}}}'
Note
Lagre ID-en fra svaret. Den brukes i de neste trinnene.
3. Koble arbeidsområdet til git
Kobler et spesifikt Fabric-arbeidsområde til Azure DevOps-repositoriet ved hjelp av tilkoblingen opprettet i steg 2.
curl --request POST \
--url https://api.fabric.microsoft.com/v1/workspaces/<workspace-id>/git/connect \
--header 'authorization: Bearer <step1: access-token>' \
--header 'content-type: application/json' \
--data '{
"gitProviderDetails": {
"organizationName": "<ado org name>",
"projectName": "<project name>",
"gitProviderType": "AzureDevOps",
"repositoryName": "<repo name>",
"branchName": "<branch name>",
"directoryName": "<folder name – must exist before OR empty>"
},
"myGitCredentials": {
"source": "ConfiguredConnection",
"connectionId": "<step 2 – the new connection id>"}}'
4. Initialiser tilkobling
Initialize Connection, les mer her.
Note
Bytt ut <> med verdiene dine, følg med på initializationStrategy-parameteren. Hvis det tilkoblede arbeidsområdet allerede har elementer, kan du vurdere å bruke "preferWorkspace".
curl --request POST \
--url https://api.fabric.microsoft.com/v1/workspaces/<workspace-id>/git/initializeConnection \
--header 'authorization: Bearer <step1: access-token>' \
--header 'content-type: application/json' \
--data '{"initializationStrategy": "PreferRemote"}'
Hvis repositoriet /workspace ikke er tomt, returnerer responsen requiredAction-param (som er basert på initializationStrategy), bruk update-from-git ELLER commit-to-git tilsvarende med workspaceHead og remoteCommitHash fra svaret for å fullføre prosessen
Koble et eksisterende arbeidsområde til å bruke Service Principal
Hvis arbeidsområdet ditt allerede er koblet til Azure DevOps med en brukeridentitet, men du ønsker å utføre Fabric Git REST API-operasjoner med en Service Principal, følg disse stegene:
- Legg til Service Principal som arbeidsområdeadministrator.
- Grant Service Principal tilgang til Azure DevOps Cloud Connection. Du har to alternativer:
- Del en eksisterende forbindelse: Logg inn med en bruker som har tilgang til den relevante ADO-skyforbindelsen og del den med tjenesteansvarlig via Administrer brukere.
- Skap en ny forbindelse: Gjenta trinn 1 og 2 fra forrige seksjon for å opprette en ny skyforbindelse ved bruk av Service Principal-legitimasjoner.
- Bekreft tilgang – Kall GET Connections API for å bekrefte at tjenestelederen kan få tilgang til den nødvendige skyforbindelsen her:
curl --request GET \
--url https://api.fabric.microsoft.com/v1/connections \
--header 'authorization: Bearer <step 2: access-token>'
Hent id-verdien til den relevante forbindelsen fra svaret.
- Oppdater Git-legitimasjon: Generer en tilgangstoken (steg 1 fra forrige avsnitt) og kall Update My Git Credential API, les mer her (Erstatt <> med verdiene dine):
curl --request PATCH \
--url https://api.fabric.microsoft.com/v1/workspaces/<workspace-id>/git/myGitCredentials \
--header 'authorization: Bearer <step 2: access-token>' \
--header 'content-type: application/json' \
--data '{
"source": "ConfiguredConnection",
"connectionId": "<step 3: connection id>"}'
Etter disse stegene er Service Principal fullt konfigurert og klar til å utføre Fabric Git REST API-operasjoner.