Ten samouczek zawiera wprowadzenie do podpisywania kodu za pomocą usługi Azure DevOps przy użyciu certyfikatu przechowywanego w Azure Key Vault. Aby wykonać te instrukcje, będziesz potrzebować:
- An Konto platformy Azure
- A Projekt DevOps
- A Magazyn kluczy
- A certyfikat podpisywania kodu zainstalowany w Key Vault. Możesz albo:
Przejdź do tego artykułu, aby zapoznać się z przewodnikiem dotyczącym integracji eSigner z usługą Azure DevOps: Przewodnik integracji podpisywania w chmurze Azure DevOps.
Zarejestruj aplikację platformy Azure
Najpierw musisz zarejestrować nową aplikację platformy Azure, aby można było połączyć się z Key Vault w celu podpisania.
- Zaloguj się do Portal Azure.
- Nawigować do Azure Active Directory. (Kliknij Więcej usług jeśli ikona Azure Active Directory nie jest widoczna).
- Kliknij Rejestracje aplikacji, w lewej kolumnie.
- Kliknij Nowa rejestracja.
- Nadaj swojej aplikacji Nazwa i kliknij Zarejestruj się przycisk. W pozostałych ustawieniach pozostaw wartości domyślne.
- Twoja nowa aplikacja została zarejestrowana. Skopiuj i zapisz wyświetloną wartość Identyfikator aplikacji (klienta), ponieważ będziesz go potrzebować później.
Utwórz klucz klienta
Następnie wygeneruj klucz klienta, który będzie służył jako poświadczenie podczas podpisywania.
- Kliknij Certyfikaty i tajemnice w menu po lewej stronie.
- Kliknij Nowy sekret klienta.
- Podaj tajemnicę swojego klienta Opis Projektu, ustaw czas wygaśnięcia zgodnie z potrzebami i kliknij Dodaj przycisk.
- Skopiuj wartość Twojego nowego klucza klienta natychmiast i zapisz go w bezpiecznym miejscu. Następnym razem, gdy strona zostanie odświeżona, ta wartość zostanie zamaskowana i nieodwracalna.
Włącz dostęp w Key Vault
Teraz musisz włączyć dostęp do swojej aplikacji w Azure Key Vault.
- Przejdź do Key Vault zawierającego certyfikat, którego chcesz użyć do podpisywania, i kliknij Zasady dostępu łącze.
- Kliknij Dodaj zasady dostępu.
- Pod Kluczowe uprawnienia, włączyć
Verify
,Sign
,Get
,List
.
- Pod Tajne uprawnienia, włączyć
Get
iList
.
- Pod Uprawnienia do certyfikatu, włączyć
Get
iList
.
- Kliknij Nie wybrano link pod Wybierz głównego zobowiązanego, a następnie użyj pola wyszukiwania, aby zlokalizować i wybrać aplikację utworzoną w poprzedniej sekcji.
- Kliknij Wybierz przycisk.
- Kliknij Dodaj przycisk.
- Kliknij Zapisz.
- Twoja polityka dostępu jest ustawiona.
Skonfiguruj kompilację DevOps
Teraz możesz skonfigurować swój build. Otwórz swój projekt w usłudze Azure DevOps.
Przechowuj poświadczenia aplikacji jako zmienne
Możesz dołączyć identyfikator aplikacji i klucz tajny klienta bezpośrednio w pliku potoku YAML, ale jest to bezpieczniejsze, jeśli przechowujesz je jako zmienne w DevOps.
- Kliknij Rurociągi.
- Kliknij Biblioteka.
- Kliknij + Grupa zmiennych.
- Nadaj swojej grupie zmiennych nazwę.
- Kliknij Dodaj.
- Wprowadź nazwę zmiennej dla identyfikatora aplikacji, a następnie wklej wartość. Kliknij kłódkę, aby zaszyfrować zmienną po zakończeniu.
- Powtórz ten proces, aby dodać zmienną do klucza tajnego klienta.
- Kliknij Zapisz.
- Połącz grupę zmiennych w swoim potoku. (zastąp VARIABLE-GROUP nazwą Twojej aktualnej grupy zmiennych).
zmienne: - grupa: 'VARIABLE-GROUP'
Dodaj krok potoku, aby zainstalować narzędzie Azure Sign Tool
Narzędzie Azure Sign Tool to narzędzie typu open source, które oferuje ZnakNarzędzie funkcjonalność dla certyfikatów i kluczy przechowywanych w Azure Key Vault. Dodaj następujący krok w potoku, aby zainstalować narzędzie Azure Sign Tool:
- task: DotNetCoreCLI @ 2 input: command: 'custom' custom: 'tool' arguments: 'install --global azuresigntool' displayName: Install AzureSignTool
Dodaj polecenie narzędzia Azure Sign Tool do potoku
- Teraz możesz dodać zadanie, aby podpisać kod w potoku. Będziesz potrzebować następujących informacji:
- Dodaj wywołanie narzędzia Azure Sign Tool do potoku. Zastąp wartości pokazane WIELKIMI LITERAMI rzeczywistymi wartościami:
- task: CmdLine @ 2 dane wejściowe: skrypt: AzureSignTool znak -kvu "KEY-VAULT-URI" -kvi "$ (APPLICATION-ID-VAR)" -kvs "$ (CLIENT-SECRET-VAR)" -kvc CERTIFICATE-NAME -tr "http://ts.ssl.com" -td sha256 "FILE-TO-SIGN" displayName: Sign Code
- Jeśli podpisanie się powiedzie, powinieneś zobaczyć takie dane wyjściowe:
info: AzureSignTool.Program [0] => Plik: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Plik podpisywania D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe info: AzureSignTool. Program [0] => Plik: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Podpisywanie zakończone pomyślnie dla pliku D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe.