Chcesz skonfigurować bezpieczny dostęp do Microsoft Azure z poziomu GitHub Actions dla wdrożeń infrastruktury i aplikacji? Jeśli tak, to ten przewodnik jest dla Ciebie. Pokażę Ci, jak to zrobić krok po kroku, wykorzystując Azure CLI.
Dlaczego OIDC?
Dlaczego to rozwiązanie jest bezpieczniejsze od tradycyjnego Service Principal z kluczem (secret)? Ponieważ nie tworzymy konta z hasłem, które trzeba rotować i chronić przed wyciekiem.
Mechanizm ten działa na zasadzie Workload Identity Federation. Polega on na powiązaniu obiektu Service Principal w Azure z konkretnym repozytorium GitHub. Dzięki protokołowi OIDC (OpenID Connect), GitHub wymienia swój token tożsamości na krótko żyjący token dostępu do Azure.
Więcej o tym mechanizmie przeczytasz w dokumentacji Microsoft.
Wymagania
Do wykonania poniższych kroków będziesz potrzebować Azure CLI.
Konfiguracja krok po kroku
Po zalogowaniu się do Azure (az login), wykonaj poniższe polecenia w terminalu. Dla wygody możesz też użyć Cloud Shell dostępnego w Azure Portal.
1. Tworzenie aplikacji i Service Principal
Najpierw utworzymy App Registration oraz Service Principal.
# Tworzymy App Registration i pobieramy appId
az ad app create --display-name "gh-action-private" --query "appId" -o tsv
# UWAGA: Skopiuj wyświetlony appId. Będzie on używany w kolejnych komendach jako [appId].
# Tworzymy Service Principal dla aplikacji
az ad sp create --id [appId]
Pierwsza komenda utworzy nowy obiekt App Registration w Microsoft Entra ID.
