Udostępnij przez


Zasady usługi dla CI/CD

Na tej stronie opisano sposób używania jednostek usługi do ciągłej integracji/ciągłego wdrażania w usłudze Azure Databricks. Jednostka usługi to tożsamość utworzona do użycia z zautomatyzowanymi narzędziami i aplikacjami, w tym:

Najlepszą praktyką w zakresie zabezpieczeń platforma Databricks zaleca użycie jednostki serwisowej i jej tokenu zamiast użytkownika Azure Databricks lub osobistego tokenu dostępu Databricks dla użytkownika środowiska pracy, aby umożliwić platformom CI/CD dostęp do zasobów Azure Databricks. Niektóre korzyści z tego podejścia obejmują następujące elementy:

  • Możesz udzielić i ograniczyć dostęp do zasobów usługi Azure Databricks dla jednostki usługi niezależnie od użytkownika. Na przykład pozwala to uniemożliwić jednostce usługi działanie jako administrator w obszarze roboczym usługi Azure Databricks, jednocześnie zezwalając innym określonym użytkownikom w obszarze roboczym na dalsze działanie jako administratorzy.
  • Użytkownicy mogą zabezpieczyć swoje tokeny dostępu przed ich użyciem przez platformy integracji i wdrażania (CI/CD).
  • Możesz tymczasowo wyłączyć lub trwale usunąć jednostkę usługi bez wpływu na innych użytkowników. Na przykład, pozwala to wstrzymać lub usunąć dostęp głównego użytkownika usługi, która według twojego podejrzenia jest używana w złośliwy sposób.
  • Jeśli użytkownik opuści organizację, możesz usunąć tego użytkownika bez wpływu na jednostkę usługi.

Aby przyznać platformie CI/CD dostęp do obszaru roboczego usługi Azure Databricks, wykonaj następujące czynności:

Wybierz jeden z następujących obsługiwanych mechanizmów uwierzytelniania MS Entra dla połączenia z usługą:

Wymagania

  • Token OAuth usługi Azure Databricks lub token Microsoft Entra ID dla jednostki usługi zarządzanej usługi Azure Databricks lub jednostki usługi zarządzanej Microsoft Entra ID. Aby utworzyć zarządzaną jednostkę usługi Azure Databricks lub zarządzaną jednostkę usługi Microsoft Entra ID oraz jej token OAuth usługi Azure Databricks lub token Microsoft Entra ID, zobacz Jednostki usługi.
  • Konto z dostawcą usługi Git.

Konfigurowanie funkcji GitHub Actions

Funkcja GitHub Actions musi mieć dostęp do obszaru roboczego usługi Azure Databricks. Jeśli chcesz używać folderów Git w usłudze Azure Databricks, obszar roboczy musi mieć również dostęp do GitHub.

Aby włączyć funkcję GitHub Actions do uzyskania dostępu do obszaru roboczego Azure Databricks, musisz podać informacje o zarządzanej jednostce usługi Azure Databricks lub zarządzanej jednostce usługi Microsoft Entra ID w GitHub Actions. Może to obejmować informacje, takie jak identyfikator aplikacji (klienta), identyfikator katalogu (dzierżawy) dla zarządzanej jednostki usługi Microsoft Entra ID, tajny klucz klienta dla jednostki usługi zarządzanej przez Azure Databricks lub Microsoft Entra ID, lub access_token wartość związana z jednostką usługi zarządzaną przez Azure Databricks, w zależności od wymagań akcji GitHub. Aby uzyskać więcej informacji, zobacz zasady usługi i dokumentację dotyczącą działania GitHub.

Jeśli chcesz również włączyć obszar roboczy usługi Azure Databricks w celu uzyskiwania dostępu do usługi GitHub podczas korzystania z folderów git usługi Azure Databricks, musisz dodać osobisty token dostępu usługi GitHub dla użytkownika maszyny GitHub do obszaru roboczego.

Podaj informacje o podmiocie usługi dla GitHub Actions

W tej sekcji opisano sposób włączania funkcji GitHub Actions w celu uzyskania dostępu do obszaru roboczego usługi Azure Databricks.

W ramach najlepszych praktyk bezpieczeństwa, Databricks zaleca, aby nie wprowadzać informacji o identyfikatorze usługi bezpośrednio w treści pliku GitHub Actions. Powinieneś/Powinnaś dostarczyć te informacje do GitHub Actions, używając zamiast tego zaszyfrowanych sekretów GitHub.

Funkcje GitHub Actions, takie jak te, które Databricks wyświetla w GitHub Actions, korzystają z różnych zaszyfrowanych sekretów GitHub, takich jak:

  • DATABRICKS_HOST, co jest wartością https://, po której następuje nazwa wystąpienia obszaru roboczego, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • AZURE_CREDENTIALS, który jest dokumentem JSON reprezentującym dane wyjściowe uruchomienia Azure CLI, aby uzyskać informacje o zarządzanej jednostce usługi Microsoft Azure Entra ID. Aby uzyskać więcej informacji, zobacz dokumentację akcji usługi GitHub.
  • AZURE_SP_APPLICATION_ID, czyli wartość identyfikatora aplikacji (klienta) dla zarządzanej przez Microsoft Entra ID jednostki usługi.
  • AZURE_SP_TENANT_ID, która jest wartością identyfikatora katalogu (dzierżawcy) dla zarządzanego podmiotu zabezpieczeń Microsoft Entra ID.
  • AZURE_SP_CLIENT_SECRET, który jest wartością pola Value tajemnicy klienta dla zarządzanego obiektu głównego usługi Microsoft Entra ID.

Aby uzyskać więcej informacji o tym, które zaszyfrowane sekrety GitHub są wymagane dla akcji GitHub, zobacz Service principals i dokumentację tej akcji GitHub.

Aby dodać te zaszyfrowane wpisy tajne usługi GitHub do repozytorium GitHub, zobacz Tworzenie zaszyfrowanych wpisów tajnych dla repozytorium w dokumentacji usługi GitHub. Aby zapoznać się z innymi sposobami dodawania tych sekretów repozytorium GitHub, zobacz Zaszyfrowane sekrety w dokumentacji GitHub.

Dodawanie osobistego tokenu dostępu usługi GitHub dla użytkownika maszyny usługi GitHub do obszaru roboczego usługi Azure Databricks

W tej sekcji opisano sposób włączenia obszaru roboczego usługi Azure Databricks do uzyskiwania dostępu do GitHub za pomocą folderów Git usługi Azure Databricks. Jest to opcjonalne zadanie w scenariuszach CI/CD.

Najlepsze praktyki w zakresie bezpieczeństwa wskazują, że usługa Databricks zaleca używanie użytkowników maszyn usługi GitHub zamiast kont osobistych GitHub, z tych samych powodów, dla których należy używać jednostki usługi zamiast użytkownika usługi Azure Databricks. Aby dodać osobisty token dostępu usługi GitHub dla użytkownika maszyny GitHub do obszaru roboczego usługi Azure Databricks, wykonaj następujące czynności:

  1. Utwórz użytkownika maszyny usługi GitHub, jeśli jeszcze go nie masz. Użytkownik maszyny usługi GitHub to osobiste konto usługi GitHub, oddzielone od własnego konta osobistego usługi GitHub, za pomocą którego można zautomatyzować aktywność w usłudze GitHub. Utwórz nowe oddzielne konto usługi GitHub do użycia jako użytkownik komputera usługi GitHub, jeśli jeszcze go nie masz.

    Uwaga / Notatka

    Podczas tworzenia nowego oddzielnego konta usługi GitHub jako użytkownika maszyny usługi GitHub nie można skojarzyć go z adresem e-mail dla własnego konta osobistego usługi GitHub. Zamiast tego zapoznaj się z administratorem poczty e-mail organizacji, aby uzyskać oddzielny adres e-mail, który można skojarzyć z tym nowym oddzielnym kontem usługi GitHub jako użytkownik maszyny usługi GitHub.

    Skontaktuj się z administratorem konta Twojej organizacji w sprawie zarządzania oddzielnym adresem e-mail oraz powiązanym maszynowym użytkownikiem GitHub i osobistymi tokenami dostępu GitHub w organizacji.

  2. Nadaj maszynowemu użytkownikowi GitHub dostęp do swojego repozytorium GitHub. Zobacz Zapraszanie zespołu lub osoby w dokumentacji usługi GitHub. Aby zaakceptować zaproszenie, może być konieczne wylogowanie się z konta osobistego usługi GitHub, a następnie zalogowanie się ponownie jako użytkownik komputera usługi GitHub.

  3. Zaloguj się do usługi GitHub jako użytkownik komputera, a następnie utwórz osobisty token dostępu usługi GitHub dla tego użytkownika komputera. Zobacz Tworzenie osobistego tokenu dostępu w dokumentacji usługi GitHub. Upewnij się, że nadałeś osobistemu tokenowi dostępu na GitHubie dostęp do repo.

  4. Zbierz token Microsoft Entra ID dla głównego obiektu usługi, nazwę użytkownika maszyny GitHub, a następnie zobacz Używanie głównego obiektu usługi z folderami Git w Databricks.

Konfigurowanie usługi Azure Pipelines

Usługa Azure Pipelines musi mieć dostęp do obszaru roboczego usługi Azure Databricks. Jeśli również chcesz używać folderów Git usługi Azure Databricks, obszar roboczy musi mieć dostęp do usługi Azure Pipelines.

Pliki potoków YAML usługi Azure Pipelines korzystają ze zmiennych środowiskowych w celu uzyskania dostępu do obszaru roboczego usługi Azure Databricks. Te zmienne środowiskowe obejmują takie, jak:

  • DATABRICKS_HOST, co jest wartością https://, po której następuje nazwa wystąpienia obszaru roboczego, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, która jest wartością token_value skopiowaną po utworzeniu tokenu Microsoft Entra ID dla zarządzanego podmiotu usługi Microsoft Entra ID.

Aby dodać te zmienne środowiskowe do potoku Azure, zobacz Używanie tajnych wartości kluczowych w usłudze Azure Pipelines i Ustawianie zmiennych tajnych w dokumentacji Azure.

Zobacz również następujący blog usługi Databricks:

Opcjonalnie w scenariuszach CI/CD: jeśli Twój obszar roboczy korzysta z folderów Git usługi Azure Databricks i chcesz umożliwić mu dostęp do usługi Azure Pipelines, przygotuj:

  • Token identyfikatora Entra firmy Microsoft dla jednostki usługi
  • Nazwa użytkownika usługi Azure Pipelines

Następnie przeczytaj Korzystanie z głównego komponentu usługi z folderami Git w Databricks.

Skonfiguruj GitLab CI/CD

GitLab CI/CD musi mieć dostęp do obszaru roboczego usługi Azure Databricks. Jeśli chcesz również używać folderów Git w Azure Databricks, obszar roboczy musi mieć dostęp do GitLab CI/CD.

Aby uzyskać dostęp do obszaru roboczego usługi Azure Databricks, pliki GitLab CI/CD, takie jak plik będący częścią .gitlab-ci.yml w , polegają na niestandardowych zmiennych CI/CD, takich jak:

  • DATABRICKS_HOST, co jest wartością https://, po której następuje nazwa wystąpienia obszaru roboczego, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, która jest wartością token_value, którą skopiowałeś po utworzeniu tokenu Entra ID firmy Microsoft dla jednostki usługi.

Aby dodać te zmienne niestandardowe do projektu GitLab CI/CD, zapoznaj się z Dodawanie zmiennej CI/CD do projektu w dokumentacji GitLab CI/CD.

Jeśli obszar roboczy korzysta z folderów Git w Databricks i chcesz umożliwić obszarowi roboczemu dostęp do GitLab CI/CD, zbierz:

  • Token identyfikatora Entra firmy Microsoft dla jednostki usługi
  • Twoja nazwa użytkownika GitLab CI/CD

Następnie przeczytaj Korzystanie z głównego komponentu usługi z folderami Git w Databricks.