Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Selon votre rôle en tant qu’opérateur de cluster ou développeur, vous pouvez fournir un environnement (Project) dans le bureau AKS pour que les développeurs puissent déployer, migrer ou gérer des applications, ou les autoriser à déployer et à gérer des applications en libre-service sur un cluster AKS dédié. Vous pouvez également accorder à d’autres développeurs l’accès à gérer, observer et dépanner des applications.
Par défaut, lorsque vous créez un projet dans le bureau AKS, vous pouvez le partager avec d’autres personnes de votre organisation et définir les autorisations pour vous. Toutefois, vous devrez peut-être conserver des autorisations au fil du temps ou les automatiser ou définir un modèle d’exploitation en définissant les autorisations appropriées.
Cet article explique comment gérer les autorisations RBAC pour permettre aux membres de l’équipe d’utiliser le bureau AKS.
Note
AkS Desktop ne fournit actuellement pas d’option d’interface utilisateur pour modifier les autorisations project après la création. Pour mettre à jour les autorisations ou accorder l’accès à d’autres utilisateurs après la création d’un projet, utilisez le portail Azure ou Azure CLI, comme décrit dans cet article.
Note
Lorsque vous créez des projets dans le bureau AKS, les espaces de noms managés AKS sont créés dans le même groupe de ressources que votre cluster.
Prerequisites
- Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, vous pouvez créer un compte Azure gratuit.
- Azure CLI version 2.64.0 ou ultérieure installée et configurée. Vérifiez votre version en utilisant la commande
az --version. Pour installer ou mettre à niveau Azure CLI, consultez Installer Azure CLI. - L'extension
aks-previewAzure CLI. Installez-le à l’aide de laaz extension add --name aks-previewcommande. - Une compréhension de base du contrôle d’accès en fonction du rôle Azure (RBAC), consultez Qu’est-ce qu’Azure RBAC ? et les rôles intégrés Azure.
- Groupe de ressources Azure qui contient votre cluster AKS et tous les projets managés AKS créés via le bureau AKS.
- Un cluster AKS Standard qui répond aux exigences de bureau AKS ou à un cluster AUTOMATIQUE AKS, qui est le cluster Kubernetes sur lequel vos applications s’exécutent.
- Un Azure Container Registry (ACR) destiné à l'hébergement de vos images conteneur pour le déploiement.
Responsabilités des opérateurs de cluster
En tant qu’opérateur de cluster, vous êtes responsable de l’approvisionnement et de la configuration de l’infrastructure fondamentale qui permet aux équipes de développement de créer et de déployer des applications. Vos responsabilités sont les suivantes :
- Création de l’infrastructure Azure requise (groupe de ressources, cluster AKS, ACR).
- Configuration de l’intégration d’ACR à votre cluster AKS.
- Attribution d’autorisations pour les utilisateurs pour créer des projets.
- Délégation facultative de la gestion des autorisations aux créateurs de projets.
Créer des ressources d’infrastructure
Pour créer les ressources d’infrastructure, vous avez besoin d’autorisations pour créer des ressources dans Azure. Si vous n’avez pas le rôle RBAC propriétaire , vous avez besoin du rôle Contributeur pour créer des ressources et le rôle Administrateur de l’accès utilisateur pour attribuer des autorisations à d’autres utilisateurs. Attribuez des autorisations aux utilisateurs afin qu’ils puissent créer des ressources dans le groupe de ressources en procédant comme suit :
Définissez des variables d’environnement pour votre groupe de ressources et votre nom de cluster. Veillez à remplacer les placeholders par les noms réels de votre groupe de ressources et de cluster.
export RESOURCE_GROUP=<infra-resource-group> export CLUSTER_NAME=<cluster-name> export SUBSCRIPTION_ID=$(az account show --query id --output tsv) export ACR_NAME=<acr-name>Attribuez le rôle nécessaire pour créer des ressources dans le groupe de ressources à l’aide de la
az role assignment createcommande. Veillez à remplacer<user-id>par l’ID d’utilisateur ou de principal de service approprié.az role assignment create --role "Contributor" \ --assignee <user-id> \ --scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP
Intégrer ACR à votre cluster AKS
Attachez votre registre de conteneurs Azure à votre cluster AKS à l’aide de la az aks update commande.
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--attach-acr $ACR_NAME
Sélectionner un modèle de création de projet
En tant qu’opérateur de cluster, vous avez deux options pour la façon dont les développeurs travaillent avec Projects dans AKS Desktop :
- Modèle libre-service : les développeurs créent et gèrent leurs propres projets. Cette approche offre aux développeurs une autonomie totale, mais nécessite de leur accorder le rôle de Contributeur d'espace de noms du service Azure Kubernetes. Lorsque les développeurs créent leurs propres projets, ils reçoivent automatiquement le rôle Propriétaire sur l’espace de noms managé et peuvent immédiatement commencer à déployer des applications.
- Modèle managé : vous créez des projets pour les développeurs et leur accordez l’accès. Actuellement, vous pouvez le configurer lors de la création du projet. Cette approche offre un contrôle plus important sur la création de projet, mais si vous devez affecter davantage de membres d’équipe à la post-création du projet, vous devez leur attribuer les autorisations nécessaires à l’aide du portail Azure ou d’Azure CLI, comme décrit dans les sections suivantes.
Modèle libre-service : permettre aux développeurs de créer leurs propres projets
Pour permettre aux développeurs de créer leurs propres projets, attribuez-leur le rôle Contributeur d’espace de noms Azure Kubernetes Service sur le cluster AKS. Les projets de bureau AKS créent des espaces de noms managés AKS en arrière-plan, et ce rôle accorde les autorisations nécessaires.
Attribuez aux développeurs le rôle Contributeur de l'espace de noms Azure Kubernetes Service à l’aide de la commande az role assignment create. Veillez à remplacer le champ de substitution par l'ID d'utilisateur ou de principal de service approprié.
az role assignment create \
--role "Azure Kubernetes Service Namespace Contributor" \
--assignee <developer-user-id> \
--scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME
Modèle managé : Créer des projets pour les développeurs et attribuer l’accès
Si vous préférez créer des projets pour le compte des développeurs, vous devez attribuer trois rôles essentiels pour leur permettre d’accéder au cluster et de travailler dans leur espace de noms affecté :
-
Rôle d’utilisateur du cluster Azure Kubernetes Service : permet aux développeurs de télécharger les informations d’identification du cluster à l’aide de la
az aks get-credentialscommande. - Utilisateur de l’espace de noms Azure Kubernetes Service : accorde l’accès à l’espace de noms managé.
- Un des rôles RBAC Kubernetes (Lecteur, Enregistreur ou Administrateur) : contrôle les actions qu’ils peuvent effectuer dans l’espace de noms.
Les trois rôles sont requis pour permettre aux développeurs d’accéder et d’utiliser correctement leurs projets dans le bureau AKS. Sans le rôle d’utilisateur du cluster Azure Kubernetes Service, les développeurs ne peuvent pas télécharger le fichier kubeconfig nécessaire pour se connecter au cluster.
Attribuer l’accès au cluster
Attribuez le rôle d’utilisateur du cluster Azure Kubernetes Service pour activer le téléchargement kubeconfig à l’aide de la az role assignment create commande. Veillez à remplacer le champ de substitution par l'ID d'utilisateur ou de principal de service approprié.
az role assignment create \
--role "Azure Kubernetes Service Cluster User Role" \
--assignee <developer-user-id> \
--scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME
Attribuer l’accès à l’espace de noms
Attribuez le rôle Utilisateur de Namespace Azure Kubernetes Service pour le projet/espace de noms spécifique en utilisant la commande az role assignment create. Veillez à remplacer le champ de substitution par l'ID d'utilisateur ou de principal de service approprié.
export NAMESPACE_NAME=<namespace-or-project-name>
az role assignment create \
--role "Azure Kubernetes Service Namespace User" \
--assignee <developer-user-id> \
--scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME/namespaces/$NAMESPACE_NAME
Attribuer un rôle RBAC Kubernetes
Attribuez le rôle RBAC Kubernetes approprié en fonction de ce que le développeur doit faire :
- Pour l'accès en lecture seule, Lecteur RBAC du service Azure Kubernetes.
- Éditeur RBAC Azure Kubernetes Service pour le déploiement d’applications.
- Administration RBAC Azure Kubernetes Service pour un contrôle administratif complet.
Obtenez l’ID de cluster AKS à l’aide de la
az aks showcommande.AKS_ID=$(az aks show \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --query id \ --output tsv)Attribuez le rôle RBAC Kubernetes approprié à l’aide de la
az role assignment createcommande. Veillez à remplacer le champ de substitution par l'ID d'utilisateur ou de principal de service approprié. L’exemple suivant affecte le rôle Auteur RBAC du service Azure Kubernetes :az role assignment create \ --role "Azure Kubernetes Service RBAC Writer" \ --assignee <developer-user-id> \ --scope $AKS_ID/namespaces/$NAMESPACE_NAME
Autoriser les créateurs de projet à attribuer des autorisations d’accès (facultatif)
Si vous souhaitez que les créateurs de Project puissent attribuer des autorisations d’accès à d’autres utilisateurs, accordez-leur le rôle Administrateur de l’accès utilisateur . Cette autorisation permet à l’utilisateur de définir des autorisations sur toutes les ressources du groupe de ressources d’infrastructure.
Attribuez le rôle Administrateur d’accès utilisateur à l’aide de la az role assignment create commande. Veillez à remplacer le champ de substitution par l'ID d'utilisateur ou de principal de service approprié.
az role assignment create \
--role "User Access Administrator" \
--assignee <user-id> \
--scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP
Responsabilités des développeurs
En tant que développeur, vous travaillez dans un environnement de bureau AKS existant pour déployer des applications, gérer des projets et surveiller vos charges de travail. L’opérateur de cluster vous accorde les autorisations nécessaires pour effectuer ces tâches. Vos responsabilités sont les suivantes :
- Déploiement d’applications dans Projects.
- Affichage et gestion des applications déployées.
- Surveillance des métriques et des journaux d’activité des applications.
- Modification de l’accès au projet (si nécessaire).
Rôles d’utilisateur requis pour les développeurs
Pour utiliser akS desktop en tant que développeur, votre opérateur de cluster doit vous attribuer trois rôles essentiels :
Rôle d’utilisateur du cluster Azure Kubernetes Service : vous permet de télécharger les informations d’identification du cluster à l’aide de la
az aks get-credentialscommande, ce qui est nécessaire pour se connecter au cluster à partir de votre ordinateur local ou via le bureau AKS.Utilisateur de l’espace de noms Azure Kubernetes Service : accorde l’accès à votre espace de noms managé/projet attribué.
Un des rôles RBAC Kubernetes (Lecteur, Enregistreur ou Administrateur) : contrôle les actions que vous pouvez effectuer dans l’espace de noms.
- Pour l'accès en lecture seule, Lecteur RBAC du service Azure Kubernetes.
- Éditeur RBAC Azure Kubernetes Service pour le déploiement d’applications.
- Administration RBAC Azure Kubernetes Service pour un contrôle administratif complet.
Comment les autorisations sont attribuées
Les autorisations sont affectées en fonction de la façon dont les projets sont créés dans le bureau AKS :
Créateur de projet : reçoit automatiquement le rôle Propriétaire sur l’espace de noms managé et toutes les autorisations nécessaires pour déployer des applications.
Autres utilisateurs : doit être autorisé à accéder par l’opérateur de cluster ou le créateur de projet. Ils reçoivent :
- Rôle d’utilisateur du cluster Azure Kubernetes Service sur le cluster.
- Rôle utilisateur de l’espace de noms Azure Kubernetes Service sur l’espace de noms.
- Un des rôles RBAC Kubernetes (Lecteur, Enregistreur ou Administrateur).
Pour déployer des applications, vous avez besoin du rôle Writer ou Admin . Pour plus d'informations, consultez les rôles intégrés des espaces de noms gérés.
Afficher les métriques d’application
Note
La remplissage des métriques peut prendre jusqu’à 10 minutes une fois qu’une application est déployée.
Dans l’écran d’accueil de Project, vous pouvez afficher des métriques pour votre application, telles que l’utilisation du processeur, de la mémoire et du réseau. Ces métriques sont obtenues à partir du point de terminaison géré de Prometheus, pris en charge par un espace de travail Azure Monitor.
Pour afficher les métriques, vous avez besoin du rôle Lecteur de données de surveillance sur l’espace de travail Azure Monitor. Ce rôle accorde l’accès à toutes les métriques du cluster, pas seulement à vos projets spécifiques.
Votre opérateur de cluster peut attribuer cette autorisation en procédant comme suit :
Identifiez l’espace de travail Azure Monitor utilisé par votre cluster à l’aide de la
az alerts-management prometheus-rule-group listcommande.export WORKSPACE_ACC_FOR_PROM_RULES=$(az alerts-management prometheus-rule-group list \ --resource-group "$RESOURCE_GROUP" \ --query "[?clusterName=='$CLUSTER_NAME'] | [0].scopes[0]" \ --output tsv)Attribuez le rôle Lecteur de données de surveillance à l’aide de la
az role assignment createcommande. Veillez à remplacer le champ de substitution par l'ID d'utilisateur ou de principal de service approprié.az role assignment create \ --role "Monitoring Data Reader" \ --assignee <user-id> \ --scope $WORKSPACE_ACC_FOR_PROM_RULES
Modifier les autorisations d’accès au projet
Actuellement, AKS Desktop ne fournit pas d’option d’interface utilisateur (UI) pour modifier les autorisations de projet après la création. Si vous devez mettre à jour vos autorisations ou accorder l’accès à d’autres utilisateurs, collaborez avec votre opérateur de cluster pour mettre à jour les autorisations à l’aide du portail Azure ou d’Azure CLI. Les étapes suivantes décrivent comment attribuer les rôles nécessaires à l’aide d’Azure CLI :
Attribuer l’accès au cluster
Attribuez le rôle d’utilisateur du cluster Azure Kubernetes Service pour activer le téléchargement kubeconfig à l’aide de la az role assignment create commande. Veillez à remplacer le champ de substitution par l'ID d'utilisateur ou de principal de service approprié.
az role assignment create \
--role "Azure Kubernetes Service Cluster User Role" \
--assignee <developer-user-id> \
--scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME
Attribuer l’accès à l’espace de noms
Attribuez le rôle Utilisateur de Namespace Azure Kubernetes Service pour le projet/espace de noms spécifique en utilisant la commande az role assignment create. Veillez à remplacer le champ de substitution par l'ID d'utilisateur ou de principal de service approprié.
export NAMESPACE_NAME=<namespace-or-project-name>
az role assignment create \
--role "Azure Kubernetes Service Namespace User" \
--assignee <developer-user-id> \
--scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME/namespaces/$NAMESPACE_NAME
Attribuer un rôle RBAC Kubernetes
Attribuez le rôle RBAC Kubernetes approprié en fonction de ce que le développeur doit faire :
- Pour l'accès en lecture seule, Lecteur RBAC du service Azure Kubernetes.
- Éditeur RBAC Azure Kubernetes Service pour le déploiement d’applications.
- Administration RBAC Azure Kubernetes Service pour un contrôle administratif complet.
Obtenez l’ID de cluster AKS à l’aide de la
az aks showcommande.AKS_ID=$(az aks show \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --query id \ --output tsv)Attribuez le rôle RBAC Kubernetes approprié à l’aide de la
az role assignment createcommande. Veillez à remplacer le champ de substitution par l'ID d'utilisateur ou de principal de service approprié. L’exemple suivant affecte le rôle Auteur RBAC du service Azure Kubernetes :az role assignment create \ --role "Azure Kubernetes Service RBAC Writer" \ --assignee <developer-user-id> \ --scope $AKS_ID/namespaces/$NAMESPACE_NAME
Accorder des autorisations pour l’affichage des métriques (facultatif)
Pour accorder des autorisations pour afficher les métriques, suivez les étapes de la section Afficher les métriques de l’application .