Accorder l’accès aux ressources Azure Kubernetes Fleet Manager avec le contrôle d’accès en fonction du rôle Azure
Le contrôle d’accès en fonction du rôle Azure (RBAC Azure) est un système d’autorisation basé sur Azure Resource Manager qui permet une gestion précise des accès aux ressources Azure.
Cet article fournit une vue d’ensemble des différents rôles RBAC Azure intégrés que vous pouvez utiliser pour accéder aux ressources Azure Kubernetes Fleet Manager (Kubernetes Fleet).
Plan de contrôle
Ce rôle accorde l’accès aux ressources et sous-ressources Fleet Azure Resource Manager (ARM), et s’applique à la ressource Kubernetes Fleet, qu’elle ait ou non un cluster hub.
Nom de rôle | Description | Utilisation |
---|---|---|
Contributeur Azure Kubernetes Fleet Manager | Ce rôle accorde un accès en lecture et écriture aux ressources Azure fournies par Azure Kubernetes Fleet Manager, notamment les flottes, les membres de la flotte, les stratégies de mise à jour des flottes, les exécutions de mises à jour de flottes, etc. | Vous pouvez utiliser ce rôle pour accorder des autorisations Contributeur qui s’appliquent uniquement aux ressources et aux sous-ressources Kubernetes Fleet. Par exemple, ce rôle peut être attribué à un administrateur Azure chargé de définir et de gérer des ressources Fleet. |
Plan de données
Ces rôles accordent l’accès aux objets Kubernetes du hub Fleet et s’appliquent donc uniquement aux ressources Kubernetes Fleet avec un cluster hub.
Vous pouvez affecter des rôles de plan de données à l’étendue du cluster hub Fleet ou à l’étendue d’un espace de noms Kubernetes individuel en ajoutant /namespace/<namespace>
à l’étendue de l’attribution de rôle.
Nom de rôle | Description | Utilisation |
---|---|---|
Azure Kubernetes Fleet Manager RBAC Reader | Accorde un accès en lecture seule à la plupart des ressources Kubernetes au sein d’un espace de noms dans le cluster hub géré par la flotte. Ce rôle n’autorise pas l’affichage des rôles et des liaisons de rôles. Ce rôle n’autorise pas l’affichage des Secrets, car la lecture du contenu de Secrets permet d’accéder aux informations d’identification ServiceAccount dans l’espace de noms, ce qui permet l’accès aux API comme n’importe quel ServiceAccount dans l’espace de noms (une forme d’élévation de privilèges). L’application de ce rôle à l’étendue du cluster fournit un accès à tous les espaces de noms. |
Vous pouvez utiliser ce rôle pour accorder la possibilité de lire des objets Kubernetes non sensibles sélectionnés au niveau de l’espace de noms ou du cluster. Par exemple, vous pouvez accorder ce rôle à des fins de révision. |
Azure Kubernetes Fleet Manager RBAC Writer | Accorde l’accès en lecture et en écriture à la plupart des ressources Kubernetes au sein d’un espace de noms dans le cluster hub géré par la flotte. Ce rôle n’autorise pas l’affichage ni la modification des rôles et des liaisons de rôles. Toutefois, ce rôle permet d’accéder aux Secrets comme n’importe quel ServiceAccount de l’espace de noms. Il peut donc être utilisé pour obtenir les niveaux d’accès API de n’importe quel ServiceAccount dans l’espace de noms. L’application de ce rôle à l’étendue du cluster fournit un accès à tous les espaces de noms. |
Vous pouvez utiliser ce rôle pour accorder la possibilité d’écrire des objets Kubernetes sélectionnés au niveau de l’espace de noms ou du cluster. Par exemple, pour une utilisation par une équipe de projet responsable des objets dans un espace de noms donné. |
Azure Kubernetes Fleet Manager RBAC Admin | Accorde l’accès en lecture et en écriture aux ressources Kubernetes au sein d’un espace de noms dans le cluster hub géré par la flotte. Fournit des autorisations d’écriture sur la plupart des objets d’un espace de noms, à l’exception de l’objet ResourceQuota et de l’objet d’espace de noms lui-même. L’application de ce rôle à l’étendue du cluster fournit un accès à tous les espaces de noms. |
Vous pouvez utiliser ce rôle pour accorder la possibilité d’administrer des objets Kubernetes sélectionnés (y compris les rôles et les liaisons de rôles) au niveau de l’espace de noms ou du cluster. Par exemple, pour une utilisation par une équipe de projet responsable des objets dans un espace de noms donné. |
Azure Kubernetes Fleet Manager RBAC Cluster Admin | Accorde un accès en lecture/écriture à toutes les ressources Kubernetes dans le cluster hub géré par la flotte. | Vous pouvez utiliser ce rôle pour accorder l’accès à tous les objets Kubernetes (y compris les CRD) au niveau de l’espace de noms ou du cluster. |
Exemples d’attributions de rôles
Vous pouvez accorder des rôles RBAC Azure à l’aide d’Azure CLI. Par exemple, pour créer une attribution de rôle dans l’étendue du cluster hub Kubernetes Fleet :
IDENTITY=$(az ad signed-in-user show --output tsv --query id)
FLEET_ID=$(az fleet show --resource-group $GROUP --name $FLEET --output tsv --query id)
az role assignment create --role 'Azure Kubernetes Fleet Manager RBAC Reader' --assignee "$IDENTITY" --scope "$FLEET_ID"
Vous pouvez également limiter les attributions de rôles à un espace de noms Kubernetes individuel. Par exemple, pour créer une attribution de rôle pour l’espace de noms Kubernetes par défaut d’un hub Kubernetes Fleet :
IDENTITY=$(az ad signed-in-user show --output tsv --query id)
FLEET_ID=$(az fleet show --resource-group $GROUP --name $FLEET --output tsv --query id)
az role assignment create --role 'Azure Kubernetes Fleet Manager RBAC Reader' --assignee "$IDENTITY" --scope "$FLEET_ID/namespaces/default"
Azure Kubernetes Service