Pages - Menu

2021年11月27日 星期六

[GKE] GKE workload Identity 實地演練

前言

某位大神說,GKE使用 IAM的角色認證安全性不太夠,
所以希望未來都改用這種,workload Ideneity,
就開始了採坑之旅,是說這個坑沒想像中的深。

正文

查詢cluster是否有 workload Identity

gcloud container clusters describe yaboxxx-test -z asia-east1-b


建議最好直接加上地區,不然看錯誤訊息也是可以。
會說在某個地區找不到此cluster

修改cluster ,啟用 Workload Identity

gcloud container clusters update istio-test -z asia-east1-b \    --workload-pool=rd7-project.svc.id.goog

修改 node-pool

gcloud container node-pools update defaultpool -z asia-east1-b \    --cluster=istio-test \    --workload-metadata=GKE_METADATA

如果成功的話,會看到
GKE 中繼資料伺服器 : 已啟用



建立ns

kubectl create ns token-proxy

建立kubernetes 帳號

 kubectl create serviceaccount -n token-proxy proxy-user

申請 Google service accout的 IAM 服務帳號,
然後綁定 kubernetes service account 與 Google service account 。

gcloud iam service-accounts add-iam-policy-binding \    --role roles/iam.workloadIdentityUser \    --member "serviceAccount: project.svc.id.goog[token-proxy/proxy-user]" \    token-proxy@rd7-project.iam.gserviceaccount.com


在 kubernet service account上面,增加註釋

kubectl annotate serviceaccount \    --namespace token-proxy proxy-user \    iam.gke.io/gcp-service-account=token-proxy@rd7-project.iam.gserviceaccount.com

ref.
使用 Workload Identity

沒有留言:

張貼留言