En este documento se explica cómo usa Cloud Logging los roles y permisos de Gestión de Identidades y Accesos (IAM) para controlar el acceso a los recursos de Logging. Tus roles de gestión de identidades y accesos determinan si puedes realizar acciones como crear receptores o cubos de registro, leer datos de registro almacenados en un cubo de registro o acceder a páginas como el explorador de registros. Si emites un comando de la API Logging o de la CLI de Google Cloud, tus roles de gestión de identidades y accesos determinarán si tienes permiso para ejecutar el comando.
Información general
Tus roles de gestión de identidades y accesos determinan las acciones que puedes realizar en Logging. Un rol es un conjunto de permisos. Cuando asignas un rol a una entidad, le concedes todos los permisos que contiene el rol. Puedes conceder varios roles al mismo principal.
Los roles de IAM se asignan a un recurso, como un Trusted Cloud proyecto, una carpeta, un segmento o una organización. Por ejemplo, puedes asignar a una principal el rol Lector de registros (roles/logging.viewer
) en un proyecto Trusted Cloud concreto.
En las secciones Roles predefinidos y Roles de registro de esta página se proporciona información detallada sobre los roles y permisos de registro. En otras secciones de esta página se proporciona información sobre los roles o permisos de casos prácticos específicos.
En el resto de esta sección se resume cómo puedes conceder a una entidad acceso a segmentos de registro o solo a algunas de las entradas de registro de un segmento de registro.
Conceder acceso a los contenedores de registro
El rol Visualizador de registros (roles/logging.viewer
) permite que una entidad de seguridad acceda a todos los datos de registro almacenados en los segmentos de registro _Required
y _Default
, excepto a los registros de acceso a datos. Si una entidad necesita acceder a los registros de acceso a los datos, concédele el rol Visualizador de registros privados (roles/logging.privateLogViewer
).
En el caso de los segmentos de registro personalizados, puede conceder acceso a la vista _AllLogs
o a una vista de registro personalizada. El registro crea automáticamente la vista _AllLogs
, que incluye todas las entradas de registro del contenedor de registro. Para conceder acceso a una vista de registro, añade una vinculación de gestión de identidades y accesos a la política de gestión de identidades y accesos asociada a la vista de registro o al proyecto. Para obtener más información, consulta Controlar el acceso a una vista de registro.
Logging también admite etiquetas en los contenedores de registro, lo que puede ayudarte a comprender tus costes. También puedes usar etiquetas para evitar que un usuario elimine un segmento de registro. Para obtener más información, consulta Usar etiquetas para gestionar el acceso a los segmentos de registro.
Conceder acceso a algunas entradas de registro de un segmento de registros
Para conceder a una entidad principal acceso solo a algunas de las entradas de registro almacenadas en un contenedor de registro, cree una vista de registro y, a continuación, conceda a la entidad principal acceso a la vista de registro. Por ejemplo, puede crear una vista de registro en el _Default
contenedor de registro 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 registro y las diferentes estrategias que puedes usar para conceder acceso a la vista, consulta el artículo Configurar vistas de registro en un segmento de registro.
Funciones predefinidas
Gestión de identidades y accesos proporciona roles predefinidos para conceder acceso granular 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 automáticamente sus permisos según sea necesario, por ejemplo, cuando Logging añade nuevas funciones.
En la siguiente tabla se enumeran los roles predefinidos de Logging. En 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 conceder los roles. Puedes asignar los roles predefinidos a nivel de proyecto o, en la mayoría de los casos, a cualquier tipo superior en la jerarquía de recursos. Trusted Cloud Para restringir el rol de acceso de lector de registros a una vista de registros de un contenedor, usa atributos de recursos para las condiciones de gestión de identidades y accesos.
Para obtener una lista de todos los permisos individuales que contiene un rol, consulta 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 prácticos de tus principales.
Roles de registro
Para permitir que un usuario realice todas las acciones en Logging, asígnale el rol Administrador de almacenamiento de registros (
roles/logging.admin
).Para permitir que un usuario cree y modifique configuraciones de registro, concédele el rol Editor 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 los registros de los segmentos
_Required
y_Default
o para que use la página Explorador de registros, asigna uno de los siguientes roles:- Para acceder a todos los registros del segmento
_Required
y a la vista_Default
del segmento_Default
, asigna el rol Lector de registros (roles/logging.viewer
). - Para acceder a todos los registros de los segmentos
_Required
y_Default
, incluidos los registros de acceso a datos, asigna el rol Visualizador de registros privados (roles/logging.privateLogViewer
).
- Para acceder a todos los registros del segmento
Para permitir que un usuario lea los registros de todas las vistas de registro de un proyecto, concédele el rol de gestión de identidades y accesos
roles/logging.viewAccessor
en el proyecto.Para permitir que un usuario solo lea los registros de una vista de registro específica, tienes dos opciones:
Crea una política de gestión de identidades y accesos para la vista de registro y, a continuación, añade un enlace de gestión de identidades y accesos a esa política que conceda al principal acceso a la vista de registro.
Concede a la entidad principal el rol de gestión de identidades y accesos
roles/logging.viewAccessor
en el proyecto que contiene la vista de registro, pero adjunta una condición de gestión de identidades y accesos para restringir la concesión a la vista de registro específica.
Para obtener información sobre cómo crear vistas de registro y conceder acceso, consulta el artículo Configurar vistas de registro en un segmento de registro.
Para permitir que un usuario escriba registros mediante la API Logging, otórgale el rol Escritor de registros (
roles/logging.logWriter
). Este rol no concede permisos de visualización.Para permitir que la cuenta de servicio de un sumidero envíe registros a un segmento de otro proyecto, asigna a la cuenta de servicio el rol Escritor del segmento de registros (
roles/logging.bucketWriter
). Trusted Cloud Para obtener instrucciones sobre cómo conceder permisos a una cuenta de servicio, consulta Definir permisos de destino.
Roles a nivel de proyecto
Para dar acceso de lectura a la mayoría de los servicios de Trusted Cloud by S3NS , asigna el rol Lector (
roles/viewer
).Este rol incluye todos los permisos que concede el rol Lector de registros (
roles/logging.viewer
).Para dar acceso de edición a la mayoría de los Trusted Cloud by S3NS servicios, asigna el rol Editor (
roles/editor
).Este rol incluye todos los permisos que concede el rol Lector de registros (
roles/logging.viewer
), así como los permisos para escribir entradas de registro y eliminar registros. Sin embargo, este rol no permite a los usuarios crear receptores, leer registros de auditoría de acceso a datos que estén en el bucket_Default
ni leer registros que estén en buckets de registro definidos por el usuario.Para dar acceso completo a la mayoría de los servicios de Trusted Cloud by S3NS , asigna el rol Propietario (
roles/owner
).
Conceder roles
Para saber cómo asignar un rol a un principal, consulta Conceder, cambiar y revocar el acceso.
Puedes conceder varias funciones a un mismo usuario. Para obtener una lista de los permisos incluidos en un rol, consulta Obtener los metadatos del rol.
Si intentas acceder a un Trusted Cloud recurso y no tienes los permisos necesarios, ponte en contacto con la entidad de seguridad que aparece como propietario del recurso.
Roles personalizados
Para crear un rol personalizado con permisos de registro, sigue estos pasos:
Para asignar permisos de la API Logging a un rol, elige permisos de Permisos de API y sigue las instrucciones para crear un rol personalizado.
Para crear un rol que conceda permisos para usar el Explorador de registros, elige uno de los grupos de permisos de Permisos de la consola y sigue las instrucciones para crear un rol personalizado.
Para ver un rol que conceda permisos para usar
gcloud logging
, consulta la sección Permisos de línea de comandos de esta página y, a continuación, sigue las instrucciones para crear un rol personalizado.
Para obtener más información sobre los roles personalizados, consulta el artículo Conocer los roles personalizados de gestión de identidades y accesos.
Permisos de Cloud Logging
En la siguiente tabla se muestra una lista parcial de los permisos necesarios para usar 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 la consola | Permisos obligatorios |
---|---|
Acceso mínimo de solo lectura | logging.logEntries.list |
Ver registros de auditoría de acceso a datos | logging.privateLogEntries.list |
Ver sumideros | logging.sinks.{list, get} |
Ver el uso de los registros | logging.usage.get |
Descargar registros | logging.logEntries.{list, download}
Solo se necesita uno de estos permisos para descargar los registros. Los roles que contienen los permisos para descargar registros deben concederse a nivel de proyecto. No puedes descargar registros si se concede un rol que contenga estos permisos en el archivo de política de gestión de identidades y accesos de una vista de registro. |
Mostrar y ver ámbitos de registro | logging.logScopes.{get, list} |
Ver el ámbito de registro predeterminado | observability.scopes.get |
Excluir registros | logging.exclusions.{list, create, get, update, delete}
Cuando crees un rol personalizado que incluya permisos para gestionar filtros de exclusión, añade los permisos |
Crear y usar receptores | logging.sinks.{list, create, get, update, delete}
Cuando creas un receptor, también debes asignar a la cuenta de servicio un rol de gestión de identidades y accesos que le permita escribir entradas de registro en el destino. Para obtener más información, consulta Definir permisos de destino. Una vez que las entradas de registro se hayan enrutado a un destino admitido, el acceso a ellas se controlará por completo mediante los permisos y roles de gestión de identidades y accesos del destino. |
Guardar y usar consultas privadas | logging.queries.usePrivate logging.queries.{listShared,getShared} |
Guardar y usar consultas compartidas | logging.queries.{share, getShared, updateShared, deleteShared,
listShared} |
Usar consultas recientes | logging.queries.{create, list} |
Crear y gestionar ámbitos de registro | logging.logScopes.{create, delete, get, list, update} |
Definir y gestionar el ámbito de registro predeterminado | observability.scopes.{get, update} |
Permisos para la línea de comandos
Los comandos de gcloud logging
se controlan mediante permisos de gestión de identidades y accesos.
Para usar cualquiera de los comandos gcloud logging
, las entidades deben tener el permiso serviceusage.services.use
.
Un principal también debe tener el rol de gestión de identidades y accesos que corresponda al recurso del registro y al caso práctico. Para obtener más información, consulta los permisos de la interfaz de línea de comandos.