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 rotierten Anmeldeinformationen in ihrer eigenen Key Vault-Instanz beizubehalten, muss der Benutzer seine eigene Key Vault-Instanz konfigurieren, um rotierte Anmeldeinformationen zu erhalten. Für diese Konfiguration muss der Benutzer Key Vault 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 von Key Vault mithilfe einer verwalteten Identität für Cluster-Manager

Ab der API-Version „2024-06-01-public-preview“ werden verwaltete Identitäten im Cluster-Manager für den Schreibzugriff verwendet, um rotierte Anmeldeinformationen in einem Schlüsseltresor bereitzustellen. Die Cluster-Manager-Identität kann systemseitig oder benutzerseitig zugewiesen sein und direkt über APIs oder über die 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"

Konfigurieren des Geheimnisarchivs für Nexus-Cluster

Registrieren Sie den Kundenschlüsseltresor als Geheimnisarchiv für den Nexus-Cluster. 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

Weitere Hilfe:

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

Abrufen der Prinzipal-ID für die verwaltete Cluster-Manager-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": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "type": "SystemAssigned"
    },

Beispiel für benutzerseitig zugewiesene Identität:

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

Informationen zum Zuweisen der entsprechenden Rolle zur Prinzipal-ID der verwalteten Identität finden Sie unter Gewähren des Zugriffs auf eine Key Vault-Instanz für die Rotation von Anmeldeinformationen für eine verwaltete Identität.

Konfigurieren von Key Vault mithilfe einer verwalteten Identität für den Cluster

Wichtig

Beachten Sie, dass sich diese Methode zum Konfigurieren eines Schlüsseltresors für die Rotation von Anmeldeinformationen in der Vorschau befindet. Diese Methode kann nur mit Schlüsseltresoren verwendet werden, für die keine Firewall aktiviert ist. Wenn für Ihre Umgebung die Schlüsseltresorfirewall aktiviert sein muss, verwenden Sie die vorhandene Identitätsmethode von Cluster-Manager.

Ab der API-Version „2024-10-01-preview“ können verwaltete Identitäten in der Nexus-Clusterressource anstelle des Cluster-Managers verwendet werden. Die verwaltete Clusteridentität kann systemseitig oder benutzerseitig zugewiesen sein und direkt über APIs oder über die CLI verwaltet werden.

Hinweis

Wenn die verwaltete Identität des Nexus-Clusters für den Schlüsseltresor konfiguriert ist, haben diese Einstellungen Vorrang vor den unter Konfigurieren von Key Vault mithilfe einer verwalteten Identität für Cluster-Manager konfigurierten Einstellungen.

Konfigurieren der Einstellungen des Geheimnisarchivs für Nexus-Cluster

Mit secret-archive-settings des Nexus-Clusters werden der Azure Key Vault-URI, unter dem rotierte Anmeldeinformationen gespeichert werden, und die verwaltete Identität angegeben, die für den Zugriff darauf verwendet wird.

In diesen Beispielen wird beschrieben, wie Sie eine verwaltete Identität für einen Nexus-Cluster und als Teil von secret-archive-settings konfigurieren.

Hinweis

Die Einstellungen des Geheimnisarchivs geben den Key Vault-URI und nicht die Key Vault-Ressourcen-ID an, und die angegebene verwaltete Identität muss für den Nexus-Cluster konfiguriert sein.

  • Erstellen Sie einen Nexus-Cluster mit systemseitig zugewiesener Identität, um für rotierte Anmeldeinformationen auf Key Vault zuzugreifen:
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>"

  • Erstellen Sie einen Nexus-Cluster mit benutzerseitig zugewiesener Identität, um für rotierte Anmeldeinformationen auf Key Vault zuzugreifen:
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>"

  • Aktualisieren Sie einen vorhandenen Nexus-Cluster mit systemseitig zugewiesener Identität, um für rotierte Anmeldeinformationen auf Key Vault zuzugreifen:
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/"

  • Aktualisieren des vorhandenen Nexus-Clusters mit benutzerseitig zugewiesener Identität
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/"

Weitere Hilfe:

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

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

Nachdem eine verwaltete Identität für den Nexus-Cluster konfiguriert wurde, verwenden Sie die CLI, um die Identität anzuzeigen und die Prinzipal-ID (principalId) für die verwaltete Identität abzurufen, die in den Einstellungen des Geheimnisarchivs angegeben ist.

Beispiel:

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

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

Informationen zum Zuweisen der entsprechenden Rolle zur Prinzipal-ID der verwalteten Identität finden Sie unter Gewähren des Zugriffs auf eine Key Vault-Instanz für die Rotation von Anmeldeinformationen für eine verwaltete Identität.

Gewähren des Zugriffs auf verwaltete Identitäten auf Key Vault für die Rotation von Anmeldeinformationen für eine verwaltete Identität

Hinweis

Eine benutzerseitig zugewiesene verwaltete Identität kann erstellt und ihr kann Zugriff auf den Schlüsseltresor zugewiesen werden, bevor der Nexus-Cluster erstellt wird und bevor die Bereitstellung erfolgt. Einer systemseitig zugewiesenen Identität muss nach der Clustererstellung, jedoch vor der Bereitstellung Zugriff auf den Schlüsseltresor gewährt werden.

  • 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>

Wenn Sie eine benutzerseitig zugewiesene verwaltete Identität verwenden, fahren Sie mit dem Hinzufügen einer Berechtigung zur benutzerseitig zugewiesenen Identität.

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

Wenn eine benutzerseitig zugewiesene verwaltete Identität für den Zugriff auf eine Key Vault-Instanz verwendet wird, muss ein Kunde Zugriff auf diese Identität für die Nexus-Plattform bereitstellen. Insbesondere muss die Microsoft.ManagedIdentity/userAssignedIdentities/assign/action-Berechtigung zur benutzerseitig zugewiesenen Identität für AFOI-NC-MGMT-PME-PROD in Microsoft Entra ID hinzugefügt werden. Dies ist eine bekannte Einschränkung der Plattform, die in Zukunft behoben werden wird.

  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.