Guía de control de acceso

Stackdriver Logging usa Cloud Identity and Access Management para controlar el acceso a datos de registro en proyectos, organizaciones, carpetas y cuentas de facturación.

Descripción general

Los permisos y funciones de Cloud IAM determinan cómo puedes usar la API de Logging y el Visor de registros.

Una función de Cloud IAM es una colección de permisos. Estas funciones se las asignas a miembros. No puedes asignar un permiso a un miembro de forma directa. En su lugar, les otorgas una función, que les da todos los permisos que contiene la función.

Los datos de registro residen en los siguientes tipos de recursos: proyectos, organizaciones, carpetas y cuentas de facturación. Cada uno de estos recursos puede tener su propio conjunto de miembros con su propio conjunto de funciones de Logging.

A fin de crear o usar datos de registro de Stackdriver Logging dentro de un recurso, un miembro debe tener una función de Cloud IAM que incluya los permisos adecuados. A continuación, se muestra una lista, a modo de resumen, de esas funciones y permisos de Cloud IAM:

  • roles/logging.viewer (Visor de registros) otorga a los miembros acceso de solo lectura a todas las funciones de Logging, excepto el permiso para leer registros privados.

  • roles/logging.privateLogViewer (Visor de registros privados) otorga a los miembros el permiso de roles/logging.viewer, además del permiso para leer registros privados.

  • roles/logging.logWriter (Escritor de registros) puede otorgarse a miembros que son cuentas de servicio. Otorga los miembros permisos necesarios para escribir registros. Esta función no otorga acceso al Visor de registros.

  • roles/logging.configWriter (Escritor de configuración de registros) otorga a los miembros los permisos para crear métricas basadas en registros y receptores de exportación. Si quieres usar el Visor de registros, agrega la función roles/logging.viewer.

  • roles/logging.admin (Administrador de Logging) otorga a los miembros todos los permisos de Logging. A fin de obtener una lista completa de estos permisos, consulta Permisos de la API.

  • roles/viewer (Visor del proyecto) otorga a los miembros los mismos permisos que roles/logging.viewer a nivel de proyecto. Ten en cuenta que otorgar esta función aplica los permisos a la mayoría de los servicios de GCP a nivel de proyecto y no está confinado al uso de Logging.

  • roles/editor (Editor del proyecto) otorga a los miembros los mismos permisos que roles/logging.viewer, además de permisos para escribir entradas de registro, borrar registros y crear métricas basadas en registros a nivel de proyecto. Esta función no te permite crear receptores de exportación o leer registros privados. Ten en cuenta que otorgar esta función aplica los permisos a la mayoría de los servicios de GCP a nivel de proyecto y no está confinado al uso de Logging.

  • roles/owner (Propietario del proyecto) te da acceso completo a Logging, incluidos los registros privados. Ten en cuenta que otorgar esta función aplica los permisos a la mayoría de los servicios de GCP a nivel de proyecto y no está confinado al uso de Logging.

Los registros de auditoría de acceso a los datos, excepto los registros de auditoría de acceso a los datos de BigQuery, son los únicos “registros privados”. A fin de leerlos, los miembros requieren ciertos permisos más amplios que los de solo lectura.

Para obtener más detalles sobre las funciones de Logging, consulta Permisos y funciones en esta página.

Permisos de la API

Los métodos de la API de Logging requieren permisos específicos de Cloud IAM. La siguiente tabla muestra una lista de los permisos requeridos por los métodos de la API.

Método de Logging Permiso requerido Tipo de recurso
billingAccounts.logs.* logging.logs.* (Consulta projects.logs.*) cuentas de facturación
billingAccounts.sinks.* logging.sinks.* (Consulta projects.sinks.*.) cuentas de facturación
entries.list logging.logEntries.list o
logging.privateLogEntries.list
proyectos, organizaciones,
carpetas, cuentas de facturación
entries.write logging.logEntries.create proyectos, organizaciones,
carpetas, cuentas de facturación
folders.logs.* logging.logs.* (Consulta projects.logs.*) carpetas
folders.sinks.* logging.sinks.* (Consulta projects.sinks.*) carpetas
monitoredResourceDescriptors.list (ninguno) (ninguno)
organizations.logs.* logging.logs.* (Consulta projects.logs.*) organizaciones
organizations.sinks.* logging.sinks.* (Consulta projects.sinks.*) organizaciones
projects.exclusions.create logging.exclusions.create proyectos
projects.exclusions.delete logging.exclusions.delete proyectos
projects.exclusions.get logging.exclusions.get proyectos
projects.exclusions.list logging.exclusions.list proyectos
projects.exclusions.patch logging.exclusions.<b>update<b> proyectos
projects.logs.list logging.logs.list proyectos
projects.logs.delete logging.logs.delete proyectos
projects.sinks.list logging.sinks.list proyectos
projects.sinks.get logging.sinks.get proyectos
projects.sinks.create logging.sinks.create proyectos
projects.sinks.update logging.sinks.update proyectos
projects.sinks.delete logging.sinks.delete proyectos
projects.metrics.list logging.logMetrics.list proyectos
projects.metrics.get logging.logMetrics.get proyectos
projects.metrics.create logging.logMetrics.create proyectos
projects.metrics.update logging.logMetrics.update proyectos
projects.metrics.delete logging.logMetrics.delete proyectos

Permisos y funciones

La siguiente tabla muestra una lista de las funciones de Cloud IAM que otorgan acceso a Stackdriver Logging. Cada función tiene un conjunto específico de permisos de registro. Las funciones pueden asignarse a miembros de los tipos de recursos de la lista.

En la tabla, a.b.{x,y} significa a.b.x y a.b.y.

Nombre de la función Título de la función Permisos de Logging Tipo de recurso
roles/
logging.viewer
Visor de registros logging.logEntries.list
logging.logMetrics.{list, get}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, get}
logging.usage.get
resourcemanager.projects.get
proyecto, organización,
carpeta, cuenta de facturación
roles/
logging.privateLogViewer
Visor de registros privados permisos roles/logging.viewer, más:
logging.privateLogEntries.list
proyecto, organización,
carpeta, cuenta de facturación
roles/
logging.logWriter
Escritor de registros logging.logEntries.create proyecto, organización,
carpeta, cuenta de facturación
roles/
logging.configWriter
Escritor de configuración de registros logging.exclusions.{list, create, get, update, delete}
logging.logMetrics.{list, create, get, update, delete}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, create, get, update, delete}
resourcemanager.projects.get
proyecto, organización,
carpeta, cuenta de facturación
roles/
logging.admin
Administrador de Logging logging.exclusions.{list, create, get, update, delete}
logging.logEntries.create
logging.logEntries.list
logging.logMetrics.{list, create, get, update, delete}
logging.logs.delete
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.privateLogEntries.list
logging.sinks.{list, create, get, update, delete}
resourcemanager.projects.get
proyecto, organización,
carpeta, cuenta de facturación
roles/viewer Lector logging.logEntries.list
logging.logMetrics.{list, get}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, get}
resourcemanager.projects.get
proyecto
roles/editor Editor roles/viewer permisos de Logging, más:
logging.logEntries.create
logging.logMetrics.{create, update, delete}
logging.logs.delete
proyecto
roles/owner Propietario roles/editor permisos de Logging, más:
logging.privateLogEntries.list
logging.sinks.{create, update, delete}
proyecto

Funciones personalizadas

A fin de crear una función personalizada con permisos de Logging, haz lo siguiente:

  • Para una función que otorga permisos solo a la API de Logging, elige de entre la lista de permisos en la sección anterior, Permisos de la API.

  • Para una función que otorga permisos con el fin de usar el Visor de registros, elige de entre los grupos de permisos en la siguiente sección, Permisos de la consola.

Para obtener más información sobre las funciones personalizadas, consulta Comprende las funciones personalizadas de Cloud IAM.

Permisos de la consola

La siguiente tabla muestra una lista de los permisos necesarios para usar el Visor de registros.

En la tabla, a.b.{x,y} significa a.b.x y a.b.y.

Actividad de la consola Permisos necesarios
Acceso de solo lectura mínimo logging.logEntries.list
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
resourcemanager.projects.get
Agrega la habilidad para ver las métricas basadas en registros Agrega logging.logMetrics.{list, get}
Agrega la habilidad para ver exportaciones Agrega logging.sinks.{list, get}
Agrega la habilidad para ver el uso de los registros Agrega logging.usage.get
Agrega la habilidad de excluir registros Agrega logging.exclusions.{list, create, get, update, delete}
Agrega la habilidad de exportar registros Agrega logging.sinks.{list, create, get, update, delete}
Agrega la habilidad de crear métricas basadas en registros Agrega logging.logMetrics.{list, create, get, update, delete}

Accede a registros exportados

A fin de crear un receptor, para exportar registros, debes tener los permisos de roles/logging.configWriter o roles/logging.admin o roles/owner.

Una vez que un receptor comienza a exportar registros, tiene acceso completo a todas las entradas de registro nuevas. Los receptores pueden exportar entradas de registro privadas.

Una vez que tus entradas de registro se exportaron, el acceso a las copias exportadas se controla por completo con permisos y funciones de Cloud IAM en los destinos: Cloud Storage, BigQuery o Cloud Pub/Sub.

Niveles de acceso de Logging

Los niveles de acceso son el método heredado que se usa a fin de especificar permisos para tus instancias de VM de Compute Engine. Los siguientes niveles de acceso aplican a la API de Logging:

Nivel de acceso Permisos otorgados
https://www.googleapis.com/auth/logging.read role/logging.viewer
https://www.googleapis.com/auth/logging.write roles/logging.logWriter
https://www.googleapis.com/auth/logging.admin Acceso completo a la API de Logging.
https://www.googleapis.com/auth/cloud-platform Acceso completo a la API de Logging y a otras API habilitadas de Google Cloud.

Recomendaciones

Ahora que las funciones de Cloud IAM están disponibles, una práctica razonable es otorgar a todas tus instancias de VM el nivel “Acceso completo a todas las API habilitadas de Google Cloud”:

https://www.googleapis.com/auth/cloud-platform

Puedes otorgar funciones específicas de Cloud IAM en la cuenta de servicio de tu instancia de VM a fin de restringir el acceso a API específicas. Con el fin de obtener más detalles, consulta Permisos de la cuenta de servicio.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Stackdriver Logging
¿Necesitas ayuda? Visita nuestra página de asistencia.