#kubernetes
#kubernetes
Вопрос:
Я изучаю rbac для управления доступом, вот мое определение роли:
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: foobar-role
labels:
# Add these permissions to the "view" default role.
rbac.authorization.k8s.io/aggregate-to-view: "true"
rules:
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get", "patch"]
роль позволяет субъекту получать доступ к secret, но мне интересно, возможно ли ограничить доступ к определенному пути:
apiVersion: v1
data:
keycloak.clientSecret: ...
keycloak.url: ...
user.password: ...
kind: Secret
metadata:
creationTimestamp: "2019-04-21T08:07:21Z"
labels:
app: foobar-ce
heritage: Tiller
release: foobar
name: foobar-secret
namespace: default
resourceVersion: "12348"
selfLink: /api/v1/namespaces/default/secrets/foobar-secret
uid: 7d8775d9-640c-11e9-8327-0242b821d21a
type: Opaque
Например, возможно ли изменить роль, способную только
- просмотр
{.data.keycloak.url}
(только для чтения) - обновление
{.data.keycloak.clientSecret}
(только для записи)
Ответ №1:
Вы можете ограничиться одним ресурсом ( resourceNames
в политике), но не более того. Я не думаю, что API даже поддерживает частичный доступ.