нет совпадений для вида "IAMPolicy" в версии "iam.cnrm.cloud.google.com/v1beta1"

Я хочу получить доступ к учетной записи службы, используя удостоверение рабочей нагрузки.

cat serviceaccount.yaml

      apiVersion: v1
kind: ServiceAccount
metadata:
  annotations:
    iam.gke.io/gcp-service-account: serviceaccount_key@PROJECT_ID.iam.gserviceaccount.com
  name: rao-sa
  namespace: test

мой файл yaml - policy.yaml

      apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMPolicy
metadata:
  name: iampolicy-workload-identity-sample
spec:
  resourceRef:
    apiVersion: iam.cnrm.cloud.google.com/v1beta1
    kind: IAMServiceAccount
    name: serviceaccount_key@PROJECT_ID.iam.gserviceaccount.com
  bindings:
    - role: roles/iam.workloadIdentityUser
      members:
        - serviceAccount:PROJECT_ID.svc.id.goog[test/rao-sa]

      kubectl apply -f policy.yaml
error: unable to recognize "policy.yaml": no matches for kind "IAMPolicy" in version "iam.cnrm.cloud.google.com/v1beta1"

получение ошибки в файле YAML: нет совпадений для типа "IAMPolicy" в версии "iam.cnrm.cloud.google.com/v1beta1"

2 ответа

Это распространенная ошибка, когда не устанавливали соединитель конфигурации , проверьте шаг 7.

Как включить?

      gcloud container clusters update CLUSTER_NAME \
    --update-addons ConfigConnector=ENABLED

Вот некоторые ресурсы по политикам IAM и о том, как включить идентификацию рабочей нагрузки GKE.

https://medium.com/bluecore-engineering/the-infrastructure-triumvirate-continuous-service-and-infrastructure-delivery-with-argo-a33a3f76dc06 https://cloud.google.com/config-connector/docs/reference / resource-docs / iam / iampolicy https://dzone.com/articles/enables-gke-workload-identity

Также проверив ваш файл policy.yaml, я обнаружил несколько неуместных предметов, проверьте, работает ли это.

      apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMPolicy
metadata:
  name: iampolicy-workload-identity-sample
  namespace: rao-sa
spec:
  resourceRef:
    apiVersion: iam.cnrm.cloud.google.com/v1beta1
    kind: IAMServiceAccount
    name: serviceaccount_key@PROJECT_ID.iam.gserviceaccount.com
  bindings:
      members:
        - serviceAccount:PROJECT_ID.svc.id.goog[test/rao-sa]
        role: roles/iam.workloadIdentityUser
Другие вопросы по тегам