Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Usługa Azure Key Vault umożliwia deweloperom bezpieczne przechowywanie poufnych informacji, takich jak hasła, klucze interfejsu API i certyfikaty, oraz zarządzanie nimi. W tym artykule opisano sposób zapytania i wykorzystania tajemnic z usługi Azure Key Vault w potoku.
Wymagania wstępne
| produkt | Wymagania |
|---|---|
| Azure DevOps | — projekt usługi Azure DevOps. Uprawnienia: - - Aby udzielić dostępu do wszystkich linii w projekcie: musisz być członkiem Grupy Administratorzy Projektu . — Aby utworzyć połączenia usług: musisz mieć rolę Administrator lub Twórca dla połączeń usług . |
| GitHub | — Konto usługi GitHub i repozytorium GitHub. Połączenie usługi GitHub do autoryzowania usługi Azure Pipelines. |
| Błękit | - Subskrypcja platformy Azure . |
Tworzenie magazynu kluczy
Zaloguj się do witryny Azure Portal, a następnie wybierz pozycję Utwórz zasób.
W obszarze Key Vault wybierz pozycję Utwórz , aby utworzyć nową usługę Azure Key Vault.
Wybierz swoją subskrypcję z menu rozwijanego, a następnie wybierz istniejącą grupę zasobów lub utwórz nową. Wprowadź nazwę magazynu kluczy, wybierz region, wybierz warstwę cenową, a następnie wybierz przycisk Dalej, jeśli chcesz skonfigurować dodatkowe właściwości. W przeciwnym razie wybierz pozycję Przejrzyj i utwórz , aby zachować ustawienia domyślne.
Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.
Konfigurowanie uwierzytelniania
Tworzenie tożsamości zarządzanej przypisanej przez użytkownika
Zaloguj się do witryny Azure Portal, a następnie wyszukaj usługę Tożsamości zarządzane na pasku wyszukiwania.
Wybierz pozycję Utwórz i wypełnij wymagane pola w następujący sposób:
- Subskrypcja: wybierz swoją subskrypcję z menu rozwijanego.
- Grupa zasobów: wybierz istniejącą grupę zasobów lub utwórz nową.
- Region: wybierz region z menu rozwijanego.
- Nazwa: Wprowadź nazwę dla zarządzanej tożsamości przypisanej użytkownikowi.
Po zakończeniu wybierz pozycję Przejrzyj i utwórz .
Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu, a następnie skopiuj identyfikator subskrypcji i klienta, które będą potrzebne w następnych krokach.
Przejdź do ustawień>Właściwości i skopiuj Identyfikator dzierżawcy tożsamości zarządzanej, aby użyć później.
Konfigurowanie zasad dostępu do magazynu kluczy
Przejdź do portalu Azure i użyj paska wyszukiwania, aby znaleźć magazyn kluczy, który utworzyłeś wcześniej.
Wybierz pozycję Zasady dostępu, a następnie wybierz pozycję Utwórz , aby dodać nowe zasady.
W obszarze Uprawnienia do wpisu tajnego zaznacz pola wyboru Pobierz i Wyświetl.
Wybierz Dalej, a następnie w pasku wyszukiwania wklej Identyfikator klienta tożsamości zarządzanej, którą utworzyłeś wcześniej.
Wybierz tożsamość zarządzaną, wybierz Dalej, a następnie ponownie wybierz Dalej.
Przejrzyj nowe zasady, a następnie wybierz pozycję Utwórz po zakończeniu.
Tworzenie połączenia z usługą
Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.
Wybierz Ustawienia projektu>Połączenia usługi, a następnie wybierz Nowe połączenie z usługą.
Wybierz pozycję Azure Resource Manager, a następnie wybierz pozycję Dalej.
W obszarze Typ tożsamości wybierz pozycję Tożsamość zarządzana z menu rozwijanego.
Dla Krok 1: Szczegóły tożsamości zarządzanej wypełnij pola w następujący sposób:
Subskrypcja tożsamości zarządzanej: Wybierz subskrypcję zawierającą tożsamość zarządzaną.
Grupa zasobów dla tożsamości zarządzanej: wybierz grupę zasobów, w której jest hostowana tożsamość zarządzana.
Zarządzana tożsamość: Wybierz swoją zarządzaną tożsamość z menu rozwijanego.
W przypadku kroku 2. Zakres platformy Azure wypełnij pola w następujący sposób:
Poziom zakresu połączenia z usługą: wybierz pozycję Subskrypcja.
Subskrypcja połączenia z usługą: wybierz subskrypcję, do której zarządzana tożsamość uzyska dostęp.
Grupa zasobów dla połączenia z usługą: (opcjonalnie) Określ tę opcję, jeśli chcesz ograniczyć dostęp do określonej grupy zasobów.
W kroku 3: Szczegóły połączenia z usługą:
Nazwa połączenia z usługą: podaj nazwę połączenia z usługą.
Dokumentacja zarządzania usługami: (opcjonalnie) Dołącz informacje kontekstowe z bazy danych ITSM.
Opis: (Opcjonalnie) Dodaj opis.
W obszarze Zabezpieczenia zaznacz pole Udziel uprawnień dostępu do wszystkich potoków , aby zezwolić wszystkim potokom na korzystanie z tego połączenia z usługą. Jeśli pozostawisz to niezaznaczone, musisz ręcznie udzielić dostępu dla każdego potoku.
Wybierz pozycję Zapisz , aby zweryfikować i utworzyć połączenie usługi.
Przetwarzanie zapytań i używanie tajemnic w linii przetwarzania
Za pomocą zadania usługi Azure Key Vault można teraz wykonywać zapytania i pobierać wpisy tajne z usługi Azure Key Vault i używać ich w kolejnych zadaniach w potoku. Należy pamiętać, że wpisy tajne muszą być jawnie mapowane na zmienne środowiskowe, jak pokazano w poniższym przykładzie:
pool:
vmImage: 'ubuntu-latest'
steps:
- task: AzureKeyVault@2 # Download Azure Key Vault secrets.
inputs:
azureSubscription: 'SERVICE_CONNECTION_NAME' # Name of the service connection. Alias: ConnectedServiceName.
KeyVaultName: 'KEY_VAULT_NAME' # Name of the key vault.
SecretsFilter: '*' # Secrets filter. Default: *.
- bash: |
echo "Secret Found! $MY_MAPPED_ENV_VAR"
env:
MY_MAPPED_ENV_VAR: $(SECRET_NAME)
Wynik z ostatniego kroku bash powinien wyglądać następująco:
Secret Found! ***
Uwaga
Aby wysłać zapytanie o wiele wpisów tajnych z usługi Azure Key Vault, użyj SecretsFilter danych wejściowych i podaj rozdzielaną przecinkami listę nazw wpisów tajnych, na przykład: "secret1, secret2".