Condividi tramite


Configurare Key Vault per la rotazione delle credenziali gestite in Operator Nexus

Operatore Nexus di Azure usa segreti e certificati per gestire la sicurezza dei componenti nella piattaforma. La piattaforma Operator Nexus gestisce la rotazione di questi segreti e certificati. Per impostazione predefinita, Operator Nexus archivia le credenziali in un insieme di credenziali delle chiavi gestito. Per mantenere le credenziali ruotate nel proprio Insieme di credenziali delle chiavi, l'utente deve configurare il proprio insieme di credenziali delle chiavi per ricevere le credenziali ruotate. Questa configurazione richiede all'utente di configurare l'insieme di credenziali delle chiavi per l'istanza Nexus dell'operatore di Azure. Dopo la creazione, l'utente deve aggiungere un'assegnazione di ruolo nell'insieme di credenziali delle chiavi del cliente per consentire alla piattaforma Operator Nexus di scrivere le credenziali aggiornate e collegare l'insieme di credenziali delle chiavi del cliente alla risorsa del cluster Nexus.

Prerequisiti

Nota

Un singolo insieme di credenziali delle chiavi può essere usato per un numero qualsiasi di cluster.

Configurare l'insieme di credenziali delle chiavi usando l'identità gestita per Cluster Manager

A partire dalla versione dell'API 2024-06-01-public-preview, le identità gestite in Gestione cluster vengono usate per l'accesso in scrittura per distribuire le credenziali ruotate a un insieme di credenziali delle chiavi. L'identità di Cluster Manager può essere assegnata dal sistema o assegnata dall'utente e può essere gestita direttamente tramite LE API o tramite l'interfaccia della riga di comando.

Questi esempi descrivono come configurare un'identità gestita per Un Cluster Manager.

  • Creare o aggiornare Gestione cluster con identità assegnata dal sistema
        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

  • Creare o aggiornare Gestione cluster con identità assegnata dall'utente
        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"

  • Aggiungere un'identità assegnata dal sistema a Cluster Manager
        az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> --mi-system-assigned

  • Aggiungere un'identità assegnata dall'utente a 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"

Configurare l'archivio segreto del cluster Nexus

Registrare Customer Key Vault come archivio segreto per il cluster Nexus. L'ID risorsa dell'insieme di credenziali delle chiavi deve essere configurato nel cluster e abilitato per archiviare i segreti del cluster.

Esempio:

# 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

Per altre informazioni:

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

Ottenere l'ID entità per l'identità gestita di Cluster Manager

Dopo aver configurato un'identità gestita, usare l'interfaccia della riga di comando per visualizzare l'identità e i dati dell'ID entità associati all'interno di Gestione cluster.

Esempio:

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

Esempio di identità assegnata dal sistema:

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

Esempio di identità assegnata dall'utente:

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

Vedere Concedere l'accesso all'identità gestita a un insieme di credenziali delle chiavi per la rotazione delle credenziali per assegnare il ruolo appropriato all'ID entità di identità gestita.

Configurare l'insieme di credenziali delle chiavi usando l'identità gestita per il cluster

Importante

Si noti che questo metodo per la configurazione di un insieme di credenziali delle chiavi per la rotazione delle credenziali è in anteprima. Questo metodo può essere usato solo con insiemi di credenziali delle chiavi in cui non è abilitato il firewall. Se per l'ambiente è necessario abilitare il firewall dell'insieme di credenziali delle chiavi, usare il metodo di identità di Cluster Manager esistente.

A partire dall'API 2024-10-01-preview, è possibile usare le identità gestite nella risorsa cluster Nexus anziché Cluster Manager. L'identità gestita del cluster può essere assegnata dal sistema o assegnata dall'utente e può essere gestita direttamente tramite le API o tramite l'interfaccia della riga di comando.

Nota

Se l'identità gestita del cluster Nexus è configurata per l'insieme di credenziali delle chiavi, queste impostazioni supereranno le impostazioni configurate in Configurare l'insieme di credenziali delle chiavi usando l'identità gestita per Cluster Manager

Configurare le impostazioni di archiviazione dei segreti del cluster Nexus

Le impostazioni secret-archive-settings del cluster Nexus specificano l'URI di Azure Key Vault in cui vengono archiviate le credenziali ruotate e l'identità gestita usata per accedervi.

Questi esempi descrivono come configurare un'identità gestita per un cluster Nexus e configurarla come parte di secret-archive-settings.

Nota

Le impostazioni dell'archivio segreto specificano l'URI dell'insieme di credenziali delle chiavi, non l'ID risorsa key vault e l'identità gestita specificata deve essere configurata per il cluster Nexus.

  • Creare un cluster Nexus con identità assegnata dal sistema per accedere a Key Vault per le credenziali ruotate.
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>"

  • Creare un cluster Nexus con identità assegnata dall'utente per accedere a Key Vault per le credenziali ruotate.
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>"

  • Aggiornare il cluster Nexus esistente con l'identità assegnata dal sistema per accedere a Key Vault per le credenziali ruotate.
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/"

  • Aggiornare il cluster Nexus esistente con l'identità assegnata dall'utente
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/"

Per altre informazioni:

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

Ottenere l'ID entità per l'identità gestita del cluster

Dopo aver configurato un'identità gestita per il cluster Nexus, usare l'interfaccia della riga di comando per visualizzare l'identità e ottenere il valore principalId per l'identità gestita specificata nelle impostazioni dell'archivio segreto.

Esempio:

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

Esempio di identità assegnata dal sistema:

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

Esempio di identità assegnata dall'utente:

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

Vedere Concedere l'accesso all'identità gestita a un insieme di credenziali delle chiavi per la rotazione delle credenziali per assegnare il ruolo appropriato all'ID entità di identità gestita.

Concedere l'accesso all'identità gestita a un insieme di credenziali delle chiavi per la rotazione delle credenziali

Nota

È possibile creare e assegnare un'identità gestita assegnata dall'utente all'insieme di credenziali delle chiavi prima della creazione del cluster Nexus e prima della distribuzione. È necessario concedere a un'identità assegnata dal sistema l'accesso all'insieme di credenziali delle chiavi dopo la creazione del cluster, ma prima della distribuzione.

  • Assegnare il ruolo del servizio Writer dell'insieme di credenziali delle chiavi Nexus. Assicurarsi che il controllo degli accessi in base al ruolo di Azure sia selezionato come modello di autorizzazione per l'insieme di credenziali delle chiavi nella visualizzazione Configurazione di Accesso. Nella visualizzazione Controllo di accesso selezionare quindi per aggiungere un'assegnazione di ruolo.
Nome ruolo ID definizione ruolo
Ruolo del servizio Writer dell'insieme di credenziali delle chiavi Nexus (anteprima) 44f0a1a8-6fea-4b35-980a-8ff50c487c97

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

Se si usa un'identità gestita assegnata dall'utente, procedere con l'aggiunta dell'autorizzazione all'identità assegnata dall'utente

Aggiungere un'autorizzazione all'identità assegnata dall'utente

Quando si usa un'identità gestita assegnata dall'utente per accedere a un insieme di credenziali delle chiavi, un cliente deve effettuare il provisioning dell'accesso a tale identità per la piattaforma Nexus. In particolare, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action l'autorizzazione deve essere aggiunta all'identità assegnata dall'utente per AFOI-NC-MGMT-PME-PROD Microsoft Entra ID. Si tratta di una limitazione nota della piattaforma che verrà risolta in futuro.

  1. Aprire il portale di Azure e individuare l'identità assegnata dall'utente in questione.
  2. In Controllo di accesso (IAM) fare clic su Aggiungi assegnazione di ruolo.
  3. Selezionare Ruolo: Operatore identità gestita. Vedere le autorizzazioni fornite dal ruolo managed-identity-operator.
  4. Assegnare l'accesso a: Utente, gruppo o entità servizio.
  5. Selezionare Membro: applicazione AFOI-NC-MGMT-PME-PROD.
  6. Esaminare e assegnare.