En este documento, se explica cómo administrar los pares clave-valor de etiquetas existentes que organizan tus proyectos en Google Distributed Cloud (GDC) aislado. Los administradores pueden ver las etiquetas con los permisos de Identity and Access Management (IAM). Puedes establecer permisos para tus pares clave-valor de etiquetas y, así, aplicar quién puede verlos cuando están vinculados a un proyecto. También puedes ver los atributos de etiquetas existentes para hacer un seguimiento de cómo se aplican las etiquetas en tu organización, como los siguientes:
- Espacio de nombres de la clave de etiqueta
- Espacio de nombres del valor de la etiqueta
- Etiquetas existentes para un proyecto
Para obtener más información sobre las etiquetas, consulta Descripción general de las etiquetas.
Este documento está dirigido a los administradores de TI que forman parte del grupo de administradores de la plataforma y que son responsables de organizar y administrar proyectos en un universo de GDC. Para obtener más información, consulta Públicos de la documentación de Google Distributed Cloud aislado.
Antes de comenzar
Para obtener los permisos que necesitas para otorgar permisos de etiquetas a otros usuarios o inspeccionar los espacios de nombres de pares clave-valor de etiquetas, pídele al administrador de IAM de la organización que te otorgue el rol de administrador de etiquetas (
tag-admin).Para obtener los permisos que necesitas para enumerar un proyecto con una etiqueta, pídele al administrador de IAM de tu organización que te otorgue el rol de visualizador de proyectos (
project-viewer).
Aplica permisos a tu par clave-valor de etiqueta
Cada clave y valor de etiqueta requiere vinculaciones de roles específicas para que los usuarios puedan acceder a ellos y administrarlos.
Establece los roles adecuados para las claves y los valores de tus etiquetas para aplicar permisos.
Identifica el nombre del rol deseado y los espacios de nombres necesarios para aplicar ese rol. Para obtener más información, consulta Uso de etiquetas.
Para otorgar permisos de rol para una etiqueta, aplica el recurso
RoleBindingpara cada espacio de nombres definido:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: BINDING_NAME namespace: NAMESPACE subjects: - kind: GROUP_SUBJECT name: GROUP_NAME apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: TAG_ROLE_NAME apiGroup: rbac.authorization.k8s.io EOFReemplaza lo siguiente:
BINDING_NAME: Es el nombre personalizado de la vinculación del rol.NAMESPACE: Es el espacio de nombres al que se aplicará la vinculación del rol, comoplatform, el espacio de nombres de administración de la clave de etiqueta o el espacio de nombres de la política del valor de la etiqueta.GROUP_SUBJECT: Es el tipo de sujeto al que se aplicarán los permisos del rol. Este valor puede serUser,GroupoServiceAccount. Para obtener más información, consulta la documentación de Kubernetes sobre cómo hacer referencia a temas.GROUP_NAME: Es el nombre del grupo personalizado.TAG_ROLE_NAME: Es el nombre del rol de la etiqueta que se aplicará, comotag-adminotag-KEY_NAME-admin.
Por ejemplo, para otorgar permiso de rol
tag-admina un usuario para un par clave-valor de etiqueta, implementa los siguientes recursos personalizadosRoleBindingen el espacio de nombresplatform, la clave de etiquetamanagementNamespacey el valor de etiquetapolicyNamespace:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: tag-admin-binding namespace: platform subjects: - kind: User name: user-1 apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: tag-admin apiGroup: rbac.authorization.k8s.io --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: tag-admin-mgmt-binding namespace: g-t-tag-key-1 subjects: - kind: User name: user-1 apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: tag-admin apiGroup: rbac.authorization.k8s.io --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: tag-admin-policy-binding namespace: g-t-tag-value-1 subjects: - kind: User name: user-1 apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: tag-admin apiGroup: rbac.authorization.k8s.io EOF
Cómo encontrar el espacio de nombres de administración
Un espacio de nombres de administración es el espacio de nombres generado por el sistema que se crea para una clave de etiqueta.
Busca el espacio de nombres de administración de la clave de etiqueta específica:
kubectl get tagkey TAG_KEY_NAME --namespace platform \ -o jsonpath='{.status.managementNamespace}'Reemplaza
TAG_KEY_NAMEpor el nombre de la clave de tu etiqueta.
Busca el espacio de nombres de la política
Un espacio de nombres de política es el espacio de nombres generado por el sistema que se crea para un valor de etiqueta.
Busca el espacio de nombres de la política del valor de etiqueta específico:
kubectl get tagvalue TAG_VALUE_NAME --namespace MANAGEMENT_NAMESPACE \ -o jsonpath='{.status.policyNamespace}'Reemplaza lo siguiente:
TAG_VALUE_NAME: Es el nombre del valor de la etiqueta.MANAGEMENT_NAMESPACE: Es el nombre del espacio de nombres de administración para la clave de etiqueta correspondiente al valor de la etiqueta. Para obtener más información, consulta Cómo encontrar el espacio de nombres de administración.
Enumera los proyectos con una etiqueta
Para enumerar todos los proyectos vinculados con un par clave-valor específico, completa los siguientes pasos:
Enumera todos los proyectos que coincidan con tu par clave-valor de etiqueta:
kubectl get project --namespace platform --label tag.resourcemanager.gdc.goog/TAG_KEY_NAME=TAG_VALUE_NAMEReemplaza lo siguiente:
TAG_KEY_NAME: Es el nombre de la clave de etiqueta.TAG_VALUE_NAME: Es el nombre del valor de la etiqueta.
El resultado es similar a lo siguiente:
NAME AGE project-1 17d project-2 10d project-3 4d