Szybki start: ustawianie i pobieranie certyfikatu z usługi Azure Key Vault przy użyciu programu Azure PowerShell

W tym przewodniku Szybki start utworzysz magazyn kluczy w usłudze Azure Key Vault przy użyciu programu Azure PowerShell. Azure Key Vault to usługa w chmurze, która działa jako bezpieczny magazyn wpisów tajnych. Możesz bezpiecznie przechowywać klucze, hasła, certyfikaty oraz inne wpisy tajne. Aby uzyskać więcej informacji na temat usługi Key Vault, możesz zapoznać się z omówieniem. Program Azure PowerShell służy do tworzenia zasobów platformy Azure i zarządzania nimi przy użyciu poleceń lub skryptów. Następnie należy przechowywać certyfikat.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Azure Cloud Shell

Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.

Aby uruchomić środowisko Azure Cloud Shell:

Opcja Przykład/link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. Zrzut ekranu przedstawiający przykład narzędzia Try It dla usługi Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Przycisk uruchamiania usługi Azure Cloud Shell.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Zrzut ekranu przedstawiający przycisk usługi Cloud Shell w witrynie Azure Portal

Aby użyć usługi Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.

  3. Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając klawisze Ctrl+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++V w systemie macOS.

  4. Wybierz klawisz Enter, aby uruchomić kod lub polecenie.

Jeśli postanowisz zainstalować program PowerShell i używać go lokalnie, to ten samouczek wymaga modułu Azure PowerShell w wersji 1.0.0 lub nowszej. Wpisz polecenie $PSVersionTable.PSVersion, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczne będzie uaktualnienie, zobacz Instalowanie modułu Azure PowerShell. Jeśli używasz programu PowerShell lokalnie, musisz też uruchomić polecenie Connect-AzAccount, aby utworzyć połączenie z platformą Azure.

Connect-AzAccount

Tworzenie grupy zasobów

Grupa zasobów to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi. Użyj polecenia cmdlet New-AzResourceGroup programu Azure PowerShell, aby utworzyć grupę zasobów o nazwie myResourceGroup w lokalizacji eastus.

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

Tworzenie magazynu kluczy

Użyj polecenia cmdlet New-AzKeyVault programu Azure PowerShell, aby utworzyć usługę Key Vault w grupie zasobów z poprzedniego kroku. Konieczne będzie podanie pewnych informacji:

  • Nazwa magazynu kluczy: ciąg zawierający od 3 do 24 znaków, który może zawierać tylko cyfry (0–9), litery (a-z, A-Z) i łączniki (-)

    Ważne

    Każdy magazyn kluczy musi mieć unikatową nazwę. Zastąp <ciąg your-unique-keyvault-name> nazwą magazynu kluczy w poniższych przykładach.

  • Nazwa grupy zasobów: myResourceGroup.

  • Lokalizacja: EastUS.

New-AzKeyVault -Name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "EastUS"

Dane wyjściowe tego polecenia cmdlet pokazują właściwości nowo utworzonej usługi Key Vault. Zanotuj dwie poniższe właściwości:

  • Nazwa magazynu: nazwa podana powyżej parametru -Name.
  • Identyfikator URI magazynu: w tym przykładzie jest to https://< jour-unique-keyvault-name.vault.azure.net/>. Aplikacje korzystające z magazynu za pomocą jego interfejsu API REST muszą używać tego identyfikatora URI.

Twoje konto platformy Azure jest teraz jedynym kontem z uprawnieniami do wykonywania jakichkolwiek operacji na tym nowym magazynie.

Udzielanie dostępu do magazynu kluczy

Aby udzielić aplikacji uprawnień do magazynu kluczy za pomocą kontroli dostępu opartej na rolach (RBAC), przypisz rolę przy użyciu polecenia cmdlet programu Azure PowerShell New-AzRoleAssignment.

New-AzRoleAssignment -RoleDefinitionName "Key Vault Secrets User" -SignInName "<your-email-address>" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name>"

Zastąp <ciąg your-email-address>, <subscription-id>, <resource-group-name i <your-unique-keyvault-name>> rzeczywistymi wartościami. <Twój adres e-mail> to nazwa logowania. Zamiast tego możesz użyć parametru -ObjectId i identyfikatora obiektu Entra firmy Microsoft.

Dodawanie certyfikatu do usługi Key Vault

Aby teraz dodać certyfikat do magazynu. Ten certyfikat może być używany przez aplikację.

Użyj tych poleceń, aby utworzyć certyfikat z podpisem własnym z zasadami o nazwie ExampleCertificate :

$Policy = New-AzKeyVaultCertificatePolicy -SecretContentType "application/x-pkcs12" -SubjectName "CN=contoso.com" -IssuerName "Self" -ValidityInMonths 6 -ReuseKeyOnRenewal

Add-AzKeyVaultCertificate -VaultName "<your-unique-keyvault-name>" -Name "ExampleCertificate" -CertificatePolicy $Policy

Teraz możesz odwołać się do tego certyfikatu dodanego do usługi Azure Key Vault przy użyciu jego identyfikatora URI. Użyj polecenia https://<your-unique-keyvault-name>.vault.azure.net/certificates/ExampleCertificate, aby pobrać bieżącą wersję.

Aby wyświetlić wcześniej przechowywany certyfikat:

Get-AzKeyVaultCertificate -VaultName "<your-unique-keyvault-name>" -Name "ExampleCertificate"

Rozwiązywanie problemów:

Operacja zwróciła nieprawidłowy kod stanu "Zabronione"

Jeśli wystąpi ten błąd, konto, które uzyskuje dostęp do usługi Azure Key Vault, nie ma odpowiednich uprawnień do tworzenia certyfikatów.

Uruchom następujące polecenie programu Azure PowerShell, aby przypisać odpowiednie uprawnienia:

Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> -ObjectId <AzureObjectID> -PermissionsToCertificates get,list,update,create

Czyszczenie zasobów

Inne przewodniki szybkiego startu i samouczki w tej kolekcji bazują na tym przewodniku. Jeśli planujesz korzystać z innych przewodników Szybki start i samouczków, pozostaw te zasoby na swoim miejscu.

Gdy grupa zasobów i wszystkie powiązane zasoby nie będą już potrzebne, możesz użyć polecenia cmdlet Remove-AzResourceGroup programu Azure PowerShell.

Remove-AzResourceGroup -Name "myResourceGroup"

Następne kroki

W tym przewodniku Szybki start utworzono usługę Key Vault i zapisano w niej certyfikat. Aby dowiedzieć się więcej na temat usługi Key Vault i sposobu jej integracji z aplikacjami, przejdź do poniższych artykułów.