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
- Installare la versione più recente delle estensioni dell'interfaccia della riga di comando appropriate
- Ottenere l'ID sottoscrizione per la sottoscrizione del cliente
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.
- Aprire il portale di Azure e individuare l'identità assegnata dall'utente in questione.
- In Controllo di accesso (IAM) fare clic su Aggiungi assegnazione di ruolo.
- Selezionare Ruolo: Operatore identità gestita. Vedere le autorizzazioni fornite dal ruolo managed-identity-operator.
- Assegnare l'accesso a: Utente, gruppo o entità servizio.
- Selezionare Membro: applicazione AFOI-NC-MGMT-PME-PROD.
- Esaminare e assegnare.