Configurer le coffre de clés Key Vault pour la rotation des informations d’identification gérées dans Operator Nexus
Azure Operator Nexus utilise des secrets et des certificats pour gérer la sécurité des composants sur la plateforme. La plateforme Operator Nexus gère la rotation de ces secrets et certificats. Par défaut, Operator Nexus stocke les informations d’identification dans un coffre de clés Key Vault managé. Pour conserver les informations d’identification pivotées dans leur propre instance de Key Vault, l’utilisateur doit configurer sa propre instance de Key Vault pour recevoir les informations d’identification pivotées. Cette configuration nécessite que l’utilisateur configure l’instance Key Vault pour l’instance Azure Operator Nexus. Une fois la création effectuée, l’utilisateur doit ajouter une attribution de rôle au coffre de clés Key Vault du client pour permettre à la plateforme Operator Nexus d’écrire les informations d’identification mises à jour, puis lier le coffre de clés Key Vault du client à la ressource de cluster Nexus.
Prérequis
- Installer la dernière version des extensions de l’interface CLI appropriées
- Obtenez l’ID d’abonnement de l’abonnement du client
Remarque
Un seul coffre de clés Key Vault peut être utilisé pour n’importe quel nombre de clusters.
Configurer Key Vault à l’aide d’une identité managée pour le gestionnaire de clusters
À compter de la version d’API 2024-06-01-public-preview, les identités managées sont utilisées dans le gestionnaire de clusters pour l’accès en écriture pour envoyer les informations d’identification pivotées à un coffre de clés. L’identité du gestionnaire de clusters peut être affectée par le système ou affectée par l’utilisateur et peut être managée directement via des API ou l’interface CLI.
Ces exemples décrivent la configuration d’une identité managée pour un gestionnaire de clusters.
- Créer ou mettre à jour du gestionnaire de clusters avec une identité affectée par le système
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
- Créer ou mettre à jour du gestionnaire de clusters avec une identité affectée par l’utilisateur
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"
- Ajouter une identité affectée par le système au gestionnaire de clusters
az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> --mi-system-assigned
- Ajouter une identité affectée par l’utilisateur au gestionnaire de clusters
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"
Configurer l’archive des secrets du cluster Nexus
Inscrivez l’instance Key Vault cliente en tant qu’archive des secrets pour le cluster Nexus. L’ID de ressource du coffre de clés doit être configuré dans le cluster et activé pour stocker les secrets du cluster.
Exemple :
# 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
Pour obtenir de l’aide supplémentaire :
az networkcloud cluster update --secret-archive ?? --help
Obtenir l’ID principal de l’identité managée du gestionnaire de clusters
Une fois l’identité managée configurée, utilisez l’interface CLI pour afficher l’identité et l’ID du principal associé au sein du gestionnaire de clusters.
Exemple :
az networkcloud clustermanager show --ids /subscriptions/<Subscription ID>/resourceGroups/<Cluster Manager Resource Group Name>/providers/Microsoft.NetworkCloud/clusterManagers/<Cluster Manager Name>
Exemple d’identité affectée par le système :
"identity": {
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"type": "SystemAssigned"
},
Exemple d’identité affectée par l’utilisateur :
"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"
}
}
},
Reportez-vous à Accorder à une identité managée l’accès à une instance Key Vault pour la rotation des informations d’identification afin d’attribuer le rôle approprié à l’ID principal de l’identité managée.
Configurer Key Vault à l’aide d’une identité managée pour le cluster
Important
Notez que cette méthode de configuration d’un coffre de clés pour la rotation des informations d’identification est en préversion. Cette méthode peut uniquement être utilisée avec des coffres de clés qui n’ont pas de pare-feu activé. Si votre environnement nécessite que le pare-feu du coffre de clés soit activé, utilisez la méthode d’identité du gestionnaire de clusters existante.
À compter de l’API 2024-10-01-preview, les identités managées dans la ressource de cluster Nexus peuvent être utilisées au lieu du gestionnaire de clusters. L’identité managée du cluster peut être affectée par le système ou affectée par l’utilisateur et peut être managée directement via des API ou l’interface CLI.
Remarque
Si l’identité managée du cluster Nexus est configurée pour le coffre de clés, ces paramètres remplacent les paramètres configurés dans Configurer Key Vault à l’aide d’une identité managée pour le gestionnaire de clusters
Configurer les paramètres de l’archive des secrets du cluster Nexus
Le paramètre secret-archive-settings du cluster Nexus spécifie l’URI Azure Key Vault où les informations d’identification pivotées sont stockées et l’identité managée utilisée pour y accéder.
Ces exemples décrivent comment configurer une identité managée pour un cluster Nexus et la configurer dans le cadre du paramètre secret-archive-settings.
Remarque
Les paramètres de l’archive des secrets spécifient l’URI Key Vault, et non l’ID de ressource Key Vault, et l’identité managée spécifiée doit être configurée pour le cluster Nexus.
- Créez un cluster Nexus avec une identité affectée par le système pour accéder à Key Vault pour les informations d’identification pivotées.
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>"
- Créez un cluster Nexus avec une identité affectée par l’utilisateur pour accéder à Key Vault pour les informations d’identification pivotées.
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>"
- Mettez à jour le cluster Nexus existant avec l’identité affectée par le système pour accéder à Key Vault pour les informations d’identification pivotées.
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/"
- Mettre à jour un cluster Nexus existant avec une identité affectée par l’utilisateur
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/"
Pour obtenir de l’aide supplémentaire :
az networkcloud cluster update --secret-archive-settings '??' --help
Obtenir l’ID principal pour l’identité managée du cluster
Une fois qu’une identité managée est configurée pour le cluster Nexus, utilisez l’interface CLI pour afficher l’identité et obtenir le principalId de l’identité managée spécifiée dans les paramètres de l’archive des secrets.
Exemple :
az networkcloud cluster show --ids <cluster-resource-id>
Exemple d’identité affectée par le système :
"identity": {
"principalId": "2cb564c1-b4e5-4c71-bbc1-6ae259aa5f87",
"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
"type": "SystemAssigned"
},
Exemple d’identité affectée par l’utilisateur :
"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"
}
}
},
Reportez-vous à Accorder à une identité managée l’accès à une instance Key Vault pour la rotation des informations d’identification afin d’attribuer le rôle approprié à l’ID principal de l’identité managée.
Accorder à une identité managée l’accès à une instance Key Vault pour la rotation des informations d’identification
Remarque
Une identité managée affectée par l’utilisateur peut être créée et octroyée l’accès au coffre de clés avant la création du cluster Nexus et avant le déploiement. Une identité affectée par le système doit être autorisée à accéder au coffre de clés après la création du cluster, mais avant le déploiement.
- Attribuez le rôle de service Enregistreur dans le coffre de clés Key Vault pour Operator Nexus. Vérifiez que le contrôle d’accès en fonction du rôle (RBAC) Azure est sélectionné en tant que modèle d’autorisation pour le coffre de clés dans la vue Configuration de l’accès. Puis, dans l’affichage Contrôle d’accès, choisissez d’ajouter une attribution de rôle.
Nom du rôle | ID de définition de rôle |
---|---|
Rôle de service Enregistreur dans le coffre de clés Key Vault pour Operator Nexus (préversion) | 44f0a1a8-6fea-4b35-980a-8ff50c487c97 |
Exemple :
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>
Si vous utilisez une identité managée affectée par l’utilisateur, ajoutez l’autorisation à l’identité affectée par l’utilisateur
Ajouter une autorisation à une identité affectée par l’utilisateur
Lorsque vous utilisez une identité managée affectée par l’utilisateur pour accéder à une instance Key Vault, un client doit approvisionner l’accès à cette identité pour la plateforme Nexus.
Plus particulièrement, l’autorisation Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
doit être ajoutée à l’identité affectée par l’utilisateur pour Microsoft Entra ID AFOI-NC-MGMT-PME-PROD
. Il s’agit d’une limitation connue de la plateforme qui sera résolue à l’avenir.
- Ouvrez le Portail Azure et recherchez l’identité affectée par l’utilisateur concernée.
- Sous Contrôle d’accès (IAM), cliquez sur Ajouter une attribution de rôle.
- Sélectionnez Rôle : Opérateur d’identité managée. (Consultez les autorisations attribuées par le rôle opérateur-identité-managée).
- Attribuez l’accès à : Utilisateur, groupe ou principal de service.
- Sélectionnez Membre : application AFOI-NC-MGMT-PME-PROD.
- Passez en revue et attribuez.