Freigeben über


Einrichten eines Schlüsseltresors für die Drehung verwalteter Anmeldeinformationen in Operator Nexus

Azure Operator Nexus verwendet Geheimnisse und Zertifikate, um die Komponentensicherheit auf der gesamten Plattform zu verwalten. Die Operator Nexus-Plattform übernimmt die Drehung dieser Geheimnisse und Zertifikate. Standardmäßig speichert Operator Nexus die Anmeldeinformationen in einem verwalteten Schlüsseltresor. Um die gedrehten Anmeldeinformationen in ihrem eigenen Schlüsseltresor beizubehalten, muss der Benutzer den Schlüsseltresor für die Azure Operator Nexus-Instanz einrichten. Nach der Erstellung muss der Benutzer dem Schlüsseltresor des Kunden eine Rollenzuweisung hinzufügen, damit die Operator Nexus Platform aktualisierte Anmeldeinformationen schreiben kann und zusätzlich den Schlüsseltresor des Kunden mit der Nexus Cluster-Ressource verknüpft.

Voraussetzungen

Hinweis

Ein einzelner Schlüsseltresor kann für eine beliebige Anzahl von Clustern verwendet werden.

Konfigurieren einer verwalteten Identität für Cluster-Manager

Ab der 2024-06-01-public-preview-API werden verwaltete Identitäten im Cluster-Manager für den Schreibzugriff auf rotierte Anmeldeinformationen in einen Schlüsseltresor verwendet. Die Cluster-Manager-Identität kann vom System oder vom Benutzer zugewiesenen sein und direkt über APIs oder über CLI verwaltet werden.

In diesen Beispielen wird beschrieben, wie Sie eine verwaltete Identität für einen Cluster-Manager konfigurieren.

  • Erstellen oder Aktualisieren eines Cluster Managers mit systemseitig zugewiesener Identität
        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
  • Erstellen oder Aktualisieren eines Cluster Managers mit benutzerseitig zugewiesener Identität
        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"
  • Hinzufügen einer systemseitig zugewiesenen Identität zum Cluster-Manager
        az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> --mi-system-assigned
  • Hinzufügen einer benutzerseitig zugewiesenen Identität zum Cluster-Manager
        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"

Abrufen der Prinzipal-ID für die verwaltete Identität

Nachdem eine verwaltete Identität konfiguriert wurde, verwenden Sie die CLI, um die Identität und die zugehörigen Prinzipal-ID-Daten im Cluster-Manager anzuzeigen.

Beispiel:

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

Beispiel für systemseitig zugewiesene Identität:

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

Beispiel für benutzerseitig zugewiesene Identität:

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

Verwenden von App-IDs für Key Vault-Zugriff

Wichtig

Die Verwendung von App-IDs für den Customer Key Vault-Zugriff ist veraltet, und der Support wird in einer zukünftigen Version entfernt. Es wird empfohlen, Prinzipale mit verwalteter Identität zu verwenden.

Anstelle von verwalteter Identitäten gewähren die folgenden Anwendungs-IDs Zugriff auf den Key Vault.

  • Stellen Sie sicher, dass der Ressourcenanbieter Microsoft.NetworkCloud beim Kundenabonnement registriert ist.
az provider register --namespace 'Microsoft.NetworkCloud' --subscription <Subscription ID>
  • Verwenden Sie bei zugewiesenem Rollenzugriff auf den Schlüsseltresor die folgenden App-IDs als Prinzipal-IDs.
Environment App-Name App-ID
Produktion AFOI-NC-RP-PME-PROD 05cf5e27-931d-47ad-826d-cb9028d8bd7a
Produktion AFOI-NC-MGMT-PME-PROD 3365d4ea-bb16-4bc9-86dd-f2c8cf6f1f56

Schreiben von Updates für Anmeldeinformationen an einen Schlüsseltresor des Kunden im Nexus-Cluster

  • Weisen Sie die Dienstrolle Operator Nexus Key Vault Writer zu. Stellen Sie sicher, dass die rollenbasierte Zugriffssteuerung in Azure als Berechtigungsmodell für den Schlüsseltresor in der Ansicht Zugriffskonfiguration ausgewählt ist. Wählen Sie in der Ansicht Zugriffssteuerung die Option „Rollenzuweisung hinzufügen“ aus.
Rollenname Rollendefinitions-ID
Dienstrolle Operator Nexus Key Vault Writer (Preview) 44f0a1a8-6fea-4b35-980a-8ff50c487c97

Beispiel:

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>
  • Der Benutzer ordnet den Schlüsseltresor des Kunden dem Operator Nexus-Cluster zu. Die Ressourcen-ID des Schlüsseltresors muss im Cluster konfiguriert und aktiviert sein, um die Geheimnisse des Clusters zu speichern.

Beispiel:

# 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

Hinzufügen einer Berechtigung zu einer benutzerseitig zugewiesenen Identität

Wenn Sie eine benutzerseitig zugewiesene Identität verwenden, fügen Sie dieser Ressource die folgende Rollenzuweisung hinzu:

  1. Öffnen Sie das Azure-Portal, und suchen Sie die betreffende benutzerseitig zugewiesene Identität.
  2. Wählen Sie unter Zugriffssteuerung (IAM) die Option Rollenzuweisung hinzufügen aus.
  3. Wählen Sie als Rolle „Operator für verwaltete Identität“ aus. (Sehen Sie sich die Berechtigungen an, die von der Rolle Operator für verwaltete Identität bereitgestellt werden.)
  4. Weisen Sie Benutzer, Gruppe oder Dienstprinzipal den Zugriff zu.
  5. Wählen Sie als Mitglied die Anwendung AFOI-NC-MGMT-PME-PROD aus.
  6. Überprüfen Sie Ihre Auswahl, und bestätigen Sie die Zuweisung.

Weitere Hilfe:

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