Предоставление доступа к ресурсам Azure Kubernetes Fleet Manager с помощью управления доступом на основе ролей Azure
Управление доступом на основе ролей Azure (Azure RBAC) — это система авторизации, основанная на Azure Resource Manager, которая обеспечивает точное управление доступом к ресурсам Azure.
В этой статье представлен обзор различных встроенных ролей Azure RBAC, которые можно использовать для доступа к ресурсам Azure Kubernetes Fleet Manager (Kubernetes Fleet).
Уровень управления
Эта роль предоставляет доступ к ресурсам и подресурсам парка Azure Resource Manager (ARM) и применяется как ресурс Kubernetes Fleet с кластером концентратора, так и без нее.
Имя роли | Description | Использование |
---|---|---|
Участник диспетчера флота Azure Kubernetes | Эта роль предоставляет доступ на чтение и запись к ресурсам Azure, предоставляемым диспетчером флотов Azure Kubernetes, включая флоты, членов флота, стратегии обновления флота, запуски обновлений флота и многое другое. | Эту роль можно использовать для предоставления разрешений участника, которые применяются исключительно к ресурсам и подресурсам Kubernetes Fleet. Например, эту роль можно предоставить администратору Azure, чтобы определить и сохранить ресурсы Флота. |
Плоскость данных
Эти роли предоставляют доступ к объектам Kubernetes концентратора Fleet и поэтому применимы только к ресурсам Парка Kubernetes с кластером концентратора.
Роли плоскости данных можно назначить в области кластера Fleet Hub или в отдельной области пространства имен Kubernetes, добавив /namespace/<namespace>
к области назначения ролей.
Имя роли | Description | Использование |
---|---|---|
Средство чтения RBAC диспетчера флота Azure Kubernetes | Предоставляет доступ только для чтения к большинству ресурсов Kubernetes в пространстве имен в кластере, управляемом флотом. Оно не позволяет просматривать роли или привязки ролей. Эта роль не позволяет просматривать секреты, так как чтение содержимого секретов обеспечивает доступ к ServiceAccount учетным данным в пространстве имен, что позволит API получить доступ как к любому ServiceAccount в пространстве имен (форма эскалации привилегий). Применение этой роли в области кластера предоставляет доступ ко всем пространствам имен. |
Эту роль можно использовать для предоставления возможности чтения выбранных нечувствительных объектов Kubernetes в пространстве имен или области кластера. Например, вы можете предоставить эту роль в целях проверки. |
Модуль записи RBAC диспетчера флота Azure Kubernetes | Предоставляет доступ на чтение и запись к большинству ресурсов Kubernetes в пространстве имен в кластере, управляемом флотом. Эта роль не позволяет просматривать или изменять роли или привязки ролей. Однако эта роль позволяет получать доступ к секретам как к любому ServiceAccount в пространстве имен, поэтому его можно использовать для получения уровней доступа API любого ServiceAccount из пространств имен. Применение этой роли в области кластера предоставляет доступ ко всем пространствам имен. |
Эту роль можно использовать для предоставления возможности записи выбранных объектов Kubernetes в пространстве имен или области кластера. Например, для использования командой проекта, ответственной за объекты в заданном пространстве имен. |
Администратор RBAC диспетчера парка Azure Kubernetes | Предоставляет доступ на чтение и запись к ресурсам Kubernetes в пространстве имен в кластере, управляемом флотом. Предоставляет разрешения на запись для большинства объектов в пространстве имен, за исключением ResourceQuota объекта и самого объекта пространства имен. Применение этой роли в области кластера предоставляет доступ ко всем пространствам имен. |
Эту роль можно использовать для предоставления возможности администрирования выбранных объектов Kubernetes (включая роли и привязки ролей) в пространстве имен или области кластера. Например, для использования командой проекта, ответственной за объекты в заданном пространстве имен. |
Администратор кластера RBAC диспетчера парка Azure Kubernetes | Предоставляет доступ на чтение и запись ко всем ресурсам Kubernetes в кластере, управляемом флотом. | Эту роль можно использовать для предоставления доступа ко всем объектам Kubernetes (включая CRD) в пространстве имен или области кластера. |
Примеры назначений ролей
Роли Azure RBAC можно предоставить с помощью Azure CLI. Например, чтобы создать назначение ролей в области кластера Kubernetes Fleet Hub:
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"
Можно также задать назначение ролей отдельному пространству имен Kubernetes. Например, чтобы создать назначение ролей для пространства имен Kubernetes По умолчанию Kubernetes Kubernetes:
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