Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Integracja z Fabric Git jest podstawą dla organizacji wdrażających w pełni zautomatyzowane potoki CI/CD, co umożliwia bezproblemowe przenoszenie zasobów w środowiskach deweloperskich, testowych i produkcyjnych.
Obecnie usługa Fabric Git Integration obsługuje dwóch głównych dostawców usługi Git:
- Azure DevOps
- GitHub
Ten artykuł koncentruje się na możliwości jednostki usługi dla usługi Azure DevOps. Ta integracja umożliwia użytkownikowi sieci szkieletowej wykonywanie operacji git przy użyciu jednostki usługi.
Azure DevOps: Uwierzytelnianie — automatyczne i skonfigurowane
Domyślnie każdy obszar roboczy usługi Fabric nie jest połączony z żadnym repozytorium Git. Fabric workspace ma dwa różne sposoby uwierzytelniania w repozytorium git. Te procesy są nazywane:
- Automatyczne poświadczenie Git
- Skonfigurowane poświadczenie
Automatyczne poświadczenia Git
Gdy administrator chce połączyć obszar roboczy z repozytorium usługi Azure DevOps (ADO), użytkownik musi najpierw zalogować się z ustawień obszaru roboczego, system identyfikuje, do których organizacji ADO użytkownik może uzyskać dostęp w ramach bieżącej dzierżawy sieci szkieletowej, umożliwiając użytkownikowi kontynuowanie konfiguracji.
Po nawiązaniu początkowego połączenia każdy dodatkowy użytkownik z co najmniej uprawnieniami współautora w tym samym obszarze roboczym nie musi powtarzać procesu połączenia. Zamiast tego system próbuje uwierzytelnić drugiego użytkownika przy użyciu skonfigurowanego repozytorium ADO. Jeśli użytkownik nie ma niezbędnych uprawnień, w okienku kontroli wersji integracji Git w ramach systemu Fabric wyświetla się czerwony wskaźnik.
Ten usprawniony proces uwierzytelniania jest znany jako "Automatyczne poświadczenie git".
Skonfigurowane poświadczenia
Za pomocą skonfigurowanych poświadczeń można programowo utworzyć połączenie w chmurze usługi Azure DevOps przy użyciu jednostki usługi.
Połączenie usługi Azure DevOps obsługuje dwie metody uwierzytelniania:
- OAuth 2.0
- Podmiot usługi
Obie metody obejmują obsługę scenariuszy obejmujących wiele dzierżaw (między dzierżawami), co zapewnia organizacjom elastyczność w różnych środowiskach.
Każdy inny użytkownik z co najmniej uprawnieniami współautora w tym samym obszarze roboczym nie musi powtarzać procesu połączenia. Przed obsługą głównej usługi, system próbował uwierzytelnić użytkowników drugorzędnych tylko za pomocą uwierzytelniania automatycznego.
Jeśli uwierzytelnianie automatyczne zakończy się niepowodzeniem, system podejmie również próbę nawiązania połączenia przy użyciu dowolnego skonfigurowanego poświadczenia , do którego użytkownik ma dostęp, zapewniając bezproblemowe środowisko pracy i zmniejszając nadmiarowe kroki konfiguracji.
Jak to działa
Aby połączyć obszar roboczy sieci szkieletowej z zewnętrznym dostawcą usługi Git przy użyciu jednostki usługi, integracja z usługą Git musi używać połączenia w chmurze sieci szkieletowej typu Azure DevOps — kontrola źródła.
To połączenie z chmurą można utworzyć na dwa sposoby za pośrednictwem portalu:
- Ręcznie za pomocą opcji Zarządzaj ustawieniami połączenia
- Za pomocą ustawień obszaru roboczego przy użyciu opcji Dodaj konto
W obu przypadkach połączenie jest tworzone w ramach tożsamości zalogowanego użytkownika.
Jeśli podmiot usługi musi korzystać z tego połączenia, użytkownik musi wybrać jedną z dostępnych opcji.
- udostępnianie połączenia z jednostką usługi
- utwórz nowe połączenie, korzystając z API REST Connections, przekazując poświadczenia jednostki usługi.
Poniższe kroki opisują, jak użyć interfejsu API do utworzenia połączenia z chmurą za pomocą jednostki usługi.
Wymagania wstępne
Aby wykonać opisane kroki, potrzebne są następujące uprawnienia:
Zarejestruj aplikację Entra ID i zanotuj:
- Identyfikator dzierżawy
- ID klienta
- Tajemnica klienta
Przyznaj tożsamości usługi:
- Dostęp do odpowiedniej organizacji i projektu usługi Azure DevOps.
- Uprawnienia administratora w podobszarze roboczym Fabric.
Łączenie nowego obszaru roboczego z usługą Azure DevOps przy użyciu jednostki usługi
Aby programowo połączyć przestrzeń roboczą Fabric z Azure DevOps za pomocą jednostki usługi, należy wykonać następujące kroki:
- Generowanie tokenu dostępu głównej usługi: Uwierzytelnienie w Microsoft Fabric przy użyciu głównej usługi.
- Tworzenie połączenia z chmurą usługi Azure DevOps: Tworzy nowy zasób połączenia w usłudze Microsoft Fabric, który przechowuje poświadczenia i konfigurację repozytorium Usługi Azure DevOps.
- Połącz obszar roboczy z Git: Łączy określony obszar roboczy Fabric z repozytorium Azure DevOps, wykorzystując połączenie utworzone w kroku 2.
- Inicjowanie połączenia: Inicjuje połączenie z usługą Git.
1. Generowanie tokenu dostępu subskrybenta usługi
W poniższych przykładach pokazano, jak wygenerować token dostępu podmiotu usługi.
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
Uwaga / Notatka
Skopiuj access_token z odpowiedzi, aby wykonać późniejsze kroki.
2. Tworzenie połączenia w chmurze usługi Azure DevOps
Tworzy nowy zasób połączenia w usłudze Microsoft Fabric, który przechowuje poświadczenia i konfigurację repozytorium Usługi Azure DevOps.
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>"}}}'
Uwaga / Notatka
Zapisz identyfikator z odpowiedzi. Jest on używany w następnych krokach.
3. Łączenie obszaru roboczego z usługą Git
Łączy określony obszar roboczy Fabric z repozytorium Azure DevOps przy użyciu połączenia utworzonego w kroku 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. Inicjowanie połączenia
Zainicjuj połączenie, przeczytaj więcej tutaj.
Uwaga / Notatka
Zastąp <> własnymi wartościami, zwróć uwagę na parametr initializationStrategy. Jeśli połączony obszar roboczy ma już elementy, rozważ użycie "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"}'
Jeśli repozytorium /workspace nie jest puste, odpowiedź zwraca parametr requiredAction (który jest oparty na twojej strategii inicjalizacji), użyj update-from-git LUB commit-to-git odpowiednio z workspaceHead i remoteCommitHash zawartymi w odpowiedzi, aby sfinalizować proces.
Podłącz istniejący obszar roboczy, aby użyć principała usługi
Jeśli obszar roboczy jest już połączony z usługą Azure DevOps przy użyciu tożsamości użytkownika, ale chcesz wykonać operacje Fabric Git REST API z podmiotem usługi, wykonaj następujące kroki:
- Dodaj jednostkę usługi jako administrator obszaru roboczego.
- Udziel jednostce usługi dostępu do połączenia w chmurze usługi Azure DevOps. Dostępne są dwie opcje:
- Udostępnij istniejące połączenie: Zaloguj się przy użyciu użytkownika, który ma dostęp do odpowiedniego połączenia w chmurze ADO i udostępnij go jednostce usługi za pośrednictwem opcji Zarządzaj użytkownikami.
- Utwórz nowe połączenie: Powtórz kroki 1 i 2 z poprzedniej sekcji, aby utworzyć nowe połączenie w chmurze przy użyciu poświadczeń jednostki usługi.
- Sprawdź dostęp — wywołaj interfejs API połączeń GET, aby potwierdzić, że jednostka usługi może uzyskać dostęp do wymaganego połączenia w chmurze tutaj:
curl --request GET \
--url https://api.fabric.microsoft.com/v1/connections \
--header 'authorization: Bearer <step 2: access-token>'
Pobierz wartość identyfikatora odpowiedniego połączenia z odpowiedzi.
- Zaktualizuj poświadczenie Git: Wygeneruj token dostępu (krok 1 z poprzedniej sekcji) i wywołaj interfejs API Aktualizacji poświadczeń usługi Git, przeczytaj więcej tutaj (Zastąp <> wartościami):
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>"}'
Po wykonaniu tych kroków główna jednostka usługi jest w pełni skonfigurowana i gotowa do wykonywania operacji z użyciem interfejsu REST API Fabric Git.