Udostępnij przez


Informacje o zasadach uwierzytelniania, autoryzacji i zabezpieczeń

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Usługa Azure DevOps używa kombinacji pojęć zabezpieczeń, aby zapewnić, że tylko autoryzowani użytkownicy mogą uzyskiwać dostęp do swoich funkcji, funkcji i danych. Dostęp jest określany przez dwa kluczowe procesy: uwierzytelnianie, które weryfikuje poświadczenia użytkownika i autoryzację, która przyznaje uprawnienia na podstawie uprawnień konta. Razem te procesy kontrolują, co każdy użytkownik może zrobić w usłudze Azure DevOps.

Ten artykuł rozszerza temat Wprowadzenie do uprawnień, dostępu i grup zabezpieczeń oraz pomaga administratorom zrozumieć różne typy kont, metody uwierzytelniania i autoryzacji oraz zasady zabezpieczeń dostępne w celu ochrony środowisk 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ń

Uwierzytelnianie

  • Poświadczenia użytkownika
  • Uwierzytelnianie systemu Windows
  • Uwierzytelnianie dwuskładnikowe (2FA)
  • Uwierzytelnianie za pomocą klucza SSH
  • Token Microsoft Entra
  • Osobisty token 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ń

Uwierzytelnianie

  • 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.

Obie metodyki Azure DevOps obsługują programowanie oprogramowania od planowania do wdrożenia. Każda platforma korzysta z infrastruktury i usług modelu Platforma jako usługa (PaaS) Microsoft Azure, w tym baz danych Azure SQL, aby zapewnić niezawodną, globalnie dostępną usługę dla projektów.

Aby uzyskać więcej informacji na temat sposobu, w jaki firma Microsoft zapewnia bezpieczeństwo, dostępność, ochronę i prywatność projektów, zobacz Omówienie ochrony danych usługi Azure DevOps.

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:

  • 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 niż Microsoft. 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 niż Microsoft.

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 niż Microsoft. 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 niż Microsoft.

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ść użytkownika na podstawie poświadczeń podanych podczas logowania się do usługi Azure DevOps. Usługa Azure DevOps integruje się z kilkoma systemami tożsamości w celu zarządzania uwierzytelnianiem:

  • Microsoft Entra ID: zalecane w przypadku organizacji zarządzających dużą grupą użytkowników. Zapewnia niezawodne uwierzytelnianie oparte na chmurze i zarządzanie użytkownikami.
  • Konto Microsoft (MSA): odpowiednie dla mniejszych baz użytkowników, które uzyskują dostęp do organizacji usługi Azure DevOps. Obsługuje uwierzytelnianie w chmurze.
  • Active Directory (AD): zalecane w przypadku wdrożeń lokalnych z wieloma użytkownikami przy użyciu istniejącej infrastruktury usługi AD.

Zarówno identyfikator Microsoft Entra ID, jak i konta Microsoft obsługują uwierzytelnianie w chmurze. 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 środowisk lokalnych użyj usługi Active Directory, aby efektywnie zarządzać dostępem użytkowników. Dowiedz się więcej w temacie Konfigurowanie grup do użycia we wdrożeniach lokalnych.

Programowe uwierzytelnianie

Uzyskaj dostęp do organizacji usługi Azure DevOps programowo bez wielokrotnego wprowadzania nazwy użytkownika i hasła, wybierając jedną z dostępnych metod uwierzytelniania. Użyj następujących metod, aby zautomatyzować przepływy pracy, zintegrować je z interfejsami API REST lub tworzyć aplikacje niestandardowe:

  • Użyj protokołu OAuth , aby tworzyć aplikacje, które wykonują akcje w imieniu użytkowników. Użytkownicy muszą wyrazić zgodę na aplikację. W przypadku nowych aplikacji użyj protokołu Microsoft Entra OAuth.
  • Użyj jednostek usługi lub tożsamości zarządzanych, aby zautomatyzować przepływy pracy lub tworzyć narzędzia, które regularnie uzyskują dostęp do zasobów organizacji. Wystawiaj tokeny firmy Microsoft Entra w imieniu samej aplikacji.
  • Użyj identyfikatora Entra firmy Microsoft do bezpiecznego uwierzytelniania opartego na chmurze i zarządzania użytkownikami.
  • Użyj osobistych tokenów dostępu (PAT) na potrzeby żądań ad hoc lub wczesnego tworzenia prototypów. Unikaj używania osobistych tokenów dostępu (PAT) do długoterminowego rozwoju aplikacji, ponieważ są bardziej podatne na przecieki i niewłaściwe użycie.

Wskazówka

Zawsze przechowuj poświadczenia bezpiecznie i postępuj zgodnie z najlepszymi rozwiązaniami dotyczącymi zarządzania metodami uwierzytelniania.

Domyślnie organizacja zezwala na dostęp do wszystkich metod uwierzytelniania. Administratorzy organizacji mogą ograniczyć dostęp do tych metod uwierzytelniania, wyłączając zasady zabezpieczeń. Administratorzy dzierżawy mogą dodatkowo zmniejszyć ryzyko związane z PAT poprzez ograniczenie sposobów ich tworzenia.

Autoryzacja

Autoryzacja określa, czy tożsamość uwierzytelniona ma wymagane uprawnienia dostępu do określonej usługi, funkcji, funkcji, obiektu lub metody w usłudze Azure DevOps. Testy autoryzacji zawsze występują po pomyślnym uwierzytelnieniu — jeśli uwierzytelnianie zakończy się niepowodzeniem, autoryzacja nigdy nie zostanie obliczona. Nawet po uwierzytelnieniu użytkownicy lub grupy mogą odmówić dostępu do niektórych akcji, jeśli nie mają niezbędnych uprawnień.

Usługa Azure DevOps zarządza autoryzacją za pośrednictwem uprawnień przypisanych bezpośrednio do użytkowników lub dziedziczonej za pośrednictwem grup zabezpieczeń lub ról. Poziomy dostępu i flagi funkcji mogą dodatkowo kontrolować dostęp do określonych funkcji. Aby dowiedzieć się więcej na temat tych metod autoryzacji, zobacz Wprowadzenie do uprawnień, dostępu i grup zabezpieczeń.

Przestrzenie nazw zabezpieczeń i uprawnienia

Przestrzenie nazw zabezpieczeń definiują poziomy dostępu użytkowników dla określonych akcji w zasobach usługi Azure DevOps.

  • Każda rodzina zasobów, na przykład elementy robocze lub repozytoria Git, ma własną unikatową przestrzeń nazw.
  • W każdej przestrzeni nazw może istnieć wiele list kontroli dostępu (ACL).
    • Każda lista kontroli dostępu (ACL) zawiera token, flagę dziedziczenia i co najmniej jeden wpis kontroli dostępu (ACE).
    • Każda ACE określa deskryptor tożsamości, maskę bitową dozwolonych uprawnień i maskę bitową dla niedozwolonych 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, administratorzy na poziomie organizacji (administrator kolekcji projektów) lub administratorzy na poziomie dzierżawy (administrator usługi Azure DevOps) mogą włączać lub wyłączać różne zasady zabezpieczeń, w zależności od zakresu zasad. Kluczowe zasady, które należy wziąć pod uwagę, obejmują:

Jeśli Twoja organizacja jest połączona z identyfikatorem Entra firmy Microsoft, masz dostęp do następujących innych funkcji zabezpieczeń:

Przejrzyj i skonfiguruj te zasady, aby wzmocnić stan zabezpieczeń organizacji i zapewnić zgodność z wymaganiami dotyczącymi prywatności i dostępu do danych.

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.

Aby ograniczyć dostęp dla określonych użytkowników , takich jak uczestnicy projektu, użytkownicy-goście firmy Microsoft Entra lub członkowie określonej grupy zabezpieczeń, włącz funkcję Ogranicz widoczność i współpracę użytkowników do określonych projektów w wersji zapoznawczej dla organizacji. Po włączeniu tej funkcji każdy użytkownik lub grupa dodana do grupy użytkownikówProject-Scoped jest ograniczona w następujący sposób:

  • Dostęp jest ograniczony do stron Przegląd i Projekty w ustawieniach organizacji.
  • Użytkownicy mogą łączyć się tylko z projektami, do których są jawnie dodawani i wyświetlać je.
  • Użytkownicy mogą wybierać tylko tożsamości użytkowników i grup, które są jawnie dodawane do tego samego projektu.

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

Ostrzeżenie

Podczas korzystania z tej funkcji w wersji zapoznawczej należy wziąć pod uwagę następujące ograniczenia:

  • 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 w ograniczonej grupie mogą wybierać tylko użytkowników, którzy są jawnie dodawani do usługi Azure DevOps, a nie do użytkowników, którzy mają dostęp za pośrednictwem członkostwa w grupie Microsoft Entra.
  • 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.

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 oraz procesy kompilacji i wydawania stanowią unikatowe wyzwania związane z zabezpieczeniami, stosowane są inne funkcje niż te omawiane w artykule. Aby uzyskać więcej informacji, zobacz następujące artykuły.

Następne kroki