Udostępnij za pośrednictwem


Informacje o zabezpieczeniach, uwierzytelnianiu i autoryzacji

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Usługa Azure DevOps wykorzystuje różne koncepcje zabezpieczeń, aby zapewnić, że tylko autoryzowani użytkownicy mogą uzyskiwać dostęp do funkcji, funkcji i danych. Użytkownicy uzyskują dostęp do usługi Azure DevOps za pośrednictwem uwierzytelniania poświadczeń zabezpieczeń oraz autoryzacji uprawnień konta do uzyskiwania dostępu do określonych funkcji lub funkcji.

Ten artykuł opiera się na informacjach podanych w artykule Wprowadzenie do uprawnień, dostępu i grup zabezpieczeń. Administratorzy mogą korzystać ze zrozumienia typów kont, metod uwierzytelniania, metod autoryzacji i zasad używanych do zabezpieczania usługi Azure DevOps.


Typy kont

  • Użytkownicy
  • Właściciel organizacji
  • Konta usług
  • Jednostki usługi lub tożsamości zarządzane
  • Agenci zadań

Authentication

  • Poświadczenia użytkownika
  • Uwierzytelnianie systemu Windows
  • Uwierzytelnianie dwuskładnikowe (2FA)
  • Uwierzytelnianie za pomocą klucza SSH
  • Osobiste tokeny dostępu
  • Konfiguracja protokołu Oauth
  • Biblioteka uwierzytelniania usługi Active Directory

Autoryzacja

  • Członkostwo w grupie zabezpieczeń
  • Kontrola dostępu oparta na rolach
  • Poziomy dostępu
  • Flagi funkcji
  • Przestrzenie nazw zabezpieczeń i uprawnienia

Zasady

  • Adres URL zasad ochrony prywatności
  • Zasady połączeń aplikacji i zabezpieczeń
  • Zasady użytkownika
  • Repozytorium Git i zasady gałęzi


Typy kont

  • Użytkownicy
  • Konta usług
  • Jednostki usługi lub tożsamości zarządzane
  • Agenci zadań

Authentication

  • Poświadczenia użytkownika
  • Uwierzytelnianie systemu Windows
  • Uwierzytelnianie dwuskładnikowe (2FA)
  • Uwierzytelnianie za pomocą klucza SSH
  • Osobiste tokeny dostępu
  • Konfiguracja protokołu Oauth
  • Biblioteka uwierzytelniania usługi Active Directory

Autoryzacja

  • Członkostwo w grupie zabezpieczeń
  • Uprawnienia oparte na rolach
  • Poziomy dostępu
  • Flagi funkcji
  • Przestrzenie nazw zabezpieczeń i uprawnienia

Zasady

  • Repozytorium Git i zasady gałęzi

Ważne

Usługa Azure DevOps nie obsługuje uwierzytelniania poświadczeń alternatywnych. Jeśli nadal używasz alternatywnych poświadczeń, zdecydowanie zachęcamy do przełączenia się na bardziej bezpieczną metodę uwierzytelniania.

Zarówno usługi Azure DevOps Services (w chmurze), jak i usługa Azure DevOps Server (lokalna) obsługują tworzenie oprogramowania od planowania do wdrożenia. Korzystają one z infrastruktury i usług platformy jako usługi platformy Microsoft Azure, w tym baz danych Azure SQL Database, aby zapewnić niezawodną, globalnie dostępną usługę dla Twoich projektów.

Aby uzyskać więcej informacji na temat sposobu, w jaki firma Microsoft zapewnia bezpieczne, bezpieczne i prywatne projekty usługi Azure DevOps Services, zobacz Omówienie ochrony danych w usłudze Azure DevOps Services.

Klienci

Chociaż konta użytkowników ludzkich są głównym celem, usługa Azure DevOps obsługuje również różne inne typy kont dla różnych operacji. Należą do nich następujące typy kont:

  • Właściciel organizacji: twórca organizacji usługi Azure DevOps Services lub przypisany właściciel. Aby znaleźć właściciela organizacji, zobacz Wyszukiwanie właściciela organizacji.
  • Konta usług: Wewnętrzna organizacja usługi Azure DevOps używana do obsługi określonej usługi, takiej jak usługa puli agentów, potokiSDK. Opisy kont usług można znaleźć w temacie Grupy zabezpieczeń, konta usług i uprawnienia.
  • Jednostki usługi lub tożsamości zarządzane: aplikacje firmy Microsoft entra lub tożsamości zarządzane dodane do organizacji w celu wykonywania akcji w imieniu aplikacji innej firmy. Niektóre jednostki usługi odnoszą się do wewnętrznej organizacji usługi Azure DevOps w celu obsługi operacji wewnętrznych.
  • Agenci zadań: wewnętrzne konta używane do uruchamiania określonych zadań zgodnie z harmonogramem.
  • Konta innych firm: konta, które wymagają dostępu do obsługi punktów zaczepienia sieci Web, połączeń z usługami lub innych aplikacji innych firm.

W naszych artykułach związanych z zabezpieczeniami "użytkownicy" odnoszą się do wszystkich tożsamości dodanych do Centrum użytkowników, które mogą obejmować użytkowników ludzkich i jednostek usługi.

  • Konta usług: Wewnętrzna organizacja usługi Azure DevOps używana do obsługi określonej usługi, takiej jak usługa puli agentów, potokiSDK. Opisy kont usług można znaleźć w temacie Grupy zabezpieczeń, konta usług i uprawnienia.
  • Jednostki usługi lub tożsamości zarządzane: aplikacje firmy Microsoft entra lub tożsamości zarządzane dodane do organizacji w celu wykonywania akcji w imieniu aplikacji innej firmy. Niektóre jednostki usługi odnoszą się do wewnętrznej organizacji usługi Azure DevOps w celu obsługi operacji wewnętrznych.
  • Agenci zadań: wewnętrzne konta używane do uruchamiania określonych zadań zgodnie z harmonogramem.
  • Konta innych firm: konta, które wymagają dostępu do obsługi punktów zaczepienia sieci Web, połączeń z usługami lub innych aplikacji innych firm.

Najbardziej efektywnym sposobem zarządzania kontami jest dodanie ich do grup zabezpieczeń.

Uwaga

Właściciel organizacji i członkowie grupy Administratorzy kolekcji projektów mają pełny dostęp do prawie wszystkich funkcji i funkcji.

Uwierzytelnianie

Uwierzytelnianie weryfikuje tożsamość konta na podstawie poświadczeń podanych podczas logowania się do usługi Azure DevOps. Te systemy integrują się z funkcjami zabezpieczeń następujących innych systemów i polegają na nich:

  • Microsoft Entra ID
  • Konto Microsoft (MSA)
  • Active Directory (AD)

Microsoft Entra ID i MSA obsługują uwierzytelnianie w chmurze. Zalecamy używanie identyfikatora Entra firmy Microsoft do zarządzania dużą grupą użytkowników. W przypadku małej bazy użytkowników, która uzyskuje dostęp do organizacji usługi Azure DevOps, konta Microsoft są wystarczające. Aby uzyskać więcej informacji, zobacz About accessing Azure DevOps with Microsoft Entra ID (Informacje o uzyskiwaniu dostępu do usługi Azure DevOps przy użyciu identyfikatora Entra firmy Microsoft).

W przypadku wdrożeń lokalnych usługa AD jest zalecana do zarządzania dużą grupą użytkowników. Aby uzyskać więcej informacji, zobacz Konfigurowanie grup do użycia we wdrożeniach lokalnych.

Metody uwierzytelniania, integracja z innymi usługami i aplikacjami

Inne aplikacje i usługi mogą być zintegrowane z usługą Azure DevOps. Aby uzyskać dostęp do konta bez wielokrotnego monitowania o podanie poświadczeń użytkownika, aplikacje mogą używać następujących metod uwierzytelniania:

  • Osobiste tokeny dostępu (PAT) do generowania tokenów w Twoim imieniu dla:

    • Uzyskiwanie dostępu do określonych zasobów lub działań, takich jak kompilacje lub elementy robocze
    • Klienci tacy jak Xcode i NuGet, którzy wymagają nazw użytkowników i haseł jako podstawowych danych uwierzytelniających i nie obsługują funkcji konta Microsoft i Microsoft Entra, takich jak uwierzytelnianie wieloskładnikowe.
    • Uzyskiwanie dostępu do interfejsów API REST usługi Azure DevOps
  • Usługa Azure DevOps OAuth w celu generowania tokenów w imieniu użytkowników na potrzeby uzyskiwania dostępu do interfejsów API REST. Interfejsy API Konta i Profile obsługują tylko uwierzytelnianie OAuth.

  • Uwierzytelnianie SSH w celu samodzielnego generowania kluczy szyfrowania w przypadku korzystania z systemu Linux, macOS lub Windows z systemem Git dla systemu Windows i nie można używać menedżerów poświadczeń usługi Git ani paTs do uwierzytelniania HTTPS.

  • Jednostki usługi lub tożsamości zarządzane do generowania tokenów firmy Microsoft w imieniu aplikacji lub usługi, zwykle automatyzując przepływy pracy, które muszą uzyskiwać dostęp do zasobów usługi Azure DevOps. Większość akcji tradycyjnie wykonywanych przez konto usługi i pat można wykonywać przy użyciu jednostki usługi lub tożsamości zarządzanej.

Domyślnie Twoje konto lub kolekcja zezwala na dostęp do wszystkich metod uwierzytelniania. Dostęp można ograniczyć, ograniczając w szczególności każdą metodę. Jeśli odmówisz dostępu dla określonej metody uwierzytelniania, żadna aplikacja nie będzie mogła używać tej metody w celu uzyskania dostępu do Twojego konta. Każda aplikacja, która wcześniej miała dostęp, otrzymuje błąd uwierzytelniania i nie może uzyskać dostępu do twojego konta.

Aby uzyskać więcej informacji, zobacz następujące artykuły:

Autoryzacja

Autoryzacja sprawdza, czy tożsamość próbująca nawiązać połączenie ma niezbędne uprawnienia dostępu do usługi, funkcji, funkcji, obiektu lub metody. Autoryzacja zawsze następuje po pomyślnym uwierzytelnieniu. Jeśli połączenie nie jest uwierzytelnione, nie powiedzie się przed wykonaniem kontroli autoryzacji. Nawet jeśli uwierzytelnianie powiedzie się, określona akcja może być nadal niedozwolona, jeśli użytkownik lub grupa nie ma autoryzacji.

Autoryzacja zależy od uprawnień przypisanych do użytkownika, bezpośrednio lub za pośrednictwem członkostwa w grupie zabezpieczeń lub roli zabezpieczeń. Poziomy dostępu i flagi funkcji mogą również zarządzać dostępem do określonych funkcji. Aby uzyskać więcej informacji na temat tych metod autoryzacji, zobacz Wprowadzenie do uprawnień, dostępu i grup zabezpieczeń.

Przestrzenie nazw zabezpieczeń i uprawnienia

Przestrzenie nazw zabezpieczeń określają poziomy dostępu użytkowników dla określonych akcji dotyczących zasobów.

  • Każda rodzina zasobów, taka jak elementy robocze lub repozytoria Git, ma unikatową przestrzeń nazw.
  • Każda przestrzeń nazw zawiera zero lub więcej list kontroli dostępu (ACL).
    • Każda lista ACL zawiera token, flagę dziedziczą i wpisy kontroli dostępu (ACL).
    • Każda usługa ACE ma deskryptor tożsamości, dozwoloną maskę bitów uprawnień i maskę bitów odmowy uprawnień.

Aby uzyskać więcej informacji, zobacz Security namespaces and permission reference (Przestrzenie nazw zabezpieczeń i dokumentacja uprawnień).

Zasady zabezpieczeń

Aby zabezpieczyć organizację i kod, można ustawić różne zasady. W szczególności można włączyć lub wyłączyć następujące zasady:

Ogólne

Zasady połączeń aplikacji i zabezpieczeń

Użyj zasad dzierżawy firmy Microsoft Entra, aby ograniczyć tworzenie nowych organizacji tylko do żądanych użytkowników. Te zasady są domyślnie wyłączone i prawidłowe tylko wtedy, gdy organizacja jest połączona z identyfikatorem Entra firmy Microsoft. Aby uzyskać więcej informacji, zobacz Ograniczanie tworzenia organizacji.

Następujące zasady określają dostęp udzielony użytkownikom i aplikacjom w organizacjach:

Zasady użytkownika

  • Dostęp gościa zewnętrznego (tylko wtedy, gdy organizacja jest połączona z identyfikatorem Entra firmy Microsoft): po włączeniu zaproszenia mogą być wysyłane do kont e-mail użytkowników, którzy nie są członkami dzierżawy Microsoft Entra ID za pośrednictwem strony Użytkownicy . Aby uzyskać więcej informacji, zobacz Dodawanie użytkowników zewnętrznych do organizacji.
  • Zezwalaj administratorom zespołu i projektu na zapraszanie nowych użytkowników: ważne tylko wtedy, gdy organizacja jest połączona z identyfikatorem Entra firmy Microsoft. Po włączeniu administratorzy zespołu i projektu mogą dodawać użytkowników za pośrednictwem strony Użytkownicy . Aby uzyskać więcej informacji, zobacz Ograniczanie nowych zaproszeń użytkowników od administratorów projektów i zespołów.
  • Żądanie dostępu: tylko wtedy, gdy organizacja jest połączona z identyfikatorem Entra firmy Microsoft. Po włączeniu użytkownicy mogą żądać dostępu do zasobu. Żądanie powoduje wysłanie powiadomienia e-mail do administratorów z prośbą o przejrzenie i dostęp zgodnie z potrzebami. Aby uzyskać więcej informacji, zobacz Dodawanie użytkowników zewnętrznych do organizacji.
  • Zaproś użytkowników usługi GitHub: ważne tylko wtedy, gdy organizacja nie jest połączona z identyfikatorem Entra firmy Microsoft. Po włączeniu administratorzy mogą dodawać użytkowników na podstawie kont użytkowników usługi GitHub ze strony Użytkownicy . Aby uzyskać więcej informacji, zobacz Nawiązywanie połączenia z usługą GitHub/CZĘSTO zadawane pytania.

Grupa użytkowników w zakresie projektu

Domyślnie użytkownicy dodani do organizacji mogą wyświetlać wszystkie informacje i ustawienia dotyczące organizacji oraz projektu, w tym listy użytkowników, listy projektów, szczegóły rozliczeń, dane użycia i inne.

Ważne

  • Funkcje ograniczonej widoczności opisane w tej sekcji dotyczą tylko interakcji za pośrednictwem portalu internetowego. Za pomocą interfejsów API REST lub azure devops poleceń interfejsu wiersza polecenia członkowie projektu mogą uzyskiwać dostęp do ograniczonych danych.
  • Użytkownicy-goście, którzy są członkami ograniczonej grupy z domyślnym dostępem w identyfikatorze Entra firmy Microsoft, nie mogą wyszukiwać użytkowników z selektorem osób. Gdy funkcja w wersji zapoznawczej jest wyłączona dla organizacji lub gdy użytkownicy-goście nie są członkami ograniczonej grupy, użytkownicy-goście mogą przeszukiwać wszystkich użytkowników firmy Microsoft Entra zgodnie z oczekiwaniami.

Aby ograniczyć niektórych użytkowników, takich jak uczestnicy projektu, użytkownicy-goście firmy Microsoft Entra lub członkowie określonej grupy zabezpieczeń, możesz włączyć funkcję Ogranicz widoczność i współpracę użytkowników do określonych projektów w wersji zapoznawczej dla organizacji. Po włączeniu tej opcji każdy użytkownik lub grupa dodana do grupy Użytkownicy o zakresie projektu są ograniczone w następujący sposób:

  • Może uzyskiwać dostęp tylko do stron Przegląd i Projekty ustawień organizacji.
  • Może łączyć się tylko z tymi projektami, do których zostały dodane jawnie i wyświetlać je.
  • Można wybrać tylko tożsamości użytkowników i grup dodane jawnie do projektu, z którymi są połączone.

Aby uzyskać więcej informacji, zobacz Zarządzanie organizacją, Ograniczanie widoczności użytkowników dla projektów i inne funkcje w wersji zapoznawczej oraz Zarządzanie funkcjami w wersji zapoznawczej.

Ostrzeżenie

Włączenie funkcji Ogranicz widoczność użytkownika i współpracę do określonych projektów w wersji zapoznawczej uniemożliwia użytkownikom z zakresu projektu wyszukiwanie użytkowników dodanych do organizacji za pośrednictwem członkostwa w grupie Entra firmy Microsoft, a nie za pośrednictwem jawnego zaproszenia użytkownika. Jest to nieoczekiwane zachowanie, a rozwiązanie jest w toku. Aby rozwiązać ten problem, wyłącz funkcję Ogranicz widoczność i współpracę użytkowników do określonych projektów w wersji zapoznawczej dla organizacji.

Repozytorium Git i zasady gałęzi

Aby zabezpieczyć kod, możesz ustawić różne zasady repozytorium Git i gałęzi. Aby uzyskać więcej informacji, zobacz następujące artykuły.

Zabezpieczenia usług Azure Repos i Azure Pipelines

Ponieważ repozytoria i potoki kompilacji i wydania stanowią unikatowe wyzwania związane z zabezpieczeniami, stosowane są dodatkowe funkcje poza funkcjami omówionymi w tym artykule. Aby uzyskać więcej informacji, zobacz następujące artykuły.

Następne kroki