Как я могу сделать управление доступом на основе ролей в службе Azure Kubernetes?
Я развернул свои модули приложений в службе Azure Kubernetes через VSTS. У меня есть идея по kubernetes с RBAC на локальном кластере через создание пользователей. Теперь я хочу создать некоторые роли и назначить различные разрешения для ресурсов kubernetes для моих разработчиков и тестеров, а также в службе Azure Kubernetes. Я исследовал это и прошел через разные ссылки, но я не получил должного представления об этом. Насколько я понимаю, мы можем назначать разрешения для ролей только пользователям, имеющим доступ в Azure Active Directory. если я ошибаюсь Кто-нибудь может меня поправить.
Я нашел один способ, как OpenID Connect Tokens. Для этого я сослался на следующую ссылку. но я понятия не имею, что такое провайдер идентификации и как генерировать различные токены из провайдера идентификации, идентификатора клиента и токена клиента, которые упомянуты в приведенной выше ссылке?
Может ли кто-нибудь помочь мне сделать RBAC в Azure Kubernetes Service или какие-либо альтернативные способы для этого, а не я упомянул выше?
1 ответ
Вы можете использовать Azure AD RBAC и / или внутренний RBAC k8s (который точно такой же, как в локальном кластере).
Для Azure AD RBAC вы должны использовать тот же подход, что и для внутренних пользователей k8s, но вам необходимо связать роли с объектами Azure AD:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: binding_name
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: "azure_ad_group_guid"
Для внутренних k8s RBAC читайте официальный документ.