Usługa GitHub Advanced Security i obsługa tożsamości zarządzanej i jednostki usługi dla usługi Azure DevOps są teraz ogólnie dostępne

Z przyjemnością ogłaszamy, że usługa GitHub Advanced Security i tożsamość zarządzana oraz obsługa jednostki usługi dla usługi Azure DevOps są teraz ogólnie dostępne!

W usłudze GitHub Advanced Security ulepszyliśmy również skanowanie kodu w celu uwzględnienia wszystkich danych wejściowych udostępnianych przez użytkownika w zadaniu Inicjowanie codeQL. Ponadto rozszerzyliśmy obsługę języka CodeQL w celu uwzględnienia języka Swift.

W usłudze Boards publikujemy reguły usługi Team Automation w prywatnej wersji zapoznawczej. Teraz można skonfigurować każdy poziom listy prac, aby zautomatyzować otwieranie i zamykanie/rozpoznawanie elementów roboczych na podstawie stanów ich elementów podrzędnych. Zapoznaj się z informacjami o wersji, jeśli chcesz zarejestrować się w prywatnej wersji zapoznawczej.

Przejdź do poniższej listy funkcji, aby dowiedzieć się więcej o tych funkcjach.

Ogólne

Usługa GitHub Advanced Security dla usługi Azure DevOps

Azure Boards

Azure Pipelines

Ogólne

Obsługa tożsamości zarządzanej i jednostki usługi dla usługi Azure DevOps jest teraz ogólnie dostępna

Obsługa tożsamości zarządzanych i jednostek usługi Entra ID firmy Microsoft w usłudze Azure DevOps osiągnęła teraz ogólną dostępność.

Obecnie wiele scenariuszy integracji aplikacji polega na osobistych tokenach dostępu (PATs) do integracji z usługą Azure DevOps. Chociaż są proste do użycia, dostawcy punktów roboczych mogą być łatwo ujawnione, potencjalnie umożliwiając złośliwym podmiotom uwierzytelnianie się jako zaawansowani użytkownicy. Aby zapobiec niepożądanemu dostępowi, pakiety PAT często wymagają czasochłonnej konserwacji poprzez regularne rotacje poświadczeń.

Teraz możesz umożliwić aplikacjom używanie tożsamości zarządzanych i jednostek usługi do integracji z usługą Azure DevOps za pomocą interfejsów API REST i bibliotek klienckich. Ta wysoce żądana funkcja oferuje klientom usługi Azure DevOps bardziej bezpieczną alternatywę dla paT. Tożsamości zarządzane umożliwiają aplikacjom działającym w zasobach platformy Azure uzyskiwanie tokenów usługi Azure AD bez konieczności zarządzania poświadczeniami.

Tożsamości zarządzane i jednostki usługi można skonfigurować w usłudze Azure DevOps i mieć uprawnienia do określonych zasobów (projektów, repozytoriów, potoków), podobnie jak zwykłych użytkowników. Dzięki temu aplikacje korzystające z tożsamości zarządzanych lub jednostek usługi mogą łączyć się z usługą Azure DevOps i wykonywać akcje w imieniu siebie zamiast w imieniu użytkownika, tak jak pat. Zespoły mogą teraz lepiej zarządzać swoimi usługami zbiorczo, zamiast polegać na jednej osobie w celu zapewnienia tokenu na potrzeby uwierzytelniania. Dowiedz się więcej o wersji ogólnodostępnej w naszym publicznym wpisie w blogu i naszej dokumentacji funkcji.

Nowe zakresy usługi Azure DevOps dostępne dla aplikacji przepływu delegowanego OAuth tożsamości firmy Microsoft

Dodaliśmy nowe zakresy usługi Azure DevOps dla delegowanych aplikacji OAuth na platformie tożsamości Microsoft, również potocznie znane jako aplikacje OAuth identyfikatora Entra firmy Microsoft. Te nowe zakresy umożliwią deweloperom aplikacji ogłoszenie, które uprawnienia mają nadzieję zażądać od użytkownika w celu wykonania obowiązków aplikacji. Ta wysoce żądana funkcja umożliwia deweloperom aplikacji żądanie od użytkowników wyłącznie uprawnień potrzebnych dla aplikacji.

Wcześniej user_impersonation był jedynym zakresem dostępnym dla deweloperów aplikacji do wyboru. Ten zakres zapewnia aplikacji pełny dostęp do wszystkich interfejsów API usługi Azure DevOps, co oznacza, że będzie w stanie wykonać wszystkie czynności, które użytkownik może wykonać we wszystkich organizacjach, do których należy użytkownik. Teraz, gdy dostępne są bardziej szczegółowe zakresy, można łatwo zapewnić, że aplikacje mogą żądać tylko tych interfejsów API i uzyskiwać do nich dostęp wyłącznie do żądanych zakresów, do których udzielono im uprawnień dostępu.

Dowiedz się więcej o tych nowych zakresach w naszym publicznym wpisie w blogu i dokumentacji funkcji.

Usługa GitHub Advanced Security dla usługi Azure DevOps

Zmiany w zadaniu i zmiennych wejściowych użytkownika skanowania kodu (CodeQL)

Wszystkie dane wejściowe udostępniane przez użytkownika są teraz określone w zadaniu Inicjowanie codeQL, które jest odpowiedzialne za konfigurowanie środowiska analizy CodeQL używanego do analizy kodu za pomocą języka CodeQL "AdvancedSecurity-Codeql-Init@1". Aby uzyskać więcej informacji na temat konfigurowania usługi GitHub Advanced Security dla usługi Azure DevOps, zobacz dokumentację dotyczącą konfigurowania usługi GitHub Advanced Security dla usługi Azure DevOps.

Ponadto dane wejściowe użytkownika mają pierwszeństwo przed wszystkimi wartościami ustawionymi przez zmienne. Jeśli na przykład ustanowisz zmienną językową jako advancedsecurity.codeql.language: Java i następnie, podczas fazy inicjowania CodeQL, należy określić język jako dane wejściowe z Language: cpp, danymi wejściowymi cpp zastąpi zmienną Java dla języka. Upewnij się, że dane wejściowe zostały prawidłowo skonfigurowane.

Zadanie publikowania nie jest już wymagane do skonfigurowania skanowania kodu

Wcześniej podczas konfigurowania skanowania kodu było wymagane uwzględnienie zadania publikowania (AdvancedSecurity-Publish@1) w potoku YAML lub potoku klasycznym. Dzięki tej aktualizacji wyeliminowaliśmy potrzebę zadania publikowania, a wyniki są teraz bezpośrednio publikowane w usłudze zabezpieczeń zaawansowanych w ramach zadania analizy (AdvancedSecurity-Codeql-Analyze@1).

Poniżej przedstawiono zadanie wymagane do skanowania kodu.

Screenshot of required code scanning tasks.

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją dotyczącą konfigurowania skanowania kodu.

Skanowanie kodu CodeQL obsługuje teraz język Swift

Rozszerzamy naszą obsługę skanowania kodu CodeQL w celu uwzględnienia języka Swift! Oznacza to, że deweloperzy pracujący nad bibliotekami i aplikacjami Swift dla platform firmy Apple mogą teraz korzystać z naszej najwyższej klasy analizy zabezpieczeń kodu. Nasze bieżące możliwości obejmują wykrywanie problemów, takich jak wstrzyknięcie ścieżki, ryzykowne pobieranie widoku internetowego, różne nieprawidłowe użycie kryptograficzne i inne formy niebezpiecznej obsługi lub przetwarzania niefiltrowanych danych użytkownika.

Swift jest teraz częścią naszego składu obsługiwanych języków programowania, w tym C/C++, Java/Kotlin, JavaScript/TypeScript, Python, Ruby, C# i Go. W sumie te języki umożliwiają nam wykonywanie prawie 400 kompleksowych kontroli kodu, a jednocześnie utrzymanie niskiej liczby wyników fałszywie dodatnich i zapewnienie wysokiej precyzji.

Aby uzyskać więcej informacji na temat konfigurowania usługi GitHub Advanced Security for Azure DevOps, zobacz dokumentację dotyczącą konfigurowania usługi GitHub Advanced Security dla usługi Azure DevOps dla repozytoriów.

Azure Boards

Reguły usługi Team Automation (prywatna wersja zapoznawcza)

Ważne

Od 11.09.2023 r. nie wprowadzamy żadnych nowych organizacji do prywatnej wersji zapoznawczej. Mieliśmy świetną opinię z zaledwie kilkoma drobnymi usterkami, które można rozwiązać. Pracujemy nad tymi usterkami i udostępnimy tę funkcję wszystkim w kilku następnych przebiegach.

Teraz można skonfigurować każdy poziom listy prac, aby zautomatyzować otwieranie i zamykanie/rozwiązywanie elementów roboczych na podstawie stanów ich elementów podrzędnych. Istnieją dwa główne scenariusze, które próbujemy rozwiązać.

  1. Po aktywowaniu pojedynczego elementu podrzędnego aktywuj element nadrzędny.

  2. Gdy wszystkie elementy podrzędne są zamknięte, zamknij element nadrzędny (lub rozwiąż go).

Aby włączyć te ustawienia, kliknij konfigurację na poziomie listy prac dla zespołu. Następnie przejdź do karty Reguły automatyzacji>, aby wyświetlić dwie różne reguły, które można zastosować do listy prac. Każdy poziom listy prac (wymagania, funkcje, epiki) można skonfigurować pod kątem sposobu działania zespołu.

Screenshots of Team Settings.

Na przykład gdy dowolne podrzędne zadanie jest ustawione na Aktywne, ustaw jako aktywny nadrzędny scenariusz użytkownika. Następnie po zakończeniu wszystkich zadań ustaw opcję Historia użytkownika na Zamknięto.

Gif to demo Team automation rules.

Jeśli interesuje Cię rejestracja w prywatnej wersji zapoznawczej, wyślij nam wiadomość e-mail z nazwą organizacji (dev.azure.com/{nazwa organizacji}). Pamiętaj, że ograniczymy liczbę organizacji do wersji zapoznawczej. Mamy nadzieję, że kilka organizacji przekaże opinię, a następnie wydaj wszystkim w ciągu 2–3 przebiegów.

Funkcje zostały nadane priorytetowi na podstawie tego biletu sugestii społeczności deweloperów.

Uwaga

Ta funkcja będzie dostępna tylko w wersji zapoznawczej usługi New Boards Hubs.

Azure Pipelines

Dzienniki potoku zawierają teraz wykorzystanie zasobów

Dzienniki potoku platformy Azure mogą teraz przechwytywać metryki wykorzystania zasobów, takie jak pamięć, użycie procesora CPU i dostępne miejsce na dysku. Dzienniki obejmują również zasoby używane przez agenta potoku i procesy podrzędne, w tym zadania uruchamiane w zadaniu.

Screenshot of logs including resources used by the pipeline.

Jeśli podejrzewasz, że zadanie potoku może napotkać ograniczenia zasobów, włącz pełne dzienniki , aby informacje o wykorzystaniu zasobów zostały wprowadzone do dzienników potoku. Działa to na dowolnym agencie niezależnie od modelu hostingu.

Agent usługi Azure Pipelines obsługuje teraz system Alpine Linux

Agent potoku w wersji 3.227 obsługuje teraz system Alpine Linux w wersji 3.13 lub nowszej. Alpine Linux to popularny obraz kontenera (podstawowy). Agenta można znaleźć na stronie wydań . Wersje alpine Linux agenta mają prefiks vsts-agent-linux-musl np. vsts-agent-linux-musl-x64-3.227.1.tar.gz.

Następne kroki

Uwaga

Te funkcje będą wdrażane w ciągu najbliższych dwóch do trzech tygodni.

Przejdź do usługi Azure DevOps i przyjrzyj się.

Jak przekazać opinię

Chcielibyśmy usłyszeć, co myślisz o tych funkcjach. Użyj menu Pomocy, aby zgłosić problem lub podać sugestię.

Screenshot Make a suggestion.

Możesz również uzyskać porady i odpowiedzi na pytania społeczności w witrynie Stack Overflow.

Dzięki,

Rajesh Ramamurthy