Udostępnij za pośrednictwem


Konfigurowanie usługi Key Vault na potrzeby rotacji poświadczeń zarządzanych w operatorze Nexus

Operator platformy Azure Nexus wykorzystuje wpisy tajne i certyfikaty do zarządzania zabezpieczeniami składników na całej platformie. Platforma Operator Nexus obsługuje rotację tych wpisów tajnych i certyfikatów. Domyślnie operator Nexus przechowuje poświadczenia w zarządzanej usłudze Key Vault. Aby zachować obrócone poświadczenia we własnym magazynie Key Vault, użytkownik musi skonfigurować własną usługę Key Vault, aby otrzymywać obrócone poświadczenia. Ta konfiguracja wymaga od użytkownika skonfigurowania usługi Key Vault dla wystąpienia operatora platformy Azure Nexus. Po utworzeniu użytkownik musi dodać przypisanie roli w usłudze Customer Key Vault, aby umożliwić operatorowi Nexus Platformy zapisywanie zaktualizowanych poświadczeń i dodatkowo łączenie magazynu kluczy klienta z zasobem klastra Nexus.

Wymagania wstępne

  • Instalowanie najnowszej wersji odpowiednich rozszerzeń interfejsu wiersza polecenia
  • Pobieranie identyfikatora subskrypcji dla subskrypcji klienta

Uwaga

Dla dowolnej liczby klastrów można użyć pojedynczego magazynu kluczy.

Konfigurowanie usługi Key Vault przy użyciu tożsamości zarządzanej dla menedżera klastra

Począwszy od wersji interfejsu API 2024-06-01-public-preview, tożsamości zarządzane w Menedżerze klastra są używane do uzyskiwania dostępu do zapisu w celu dostarczania obróconych poświadczeń do magazynu kluczy. Tożsamość Menedżera klastra może być przypisana przez system lub przypisana przez użytkownika i może być zarządzana bezpośrednio za pośrednictwem interfejsów API lub interfejsu wiersza polecenia.

W tych przykładach opisano sposób konfigurowania tożsamości zarządzanej dla Menedżera klastra.

  • Tworzenie lub aktualizowanie Menedżera klastra przy użyciu tożsamości przypisanej przez system
        az networkcloud clustermanager create --name "clusterManagerName" --location "location" \
        --analytics-workspace-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
        --fabric-controller-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName" \
        --managed-resource-group-configuration name="my-managed-rg" --tags key1="myvalue1" key2="myvalue2" --resource-group "resourceGroupName" --mi-system-assigned

  • Tworzenie lub aktualizowanie Menedżera klastra przy użyciu tożsamości przypisanej przez użytkownika
        az networkcloud clustermanager create --name <Cluster Manager Name> --location <Location> \
        --analytics-workspace-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
        --fabric-controller-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName" \
        --managed-resource-group-configuration name="my-managed-rg" --tags key1="myvalue1" key2="myvalue2" \
        --resource-group <Resource Group Name> --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAI"

  • Dodawanie tożsamości przypisanej przez system do Menedżera klastra
        az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> --mi-system-assigned

  • Dodawanie tożsamości przypisanej przez użytkownika do Menedżera klastra
        az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> \
        --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAI"

Konfigurowanie archiwum tajnego klastra Nexus

Zarejestruj usługę Customer Key Vault jako archiwum tajne dla klastra Nexus. Identyfikator zasobu magazynu kluczy musi być skonfigurowany w klastrze i włączony do przechowywania wpisów tajnych klastra.

Przykład:

# Set and enable Customer Key Vault on Nexus cluster
az networkcloud cluster update --ids /subscriptions/<subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Nexus Cluster Name> --secret-archive "{key-vault-id:<Key Vault Resource ID>,use-key-vault:true}"

# Show Customer Key Vault setting (secretArchive) on the Nexus cluster
az networkcloud cluster show --ids /subscriptions/<subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Nexus Cluster Name> --query secretArchive

Aby uzyskać więcej pomocy:

az networkcloud cluster update --secret-archive ?? --help

Pobieranie identyfikatora podmiotu zabezpieczeń tożsamości zarządzanej menedżera klastra

Po skonfigurowaniu tożsamości zarządzanej użyj interfejsu wiersza polecenia, aby wyświetlić tożsamość i skojarzone dane identyfikatora podmiotu zabezpieczeń w menedżerze klastra.

Przykład:

az networkcloud clustermanager show --ids /subscriptions/<Subscription ID>/resourceGroups/<Cluster Manager Resource Group Name>/providers/Microsoft.NetworkCloud/clusterManagers/<Cluster Manager Name>

Przykład tożsamości przypisanej przez system:

    "identity": {
        "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "type": "SystemAssigned"
    },

Przykład tożsamości przypisanej przez użytkownika:

    "identity": {
        "type": "UserAssigned",
        "userAssignedIdentities": {
            "/subscriptions/<subscriptionID>/resourcegroups/<resourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentityName>": {
                "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
                "principalId": "bbbbbbbb-cccc-dddd-2222-333333333333"
            }
        }
    },

Aby przypisać odpowiednią rolę do identyfikatora jednostki tożsamości zarządzanej, zapoznaj się z tematem Udzielanie dostępu tożsamości zarządzanej do magazynu kluczy na potrzeby rotacji poświadczeń.

Konfigurowanie usługi Key Vault przy użyciu tożsamości zarządzanej dla klastra

Ważne

Należy pamiętać, że ta metoda konfigurowania magazynu kluczy na potrzeby rotacji poświadczeń jest dostępna w wersji zapoznawczej. Tej metody można używać tylko z magazynami kluczy, które nie mają włączonej zapory. Jeśli środowisko wymaga włączenia zapory magazynu kluczy, użyj istniejącej metody tożsamości Menedżera klastra.

Począwszy od interfejsu API 2024-10-01-preview, tożsamości zarządzane w zasobie klastra Nexus mogą być używane zamiast Menedżera klastra klastra. Tożsamość zarządzana klastra może być przypisana przez system lub przypisana przez użytkownika i może być zarządzana bezpośrednio za pośrednictwem interfejsów API lub interfejsu wiersza polecenia.

Uwaga

Jeśli tożsamość zarządzana klastra Nexus jest skonfigurowana dla magazynu kluczy, te ustawienia zastąpią ustawienia skonfigurowane w temacie Konfigurowanie usługi Key Vault przy użyciu tożsamości zarządzanej dla menedżera klastra

Konfigurowanie ustawień archiwum wpisu tajnego klastra Nexus

Ustawienia wpisu tajnego-archiwum klastra Nexus określają identyfikator URI usługi Azure Key Vault, w którym przechowywane są obrócone poświadczenia, oraz tożsamość zarządzaną, która jest używana do uzyskiwania do niego dostępu.

W tych przykładach opisano sposób konfigurowania tożsamości zarządzanej dla klastra Nexus i konfigurowania go w ramach ustawień tajnych archiwum.

Uwaga

Ustawienia archiwum wpisów tajnych określają identyfikator URI usługi Key Vault, a nie identyfikator zasobu usługi Key Vault, a określona tożsamość zarządzana musi być skonfigurowana dla klastra Nexus.

  • Utwórz klaster Nexus z tożsamością przypisaną przez system, aby uzyskać dostęp do usługi Key Vault na potrzeby rotacji poświadczeń.
az networkcloud cluster create --name "<cluster-name>" \
  --resource-group "<cluster-resource-group>" \
  ...
  --mi-system-assigned \
  --secret-archive-settings identity-type="SystemAssignedIdentity" vault-uri="https://<key vault name>.vault.azure.net/"
  ...
  --subscription "<subscription>"

  • Utwórz klaster Nexus z tożsamością przypisaną przez użytkownika, aby uzyskać dostęp do usługi Key Vault w celu uzyskania obróconych poświadczeń.
az networkcloud cluster create --name "<cluster-name>" \
  --resource-group "<cluster-resource-group>" \
  ...
  --mi-user-assigned "<user-assigned-identity-resource-id>" \
  --secret-archive-settings identity-type="UserAssignedIdentity" identity-resource-id="<user-assigned-identity-resource-id>" vault-uri="https://<key vault name>.vault.azure.net/"
  ...
  --subscription "<subscription>"

  • Zaktualizuj istniejący klaster Nexus przy użyciu tożsamości przypisanej przez system, aby uzyskać dostęp do usługi Key Vault pod kątem rotacji poświadczeń.
az networkcloud cluster update --ids <cluster-resource-id> \
  --mi-system-assigned \
  --secret-archive-settings identity-type="SystemAssignedIdentity" vault-uri="https://<key vault name>.vault.azure.net/"

  • Aktualizowanie istniejącego klastra Nexus przy użyciu tożsamości przypisanej przez użytkownika
az networkcloud cluster update --ids <cluster-resource-id> \
  --mi-user-assigned "<user-assigned-identity-resource-id>" \
  --secret-archive-settings identity-type="UserAssignedIdentity" identity-resource-id="<user-assigned-identity-resource-id>" vault-uri="https://<key vault name>.vault.azure.net/"

Aby uzyskać więcej pomocy:

az networkcloud cluster update --secret-archive-settings '??' --help

Pobieranie identyfikatora podmiotu zabezpieczeń dla tożsamości zarządzanej klastra

Po skonfigurowaniu tożsamości zarządzanej dla klastra Nexus użyj interfejsu wiersza polecenia, aby wyświetlić tożsamość i uzyskać identyfikator principalId tożsamości zarządzanej określonej w ustawieniach archiwum wpisów tajnych.

Przykład:

az networkcloud cluster show --ids <cluster-resource-id>

Przykład tożsamości przypisanej przez system:

    "identity": {
        "principalId": "2cb564c1-b4e5-4c71-bbc1-6ae259aa5f87",
        "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
        "type": "SystemAssigned"
    },

Przykład tożsamości przypisanej przez użytkownika:

    "identity": {
        "type": "UserAssigned",
        "userAssignedIdentities": {
            "/subscriptions/<subscriptionID>/resourcegroups/<resourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentityName>": {
                "clientId": "e67dd610-99cf-4853-9fa0-d236b214e984",
                "principalId": "8e6d23d6-bb6b-4cf3-a00f-4cd640ab1a24"
            }
        }
    },

Aby przypisać odpowiednią rolę do identyfikatora jednostki tożsamości zarządzanej, zapoznaj się z tematem Udzielanie dostępu tożsamości zarządzanej do magazynu kluczy na potrzeby rotacji poświadczeń.

Udzielanie tożsamości zarządzanej dostępu do magazynu kluczy na potrzeby rotacji poświadczeń

Uwaga

Tożsamość zarządzana przypisana przez użytkownika może zostać utworzona i przypisana do magazynu kluczy przed utworzeniem klastra Nexus i przed wdrożeniem. Tożsamość przypisana przez system musi mieć dostęp do magazynu kluczy po utworzeniu klastra, ale przed wdrożeniem.

  • Przypisz rolę usługi zapisywania usługi Operator Nexus Key Vault. Upewnij się, że kontrola dostępu oparta na rolach platformy Azure jest wybrana jako model uprawnień dla magazynu kluczy w widoku konfiguracji programu Access. Następnie w widoku Kontrola dostępu wybierz, aby dodać przypisanie roli.
Nazwa roli Identyfikator definicji roli
Rola usługi zapisywania operatora Nexus Key Vault (wersja zapoznawcza) 44f0a1a8-6fea-4b35-980a-8ff50c487c97

Przykład:
az role assignment create --assignee <Managed Identity Principal Id> --role 44f0a1a8-6fea-4b35-980a-8ff50c487c97 --scope /subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.KeyVault/vaults/<Key Vault Name>

Jeśli używasz tożsamości zarządzanej przypisanej przez użytkownika, przejdź do dodawania uprawnień do tożsamości przypisanej przez użytkownika

Dodawanie uprawnienia do tożsamości przypisanej przez użytkownika

W przypadku korzystania z tożsamości zarządzanej przypisanej przez użytkownika w celu uzyskania dostępu do usługi Key Vault klient musi aprowizować dostęp do tej tożsamości dla platformy Nexus. W szczególności Microsoft.ManagedIdentity/userAssignedIdentities/assign/action należy dodać uprawnienia do tożsamości przypisanej przez użytkownika dla identyfikatora Entra firmy AFOI-NC-MGMT-PME-PROD Microsoft. Jest to znane ograniczenie platformy, które zostanie rozwiązane w przyszłości.

  1. Otwórz witrynę Azure Portal i znajdź tożsamość przypisaną przez użytkownika.
  2. W obszarze Kontrola dostępu (Zarządzanie dostępem i tożsamościami) kliknij pozycję Dodaj przypisanie roli.
  3. Wybierz pozycję Rola: Operator tożsamości zarządzanej. (Zobacz uprawnienia, które rola zapewnia operator tożsamości zarządzanej).
  4. Przypisz dostęp do: użytkownik, grupa lub jednostka usługi.
  5. Wybierz pozycję Członek: aplikacja AFOI-NC-MGMT-PME-PROD.
  6. Przejrzyj i przypisz.