En este documento, se explica cómo otorgar acceso y administrar permisos en clústeres estándar en Google Distributed Cloud (GDC) con aislamiento de aire. Los clústeres estándar son entornos de Kubernetes configurables y con alcance para el proyecto que incluyen servicios predeterminados mínimos y ofrecen mayor flexibilidad y control para las cargas de trabajo personalizadas.
Para obtener información sobre la administración de los ciclos de vida de los clústeres estándar, como la creación o eliminación de clústeres, consulta Crea un clúster estándar y Borra un clúster estándar.
Para obtener más información sobre los clústeres estándar y otros tipos de clústeres, consulta Configuraciones de clústeres de Kubernetes.
Este documento está dirigido a públicos dentro del grupo de operadores de aplicaciones, como operadores de desarrolladores o científicos de datos, que necesitan administrar y proteger recursos dentro de los proyectos de GDC. Para obtener más información, consulta Públicos de la documentación de Google Distributed Cloud aislado.
Antes de comenzar
Antes de administrar el acceso a los clústeres estándar, debes tener los permisos necesarios y preparar tu entorno.
Solicita roles de IAM
Para obtener los permisos que necesitas para administrar el acceso a los clústeres estándar, solicita los siguientes roles según las tareas que debas realizar:
- Para otorgar y administrar vinculaciones de políticas de IAM a nivel del proyecto para clústeres estándar, comunícate con tu administrador de la organización de IAM y solicita el rol de administrador de IAM del proyecto (
project-iam-admin). - Para administrar el control de acceso basado en roles (RBAC) de Kubernetes en el clúster y, luego, implementar cargas de trabajo en un clúster estándar, pídele a tu administrador del proyecto de IAM que te otorgue el rol de administrador del clúster (
cluster-admin).
Prepara el entorno
Otorga permisos para el acceso estándar al clúster
Un usuario con el rol de administrador del proyecto de IAM (project-iam-admin) puede otorgar a otros usuarios los roles necesarios para administrar el acceso dentro de los clústeres estándar:
Accede con tu proveedor de identidad configurado con la CLI de gdcloud.
Otorga al usuario el rol de administrador del clúster (
cluster-admin) para el proyecto. Este comando vincula al usuario con el rol, lo que le permite administrar el acceso dentro del clúster estándar.Consulta Descripciones de roles predefinidos y Definiciones de roles para proyectos para obtener más información sobre los roles.
gdcloud projects add-iam-policy-binding PROJECT \ --role=ROLE \ --member=user:USER_ACCOUNTReemplaza las siguientes variables:
PROJECT: Es el nombre del proyecto en el que existe el clúster estándar.ROLE: Es el nombre del rol que deseas otorgar (por ejemplo,cluster-admin).USER_ACCOUNT: Es la cuenta de usuario para la que deseas otorgar el rol, incluido el prefijo del proveedor de identidad asociado a tu organización (comoidpprefix-user@example.com). El prefijo específico que se usa depende de la configuración del IdP de tu organización. Consulta Conéctate a un proveedor de identidad para obtener más información.
En el siguiente ejemplo, se otorga el rol de administrador del clúster a
user@example.com, suponiendo que el prefijo del proveedor de identidad esfop-para el proyectofoo:gdcloud projects add-iam-policy-binding foo \ --role=cluster-admin \ --member=user:fop-user@example.com
Administra el acceso dentro del clúster estándar
Un usuario con el rol de administrador del clúster (cluster-admin) puede otorgar acceso dentro de un clúster estándar:
Accede con tu proveedor de identidad configurado con la CLI de gdcloud.
Genera un archivo kubeconfig para un clúster estándar con la marca
--standard. Esta marca es obligatoria para segmentar un clúster estándar.export KUBECONFIG=KUBECONFIG_FILE gdcloud clusters get-credentials STANDARD_CLUSTER_NAME --standard --project=PROJECTReemplaza las siguientes variables:
KUBECONFIG_FILE: Es la ruta de acceso al archivo kubeconfig, comostandard-cluster-kubeconfig.yaml.STANDARD_CLUSTER_NAME: Es el nombre del clúster estándar.PROJECT: Es el nombre del proyecto en el que existe el clúster estándar.
Define permisos dentro del clúster estándar con
kubectl.Los usuarios con permisos de
cluster-adminpueden crear objetosRoleyClusterRolepersonalizados. Para otorgar estos permisos, pueden crear los objetosRolebindingyClusterRoleBindingcorrespondientes para vincular los roles a sujetos específicos, como usuarios o cuentas de servicio.En el siguiente ejemplo, se usa
kubectlpara crear unRolepersonalizado de muestra llamadotest-roleen el espacio de nombrestest:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: test-role namespace: test rules: - apiGroups: - "" resources: - configmaps verbs: - get EOFEn el siguiente ejemplo, se crea el
RoleBindingpara elRolellamadotest-roleen el espacio de nombrestest. Otorga permisos al usuario alice@example.com con el prefijo del proveedor de identidadfop-, así como a unServiceAccountllamadomy-service-accounten el espacio de nombresdefault:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: test-role-binding namespace: test subjects: - kind: User name: fop-alice@example.com apiGroup: rbac.authorization.k8s.io - kind: ServiceAccount name: my-service-account namespace: default roleRef: kind: Role name: test-role apiGroup: rbac.authorization.k8s.io EOF