2017-12-18 1 views
2

Ich bin ein gke 1.8.4 Cluster ausgeführt wird, und ein Problem mit Anfragen zu sehen, auf Ressourcen zuzugreifen erlaubt werden, auch wenn RBAC sieKubernetes RBAC leugnet nicht den Zugang zu verhindern

aus logs/kube-apiserver.log verweigert (ich habe meinen Benutzernamen und den Benutzernamen ersetzt ich Identitätswechsel, in < kursiv>):

I1218 13: 30: 38,644205 5 httplog.go: 64] & {< my_user> [ System: authentifiziert] map []} fungiert als & {< other_user> [System: authentifizierten] Karte []}

I1218 13: 30: 5 38,644297 rbac.go: 116] RBAC DENY: user "< other_user>" Gruppen [ "System: authentifiziert" ] kann Ressource "Geheimnisse" in Namensraum "prod" nicht auflisten
I1218 13: 30: 38.676079 5 wrap.go: 42] GET/api/v1/Namensräume/prod/secrets: (32.043196ms) 200 [[kubectl /v1.8.4 (linux/amd64) Kubernetes/9befc2b]

Warum ist die api Verfahren zum GET nach dem RBAC DENY (und schließlich die Geheimnisse als Antwort auf meine kubectl cmd zurückkehrt)?

FWIW mein kubectl cmd ist: kubectl get secrets --namespace prod --as <other_user>

Ich vermute, eine andere authorizer es, dass es erlaubt ist, obwohl ich alles getan habe ich, um sicherzustellen, wissen, dass es nicht (ABAC ist deaktiviert werden sollte, da ich bin 1.8, die google-Cloud-Konsole zeigt es als untauglich zu sein, und ich sehe "legacyAbac: {}" in der Antwort von gcloud beta Container Cluster beschreiben)

Antwort

1

GKE ermöglicht sowohl die RBAC authorizer und Webhook authorizer dass Konsultiert GKE IAM. Hat der angegebene Benutzername Berechtigungen über GKE?

+0

Ah, das hätte ich total überprüfen sollen! Selbst nachdem ich die Vielzahl der Online-Quellen überprüft hatte, war mir immer noch nicht bewusst, dass der Webhook-Autorizer standardmäßig aktiviert war, aber es macht jetzt Sinn Sinn Ich werde unsere GKE IAM aufräumen. Vielen Dank Jordan! – eversMcc

Verwandte Themen