En este documento, se explica cómo Cloud Logging usa los roles y permisos de Identity and Access Management (IAM) para controlar el acceso a los recursos de Logging. Tus roles de IAM determinan si puedes realizar acciones como crear receptores de registros o buckets de registros, leer los datos de registros almacenados en un bucket de registros o acceder a páginas como el Explorador de registros. Si ejecutas un comando de la API de Logging o de Google Cloud CLI, tus roles de IAM determinan si tienes permiso para ejecutar el comando.
Descripción general
Tus roles de IAM determinan qué acciones puedes realizar en Logging. Un rol es un conjunto de permisos. Cuando otorgas un rol a un principal, le otorgas todos los permisos que el rol contiene. Puedes otorgar varios roles a la misma principal.
Las funciones de IAM se otorgan en un recurso, como un Trusted Cloud proyecto, una carpeta, un bucket o una organización. Por ejemplo, puedes otorgar a una principal el rol de visualizador de registros (role/logging.viewer
) en un proyecto Trusted Cloud en particular.
En las secciones Roles predefinidos y Roles de Logging de esta página, se proporciona información completa sobre los roles y permisos de Logging. En otras secciones de esta página, se proporciona información sobre los roles o permisos para casos de uso específicos.
En el resto de esta sección, se resume cómo puedes otorgar a una principal acceso a buckets de registros o a solo algunas de las entradas de registro en un bucket de registros.
Otorga acceso a los buckets de registros
El rol de visualizador de registros (role/logging.viewer
) permite que un principal acceda a todos los datos de registro almacenados en los buckets de registros _Required
y _Default
, excepto a los registros de acceso a los datos. Si una principal necesita acceso a los registros de acceso a los datos, otórgale el rol de Visor de registros privados (roles/logging.privateLogViewer
).
En el caso de los buckets de registros personalizados, puedes otorgar acceso a la vista _AllLogs
o a una vista de registro personalizada. Logging crea automáticamente la vista _AllLogs
, que incluye todas las entradas de registro en el bucket de registros. Para otorgar acceso a una vista de registros, debes agregar una vinculación de IAM a la política de IAM adjunta a la vista de registros o al proyecto. Para obtener más información, consulta Controla el acceso a una vista de registros.
El registro también admite etiquetas en los buckets de registros, lo que puede ayudarte a comprender tus costos. También puedes usar etiquetas para evitar que un usuario borre un bucket de registros. Para obtener más información, consulta Usa etiquetas para administrar el acceso a los buckets de registros.
Otorga acceso a algunas entradas de registro en un bucket de registros
Para otorgar a una principal acceso solo a algunas de las entradas de registro almacenadas en un bucket de registros, crea una vista de registros y, luego, otorga a la principal acceso a la vista de registros. Por ejemplo, puedes crear una vista de registros en el bucket de registros _Default
que solo incluya entradas de registro cuyo tipo de recurso sea una instancia de Compute Engine.
Para obtener más información sobre cómo crear vistas de registros y las diferentes estrategias que puedes usar para otorgar acceso a la vista, consulta Configura vistas de registros en un bucket de registros.
Funciones predefinidas
IAM proporciona roles predefinidos para otorgar acceso detallado a recursos Trusted Cloud específicos y evitar el acceso no deseado a otros recursos. Trusted Cloud by S3NS crea y mantiene estos roles, y actualiza sus permisos automáticamente según sea necesario, por ejemplo, cuando Logging agrega funciones nuevas.
En la siguiente tabla, se enumeran los roles predefinidos para Logging. Para cada rol, la tabla muestra el título, la descripción, los permisos incluidos y el tipo de recurso de nivel más bajo en el que se pueden otorgar los roles. Puedes otorgar los roles predefinidos a nivel del Trusted Cloud proyecto o, en la mayoría de los casos, a cualquier tipo superior en lajerarquía de recursos. Para restringir el rol de Logs View Accessor a una vista de registros en un bucket, usa los atributos de recursos para las condiciones de IAM.
Para obtener una lista de todos los permisos individuales contenidos en un rol, consulta Cómo obtener los metadatos del rol.
Role | Permissions |
---|---|
Logging Admin( Provides all permissions necessary to use all features of Cloud Logging. Lowest-level resources where you can grant this role:
|
|
Logs Bucket Writer( Ability to write logs to a log bucket. Lowest-level resources where you can grant this role:
|
|
Logs Configuration Writer( Provides permissions to read and write the configurations of logs-based metrics and sinks for exporting logs. Lowest-level resources where you can grant this role:
|
|
Log Field Accessor( Ability to read restricted fields in a log bucket. Lowest-level resources where you can grant this role:
|
|
Log Link Accessor( Ability to see links for a bucket. |
|
Logs Writer( Provides the permissions to write log entries. Lowest-level resources where you can grant this role:
|
|
Private Logs Viewer( Provides permissions of the Logs Viewer role and in addition, provides read-only access to log entries in private logs. Lowest-level resources where you can grant this role:
|
|
Cloud Logging Service Agent( Grants a Cloud Logging Service Account the ability to create and link datasets. |
|
SQL Alert Writer Beta( Ability to write SQL Alerts. |
|
Logs View Accessor( Ability to read logs in a view. Lowest-level resources where you can grant this role:
|
|
Logs Viewer( Provides access to view logs. Lowest-level resources where you can grant this role:
|
|
En las siguientes secciones, se proporciona información adicional para ayudarte a decidir qué roles se aplican a los casos de uso de tus principales.
Funciones de Logging
Para permitir que un usuario realice todas las acciones en Logging, otórgale el rol de administrador de Logging (
roles/logging.admin
).Para permitir que un usuario cree y modifique configuraciones de registros, otórgale el rol de escritor de configuración de registros (
roles/logging.configWriter
). Este rol te permite crear o modificar cualquiera de los siguientes elementos:Para permitir que un usuario lea registros en los buckets
_Required
y_Default
, o bien use la página del Explorador de registros, otorga uno de los siguientes roles:- Para acceder a todos los registros del bucket
_Required
y a la vista_Default
del bucket_Default
, otorga el rol de visualizador de registros (roles/logging.viewer
). - Para acceder a todos los registros de los buckets
_Required
y_Default
, incluidos los registros de acceso a los datos, otorga el rol de Visualizador de registros privados (roles/logging.privateLogViewer
).
- Para acceder a todos los registros del bucket
Para permitir que un usuario lea los registros en todas las vistas de registros que se encuentran en un proyecto, otórgale el rol de IAM de
roles/logging.viewAccessor
en el proyecto.Para permitir que un usuario solo lea registros en una vista de registro específica, tienes dos opciones:
Crea una política de IAM para la vista de registros y, luego, agrega una vinculación de IAM a esa política que otorgue a la principal acceso a la vista de registros.
Otorga a la principal el rol de IAM de
roles/logging.viewAccessor
en el proyecto que contiene la vista de registros, pero adjunta una condición de IAM para restringir el otorgamiento a la vista de registros específica.
Para obtener información sobre cómo crear vistas de registros y otorgar acceso, consulta Configura vistas de registros en un bucket de registros.
Para permitir que un usuario escriba registros con la API de Logging, otórgale el rol de escritor de registros (
roles/logging.logWriter
). Este rol no otorga permisos de lectura.Para permitir que la cuenta de servicio de un receptor enrute registros a un bucket en un proyecto Trusted Cloud diferente, otorga a la cuenta de servicio el rol de escritor de buckets de registros (
roles/logging.bucketWriter
). Para obtener instrucciones sobre cómo otorgar permisos a una cuenta de servicio, consulta Cómo establecer permisos de destino.
Roles a nivel del proyecto
Para otorgar acceso de visualización a la mayoría de los servicios de Trusted Cloud by S3NS , otorga el rol de visualizador (
roles/viewer
).Este rol incluye todos los permisos otorgados por el rol de visualizador de registros (
roles/logging.viewer
).Para otorgar acceso de editor a la mayoría de los servicios de Trusted Cloud by S3NS , otorga el rol de editor (
roles/editor
).Este rol incluye todos los permisos otorgados por el rol de Visualizador de registros (
roles/logging.viewer
) y los permisos para escribir entradas de registro y borrar registros. Sin embargo, este rol no permite que los usuarios creen receptores, lean registros de auditoría de acceso a los datos que se encuentran en el bucket_Default
ni lean registros que se encuentran en buckets de registros definidos por el usuario.Para otorgar acceso completo a la mayoría de los servicios de Trusted Cloud by S3NS , otorga el rol de propietario (
roles/owner
).
Otorgando funciones
Para obtener información sobre cómo otorgar un rol a un principal, consulta Otorga, cambia y revoca el acceso a los recursos.
Se puede asignar varios roles al mismo usuario. Para obtener una lista de los permisos que contiene una función, consulta la página sobre cómo obtener los metadatos de la función.
Si intentas acceder a un recurso de Trusted Cloud y no tienes los permisos necesarios, comunícate con el principal que aparece como el Propietario del recurso.
Funciones personalizadas
A fin de crear una función personalizada con permisos de Logging, haz lo siguiente:
Para una función que otorga permisos a la API de Logging, elige los permisos de Permisos de la API y, luego, sigue las instrucciones para crear un rol personalizado.
Si deseas una función que otorgue permisos para usar el Explorador de registros, elige entre los grupos de permisos en Permisos de la consola y, luego, sigue las instrucciones para crear un rol personalizado.
Para obtener un rol que otorgue permisos para usar
gcloud logging
, consulta la sección Permisos de la línea de comandos en esta página y, luego, sigue las instrucciones para crear un rol personalizado.
Para obtener más información sobre los roles personalizados, consulta Comprende los roles personalizados de IAM.
Permisos de Cloud Logging
En la siguiente tabla, se incluye una lista parcial de los permisos necesarios para funciones específicas de Cloud Logging. Esta tabla puede ayudarte a identificar los permisos que necesitas para usar páginas como el Explorador de registros.
En la tabla, a.b.{x,y}
significa a.b.x
y a.b.y
.
Actividad de Console | Permisos necesarios |
---|---|
Acceso de solo lectura mínimo | logging.logEntries.list |
Cómo ver los registros de auditoría de acceso a los datos | logging.privateLogEntries.list |
Ver receptores | logging.sinks.{list, get} |
Visualiza el uso de los registros | logging.usage.get |
Descargar registros | logging.logEntries.{list, download}
Solo se necesita uno de estos permisos para descargar registros. Los roles que contienen los permisos para descargar registros deben otorgarse a nivel del proyecto. No puedes descargar registros si se otorga un rol que contiene estos permisos en el archivo de política de IAM de una vista de registros. |
Enumera y visualiza los permisos de registros | logging.logScopes.{get, list} |
Cómo ver el alcance del registro predeterminado | observability.scopes.get |
Excluye registros | logging.exclusions.{list, create, get, update, delete}
Cuando crees un rol personalizado que incluya permisos para administrar filtros de exclusión, agrega los permisos |
Crea y usa receptores | logging.sinks.{list, create, get, update, delete}
Cuando creas un receptor, también debes otorgarle a la cuenta de servicio un rol de IAM que le permita escribir entradas de registro en el destino. Para obtener más información, consulta Cómo establecer permisos de destino. Una vez que tus entradas de registro se enrutan a un destino compatible, el acceso a ellas se controla por completo con los permisos y roles de IAM en el destino. |
Cómo guardar y usar consultas privadas | logging.queries.usePrivate logging.queries.{listShared,getShared} |
Cómo guardar y usar consultas compartidas | logging.queries.{share, getShared, updateShared, deleteShared,
listShared} |
Cómo usar las búsquedas recientes | logging.queries.{create, list} |
Crea y administra alcances de registros | logging.logScopes.{create, delete, get, list, update} |
Cómo establecer y administrar el ámbito de registros predeterminado | observability.scopes.{get, update} |
Permisos para la línea de comandos
Los comandos gcloud logging
están controlados por los permisos de IAM.
Para usar uno de los comandos gcloud logging
, las principales deben tener el permiso serviceusage.services.use
.
Un principal también debe tener el rol de IAM que corresponde al recurso del registro y al caso de uso. Para obtener más información, consulta los permisos de la interfaz de línea de comandos.