Soluciona problemas con el servicio de descubrimiento

En esta página, se muestra cómo resolver problemas con el servicio de descubrimiento de Sensitive Data Protection. Para obtener más información sobre el servicio de descubrimiento, consulta Perfiles de datos. Para obtener información sobre cómo ver los errores asociados con la configuración del análisis de detección, consulta Cómo ver los errores de configuración.

El contenedor del agente de servicio no tiene habilitada la API de DLP

Este problema se produce cuando creas una configuración de análisis a nivel de la organización y no tienes el permiso serviceusage.services.enable en el proyecto que seleccionaste como tu contenedor del agente de servicio. Sensitive Data Protection no puede habilitar automáticamente la API de DLP en el proyecto.

Permission denied to enable service [dlp.googleapis.com]

Para solucionar este problema, realiza una de las siguientes tareas. En ambos casos, debes obtener los permisos necesarios. Para obtener más información, consulta Roles requeridos para trabajar con perfiles de datos a nivel de la organización o la carpeta.

Crea un nuevo contenedor de agente de servicio

  1. Pídele a tu administrador que te otorgue el rol de Creador de proyectos (roles/resourcemanager.projectCreator) en la organización.
  2. Edita la configuración de análisis a nivel de la organización.
  3. En la sección Contenedor del agente de servicio, haz clic en Crear y sigue las instrucciones para crear un nuevo contenedor del agente de servicio.
  4. Guarde la configuración.

Actualiza el contenedor del agente de servicio

  1. Pídele a tu administrador que te otorgue un rol que tenga el permiso serviceusage.services.enable en el proyecto que seleccionaste como contenedor de agente de servicio.
  2. Consulta los detalles de la configuración del análisis para ver los errores activos.
  3. Busca este error y haz clic en Reparar.

El agente de servicio no tiene permiso para leer una columna con control de acceso

Este problema se produce cuando se genera el perfil de una tabla que aplica seguridad a nivel de la columna a través de etiquetas de política. Si el agente de servicio no tiene permiso para acceder a la columna restringida, la Protección de datos sensibles muestra el siguiente error:

Permission denied for DLP API service account 'SERVICE_AGENT_ID'
while accessing a BigQuery table. Access Denied: BigQuery BigQuery: User does
not have permission to access policy tag "POLICY_TAG_ID" on column FIELD_NAME.

Para resolver este problema, en la página de Identity and Access Management (IAM), otorga a tu agente de servicio el rol de lector detallado.

Ir a IAM

Sensitive Data Protection vuelve a intentar periódicamente generar perfiles de los datos para los que no pudo hacerlo.

Para obtener más información sobre cómo otorgar un rol, consulta Otorga un solo rol.

El agente de servicio no tiene acceso a la creación de perfiles de datos

Este problema se produce después de que alguien de tu organización crea una configuración de análisis a nivel de la organización o la carpeta. Cuando ves los detalles de configuración del análisis, observas que el valor de Estado del análisis es Activo con errores. Cuando ves el error, la Protección de datos sensibles muestra el siguiente mensaje de error:

None of the driver projects (PROJECT_ID) have MISSING_PERMISSION
permission for organizations/ORGANIZATION_ID.

Este error se produjo porque la Protección de datos sensibles no pudo otorgar automáticamente el rol de controlador de perfiles de datos de la organización de DLP a tu agente de servicio mientras creaba la configuración del análisis. El creador de la configuración del análisis no tiene permisos para otorgar acceso al perfil de datos, por lo que Sensitive Data Protection no pudo hacerlo en su nombre.

Para resolver este problema, consulta Cómo otorgar acceso a la creación de perfiles de datos a un agente de servicio.

La cuenta de servicio no tiene permiso para consultar una tabla

Este problema se produce cuando Sensitive Data Protection intenta crear un perfil de una tabla para la que el agente de servicio no tiene permiso para realizar consultas. Sensitive Data Protection muestra el siguiente error:

Permission denied error: Permission denied for DLP API service account 'SERVICE_AGENT_ID'
while accessing BigQuery table. Access Denied: Table TABLE: User does not have
permission to query table TABLE. Permission denied for DLP API service account
'SERVICE_AGENT_ID' while accessing BigQuery table. Access Denied: Table TABLE:
User does not have permission to query TABLE. [TIMESTAMP]

Confirma que la tabla aún exista. Si la tabla existe, sigue estos pasos.

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Obtén la política de IAM actual para la tabla y, luego, imprímela en stdout:

    bq get-iam-policy TABLE
    

    Reemplaza TABLE por el nombre completo del recurso de la tabla de BigQuery, en el formato PROJECT_ID:DATASET_ID.TABLE_ID; por ejemplo, project-id:dataset-id.table-id.

  3. Otorga el rol Agente de servicios de la API de DLP (roles/dlp.serviceAgent) al agente de servicio:

    bq add-iam-policy-binding --member=serviceAccount:SERVICE_AGENT_ID \
        --role=roles/dlp.serviceAgent TABLE
    

    Reemplaza lo siguiente:

    • SERVICE_AGENT_ID: Es el ID del agente de servicio que debe consultar la tabla, por ejemplo, [email protected].
    • TABLE: Es el nombre completo del recurso de la tabla de BigQuery, en el formato PROJECT_ID:DATASET_ID.TABLE_ID, por ejemplo, project-id:dataset-id.table-id.

      El resultado es similar a este:

    Successfully added member 'SERVICE_AGENT_ID' to role 'roles/dlp.serviceAgent' in IAM policy for table 'TABLE':
    
    {
     "bindings": [
       {
         "members": [
           "serviceAccount:SERVICE_AGENT_ID"
         ],
         "role": "roles/dlp.serviceAgent"
       }
     ],
     "etag": "BwXNAPbVq+A=",
     "version": 1
    }
    

    Sensitive Data Protection vuelve a intentar periódicamente generar perfiles de los datos para los que no pudo hacerlo.

  4. La cuenta de servicio no tiene permiso para publicar en un tema de Pub/Sub

    Este problema se produce cuando Sensitive Data Protection intenta publicar notificaciones en un tema de Pub/Sub en el que el agente de servicio no tiene acceso de publicación. Sensitive Data Protection muestra el siguiente error:

    Permission missing to publish notifications on Cloud Pub/Sub topic 'TOPIC_NAME'.
    The DLP API service account 'SERVICE_AGENT_ID' must must have at least the Pub/Sub Publisher role.
    

    Para resolver este problema, otorga acceso de publicación a tu agente de servicio a nivel del proyecto o del tema. Un ejemplo de un rol que tiene acceso de publicación es el rol de Publicador de Pub/Sub.

    Si hay problemas de configuración o permisos con el tema de Pub/Sub, la Protección de datos sensibles vuelve a intentar enviar la notificación de Pub/Sub durante un máximo de dos semanas. Después de dos semanas, se descarta la notificación.

    No se puede usar la plantilla de inspección para generar perfiles de datos en una región diferente

    Este problema ocurre cuando Sensitive Data Protection intenta generar un perfil de datos que no residen en la misma región en la que se encuentra la plantilla de inspección. Sensitive Data Protection muestra el siguiente error:

    Data in region DATA_REGION cannot be profiled using template in region
    TEMPLATE_REGION. Regional template can only be used to profile data
    in the same region. If profiling data in multiple regions, use a global template.
    

    En este mensaje de error, DATA_REGION es la región en la que residen los datos y TEMPLATE_REGION es la región en la que reside la plantilla de inspección.

    Para resolver este problema, puedes copiar la plantilla específica de la región en la región global:

    1. Copia la plantilla de inspección en la región global.

    2. En la página Detalles de la plantilla de inspección, copia el nombre completo del recurso de la plantilla. El nombre completo del recurso tiene el siguiente formato:

      projects/PROJECT_ID/locations/REGION/inspectTemplates/TEMPLATE_ID
    3. Edita la configuración del análisis y, luego, ingresa el nombre completo del recurso de la nueva plantilla de inspección.

    4. Haz clic en Guardar.

    Sensitive Data Protection vuelve a intentar periódicamente generar perfiles de los datos para los que no pudo hacerlo.

    Sensitive Data Protection intentó crear un perfil de una tabla no admitida

    Este problema se produce cuando la Protección de datos sensibles intenta generar el perfil de una tabla que no es compatible. En el caso de esa tabla, aún obtendrás un perfil parcial que contiene los metadatos de la tabla. Sin embargo, el perfil parcial muestra el siguiente error:

    Unimplemented error: Table of type `TABLE_TYPE` is not currently supported for inspection. [DATE_TIME].
    

    Si no quieres obtener perfiles parciales ni errores para las tablas no compatibles, sigue estos pasos:

    1. Edita la configuración de análisis.
    2. En el paso Administrar programas, haz clic en Editar programa.
    3. En el panel que aparece, haz clic en la pestaña Condiciones.
    4. En la sección Tablas para generar el perfil, haz clic en Generar el perfil de las tablas admitidas.

    Para obtener más información, consulta Administra programas.

    El informe prediseñado de Looker no se carga correctamente

    Consulta Soluciona errores con el informe prediseñado.

    Consulta Soluciona problemas de errores en la documentación para controlar el acceso de IAM a los recursos según la sensibilidad de los datos.

    ¿Qué sigue?