fix(gcp): default workload identity bindings (#1317)

* fix(gcp): default workload identity bindings

* update test snapshots
This commit is contained in:
Yuan (Bob) Gong 2020-06-27 05:03:32 +08:00 committed by GitHub
parent 240e6de6cc
commit a676abc5e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 75 additions and 0 deletions

View File

@ -165,3 +165,17 @@ spec:
apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1
kind: Project
external: projects/project-id # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"gcloud.core.project","value":"project-id"}]}}
---
apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMPolicy
metadata:
name: name-admin-workload-identity-users # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"name","value":"name"}]}}
spec:
resourceRef:
apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMServiceAccount
name: name-admin # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"name","value":"name"}]}}
bindings:
- role: roles/iam.workloadIdentityUser
members:
- serviceAccount:project-id.svc.id.goog[kubeflow/profiles-controller-service-account] # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"gcloud.core.project","value":"project-id"}]}}

View File

@ -141,3 +141,19 @@ spec:
apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1
kind: Project
external: projects/project-id # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"gcloud.core.project","value":"project-id"}]}}
---
apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMPolicy
metadata:
name: name-user-workload-identity-users # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"name","value":"name"}]}}
spec:
resourceRef:
apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMServiceAccount
name: name-user # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"name","value":"name"}]}}
bindings:
- role: roles/iam.workloadIdentityUser
members:
- serviceAccount:project-id.svc.id.goog[kubeflow/ml-pipeline-ui] # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"gcloud.core.project","value":"project-id"}]}}
- serviceAccount:project-id.svc.id.goog[kubeflow/ml-pipeline-visualizationserver] # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"gcloud.core.project","value":"project-id"}]}}
- serviceAccount:project-id.svc.id.goog[kubeflow/pipeline-runner] # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"gcloud.core.project","value":"project-id"}]}}

View File

@ -23,6 +23,8 @@ resources:
# This package will create a profile resource so it needs to be installed after the profiles CR
- ../../default-install/base
- ../../katib/installs/katib-standalone
patchesStrategicMerge:
- workload-identity-bindings-patch.yaml
configMapGenerator:
- envs:
- ./config/params.env

View File

@ -0,0 +1,27 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: profiles-controller-service-account
annotations:
iam.gke.io/gcp-service-account: name-admin@project-id.iam.gserviceaccount.com # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"name","value":"name"},{"name":"gcloud.core.project","value":"project-id"}]}}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: ml-pipeline-ui
annotations:
iam.gke.io/gcp-service-account: name-user@project-id.iam.gserviceaccount.com # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"name","value":"name"},{"name":"gcloud.core.project","value":"project-id"}]}}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: ml-pipeline-visualizationserver
annotations:
iam.gke.io/gcp-service-account: name-user@project-id.iam.gserviceaccount.com # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"name","value":"name"},{"name":"gcloud.core.project","value":"project-id"}]}}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: pipeline-runner
annotations:
iam.gke.io/gcp-service-account: name-user@project-id.iam.gserviceaccount.com # {"type":"string","x-kustomize":{"setBy":"kpt","partialSetters":[{"name":"name","value":"name"},{"name":"gcloud.core.project","value":"project-id"}]}}

View File

@ -1,5 +1,7 @@
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
iam.gke.io/gcp-service-account: name-user@project-id.iam.gserviceaccount.com
name: ml-pipeline-ui
namespace: kubeflow

View File

@ -1,5 +1,7 @@
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
iam.gke.io/gcp-service-account: name-user@project-id.iam.gserviceaccount.com
name: ml-pipeline-visualizationserver
namespace: kubeflow

View File

@ -1,5 +1,7 @@
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
iam.gke.io/gcp-service-account: name-user@project-id.iam.gserviceaccount.com
name: pipeline-runner
namespace: kubeflow

View File

@ -1,6 +1,8 @@
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
iam.gke.io/gcp-service-account: name-admin@project-id.iam.gserviceaccount.com
labels:
kustomize.component: profiles
name: profiles-controller-service-account

View File

@ -1,5 +1,7 @@
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
iam.gke.io/gcp-service-account: name-user@project-id.iam.gserviceaccount.com
name: ml-pipeline-ui
namespace: kubeflow

View File

@ -1,5 +1,7 @@
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
iam.gke.io/gcp-service-account: name-user@project-id.iam.gserviceaccount.com
name: ml-pipeline-visualizationserver
namespace: kubeflow

View File

@ -1,5 +1,7 @@
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
iam.gke.io/gcp-service-account: name-user@project-id.iam.gserviceaccount.com
name: pipeline-runner
namespace: kubeflow

View File

@ -1,6 +1,8 @@
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
iam.gke.io/gcp-service-account: name-admin@project-id.iam.gserviceaccount.com
labels:
kustomize.component: profiles
name: profiles-controller-service-account