Dela via


Konfigurera Key Vault för rotation av hanterade autentiseringsuppgifter i Operator Nexus

Azure Operator Nexus använder hemligheter och certifikat för att hantera komponentsäkerhet över hela plattformen. Plattformen Operator Nexus hanterar rotationen av dessa hemligheter och certifikat. Som standard lagrar Operator Nexus autentiseringsuppgifterna i ett hanterat Nyckelvalv. För att behålla de roterade autentiseringsuppgifterna i sitt eget Key Vault måste användaren konfigurera sitt eget Nyckelvalv för att ta emot roterade autentiseringsuppgifter. Den här konfigurationen kräver att användaren konfigurerar Key Vault för Azure Operator Nexus-instansen. När användaren har skapats måste han eller hon lägga till en rolltilldelning i kundens nyckelvalv så att Operator Nexus Platform kan skriva uppdaterade autentiseringsuppgifter och dessutom länka kundens nyckelvalv till Nexus-klusterresursen.

Förutsättningar

  • Installera den senaste versionen av lämpliga CLI-tillägg
  • Hämta prenumerations-ID:t för kundens prenumeration

Kommentar

Ett enda Key Vault kan användas för valfritt antal kluster.

Konfigurera Key Vault med hanterad identitet för Cluster Manager

Från och med API-versionen 2024-06-01-public-preview används hanterade identiteter i Klusterhanteraren för skrivåtkomst för att leverera roterade autentiseringsuppgifter till ett nyckelvalv. Klusterhanterarens identitet kan vara systemtilldelad eller användartilldelad och kan hanteras direkt via API:er eller via CLI.

I de här exemplen beskrivs hur du konfigurerar en hanterad identitet för en klusterhanterare.

  • Skapa eller uppdatera Klusterhanteraren med systemtilldelad identitet
        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

  • Skapa eller uppdatera Klusterhanteraren med användartilldelad identitet
        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"

  • Lägga till systemtilldelad identitet i Klusterhanteraren
        az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> --mi-system-assigned

  • Lägga till användartilldelad identitet i Klusterhanteraren
        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"

Konfigurera Hemligt arkiv för Nexus-kluster

Registrera Customer Key Vault som hemligt arkiv för Nexus-klustret. Resurs-ID:t för nyckelvalvet måste konfigureras i klustret och aktiveras för att lagra klustrets hemligheter.

Exempel:

# 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

Om du vill ha mer hjälp:

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

Hämta huvud-ID:t för den hanterade klusterhanterarens identitet

När en hanterad identitet har konfigurerats använder du CLI för att visa identiteten och tillhörande huvudnamns-ID-data i klusterhanteraren.

Exempel:

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

Exempel på systemtilldelad identitet:

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

Exempel på användartilldelad identitet:

    "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"
            }
        }
    },

Se Bevilja hanterad identitet åtkomst till ett nyckelvalv för rotation av autentiseringsuppgifter för att tilldela lämplig roll till huvud-ID:t för hanterad identitet.

Konfigurera Key Vault med hanterad identitet för kluster

Viktigt!

Observera att den här metoden för att konfigurera ett nyckelvalv för rotation av autentiseringsuppgifter finns i förhandsversionen. Den här metoden kan endast användas med nyckelvalv som inte har brandvägg aktiverat. Om din miljö kräver att nyckelvalvsbrandväggen är aktiverad använder du den befintliga klusterhanterarens identitetsmetod.

Från och med API:et 2024-10-01-preview kan hanterade identiteter i Nexus-klusterresursen användas i stället för Klusterhanteraren. Klusterhanterad identitet kan vara systemtilldelad eller användartilldelad och kan hanteras direkt via API:er eller via CLI.

Kommentar

Om den hanterade Nexus-klusteridentiteten har konfigurerats för nyckelvalvet ersätter de här inställningarna inställningar som konfigurerats i Konfigurera nyckelvalv med hanterad identitet för Klusterhanteraren

Konfigurera arkivinställningar för Nexus-klusterhemlighet

Nexus-klustrets hemlighetsarkivinställningar anger Azure Key Vault-URI:n där roterade autentiseringsuppgifter lagras och den hanterade identitet som används för att komma åt den.

I de här exemplen beskrivs hur du konfigurerar en hanterad identitet för ett Nexus-kluster och konfigurerar den som en del av inställningarna för hemligt arkiv.

Kommentar

Inställningar för hemligt arkiv anger Key Vault-URI:n, inte Key Vault-resurs-ID:t, och den hanterade identitet som anges måste konfigureras för Nexus-klustret.

  • Skapa Nexus-kluster med systemtilldelad identitet för att få åtkomst till Key Vault för roterade autentiseringsuppgifter.
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>"

  • Skapa Nexus-kluster med användartilldelad identitet för att få åtkomst till Key Vault för roterade autentiseringsuppgifter.
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>"

  • Uppdatera befintligt Nexus-kluster med systemtilldelad identitet för att få åtkomst till Key Vault för roterade autentiseringsuppgifter.
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/"

  • Uppdatera befintligt Nexus-kluster med användartilldelad identitet
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/"

Om du vill ha mer hjälp:

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

Hämta huvud-ID:t för klusterhanterad identitet

När en hanterad identitet har konfigurerats för Nexus-klustret använder du CLI för att visa identiteten och hämta principalId för den hanterade identitet som anges i inställningarna för hemligt arkiv.

Exempel:

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

Exempel på systemtilldelad identitet:

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

Exempel på användartilldelad identitet:

    "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"
            }
        }
    },

Se Bevilja hanterad identitet åtkomst till ett nyckelvalv för rotation av autentiseringsuppgifter för att tilldela lämplig roll till huvud-ID:t för hanterad identitet.

Bevilja hanterad identitet åtkomst till ett nyckelvalv för rotation av autentiseringsuppgifter

Kommentar

En användartilldelad hanterad identitet kan skapas och tilldelas åtkomst till nyckelvalvet innan Nexus-klustret skapas och före distributionen. En systemtilldelad identitet måste beviljas åtkomst till nyckelvalvet efter att klustret har skapats men före distributionen.

  • Tilldela rollen Operator Nexus Key Vault Writer Service. Se till att rollbaserad åtkomstkontroll i Azure har valts som behörighetsmodell för nyckelvalvet i konfigurationsvyn Åtkomst. I vyn Åtkomstkontroll väljer du sedan att lägga till en rolltilldelning.
Rollnamn Rolldefinitions-ID
Operatorn Nexus Key Vault Writer Service Role (förhandsversion) 44f0a1a8-6fea-4b35-980a-8ff50c487c97

Exempel:
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>

Om du använder en användartilldelad hanterad identitet fortsätter du med att lägga till behörighet till användartilldelad identitet

Lägga till en behörighet till användartilldelad identitet

När du använder en användartilldelad hanterad identitet för att få åtkomst till ett Key Vault måste en kund etablera åtkomst till den identiteten för Nexus-plattformen. Microsoft.ManagedIdentity/userAssignedIdentities/assign/action Mer specifikt måste behörighet läggas till i den användartilldelade identiteten för AFOI-NC-MGMT-PME-PROD Microsoft Entra-ID. Det är en känd begränsning för plattformen som kommer att åtgärdas i framtiden.

  1. Öppna Azure Portal och leta upp den användartilldelade identiteten i fråga.
  2. Under Åtkomstkontroll (IAM) klickar du på Lägg till rolltilldelning.
  3. Välj roll: Hanterad identitetsoperator. (Se de behörigheter som rollen ger hanterad identitetsoperator).
  4. Tilldela åtkomst till: Användare, grupp eller tjänstens huvudnamn.
  5. Välj Medlem: AFOI-NC-MGMT-PME-PROD-program.
  6. Granska och tilldela.