1
我發現有幾個人試圖解決這個問題,只有稍微相關的帖子here和here,但對我無法解決。Kubernetes ABAC模式不起作用
問題: 我想使用ABAC策略爲集羣創建一個只讀用戶。 我的羣集有3個主人和3個工作人員,版本1.4.7託管在AWS上。
我編輯我的清單/ apiserver.yml像這樣在所有3臺主機(添加了這些3線 - 在過程的文件的底部安裝我的相關路徑等。):
- - 令牌-AUTH-文件=的/ etc/kubernetes /策略/用戶tokens.csv
- --authorization模式= ABAC
- --authorization-策略的文件=的/ etc/kubernetes /策略/ apiusers.yml
my apiuser.yml看起來像這樣:
{"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"group": "system:authenticated", "readonly": true, "nonResourcePath": "*", "namespace": "*", "resource": "*", "apiGroup": "*"}}
我的用戶,token.csv看起來是這樣的:
tdU0ynyO3wG6UAzwWP0DO7wvF2tH8pbH,bob,bob
我kubeconfig文件中有這樣的吧:
users:
- name: bob
user:
token: tdU0ynyO3wG6UAzwWP0DO7wvF2tH8pbH
當我嘗試kubectl get nodes
它的失敗,我可以打印輸出與 - V = 8,如果它是相關的,但它基本上說Forbidden(403)
。 在我看來,我錯過了一些基本的東西,政策已經到位並阻止了所有人和每個人,儘管它應該允許經過身份驗證的用戶只讀權限。
任何形式的幫助或建議將不勝感激。在1.5
1.5之前加入
啊喬丹我只是讀你的其他職位..驚人這就是我失蹤了。我沒有足夠的積分投票給你,但這確實是我確切情況的正確解決方案。 –
還有一個問題,如果我想讓另一個用戶成爲admin,那將是: 「spec」:{「user」:「core-admin」,「nonResourcePath」:「*」,「namespace」:「*」 「resource」:「*」,「apiGroup」:「*」}}?然後在我的kubeconfig中爲同一個集羣設置另一個上下文(並添加用戶名等)?還是有更好的方法來做到這一點? –
我回答自己..我上面寫的是正確的,政策對象的外觀很重要,即管理員應該是第一行。 –