Descripción general del control de acceso

Cuando creas un proyecto de Google Cloud, eres el único usuario en el proyecto. De forma predeterminada, ningún otro usuario tiene acceso a tu proyecto ni a sus recursos, incluidos los recursos de Google Kubernetes Engine. Google Kubernetes Engine admite varias opciones para administrar el acceso a los recursos de tu proyecto y sus clústeres mediante el control de acceso según la función (RBAC).

Estos mecanismos se superponen en cuanto a sus funciones en cierto punto, pero están dirigidos a diferentes tipos de recursos. Cada uno se explica de forma breve en una sección que se incluye a continuación:

  • El RBAC de Kubernetes está incorporado en Kubernetes y otorga permisos detallados a los objetos dentro de los clústeres de Kubernetes. Los permisos existen como objetos Role o ClusterRole dentro del clúster. Los objetos RoleBinding otorgan funciones a los usuarios de Kubernetes o Google Cloud, a las cuentas de servicio de Google Cloud o a los Grupos de Google (Beta).

    Si usas GKE y necesitas permisos específicos para cada objeto y operación dentro de tu clúster, el RBAC de Kubernetes es la mejor opción.

  • Cloud IAM administra los recursos de Google Cloud, incluidos los clústeres y los tipos de objetos dentro de los clústeres. Los permisos se asignan a los miembros de Cloud IAM, que existen en Google Cloud, G Suite o Cloud Identity.

    No existe un mecanismo con el que se otorguen permisos para objetos de Kubernetes específicos dentro de Cloud IAM. Por ejemplo, puedes otorgar a un usuario permiso para crear CustomResourceDefinitions (CRD), pero no puedes otorgarle permiso para crear solo una CustomResourceDefinition específica, ni limitar la creación a un espacio de nombres específico o a un clúster específico en el proyecto. Una función de Cloud IAM otorga privilegios en todos los clústeres del proyecto o en todos los clústeres de todos los proyectos secundarios, siempre que la función se aplique en el nivel de carpeta.

    Si usas varios componentes de Google Cloud y no necesitas administrar permisos específicos detallados de Kubernetes, Cloud IAM es una buena opción.

RBAC de Kubernetes

Kubernetes cuenta con compatibilidad integrada para RBAC. Esto te permite crear funciones detalladas, que existen dentro del clúster de Kubernetes. Una función puede aplicarse a un objeto de Kubernetes específico o a un tipo de objeto de Kubernetes, y define qué acciones (llamadas verbos) otorga la función en relación con ese objeto. Un RoleBinding también es un objeto de Kubernetes y otorga funciones a los usuarios. En GKE, un usuario puede ser cualquiera de las siguientes opciones:

  • Usuario de Google Cloud
  • Cuenta de servicio de Google Cloud
  • Cuenta de servicio de Kubernetes
  • Usuario de G Suite
  • Grupo de Google de G Suite (Beta)

Para obtener más información, consulta Control de acceso según la función.

Cloud IAM

Cloud IAM te permite definir funciones y asignarlas a los miembros. Una función es una colección de permisos, y cuando se le asigna a un miembro, controla el acceso a uno o más recursos de Google Cloud. Las funciones se dividen en tres categorías amplias:

Cualquiera de los siguientes puede ser un miembro:

  • Cuenta de Google
  • Cuenta de servicio
  • Grupo de Google
  • Dominio de G Suite
  • Dominio de Cloud Identity

Una política de Cloud IAM asigna un conjunto de permisos a uno o más miembros de Google Cloud.

También puedes usar Cloud IAM para crear y configurar cuentas de servicio, que son cuentas de Google Cloud asociadas a tu proyecto que pueden realizar tareas en tu nombre. A las cuentas de servicio se les asignan funciones y permisos de la misma manera que a los usuarios humanos.

Las cuentas de servicio también proporcionan otras funciones. Para obtener más información, consulta Crea políticas de Cloud IAM.

Próximos pasos

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Kubernetes Engine