Protege datos confidenciales en los notebooks administrados por el usuario de Vertex AI Workbench

Last reviewed 2021-04-29 UTC

En este documento, se sugieren controles y capas de seguridad que puedes usar para proteger los datos confidenciales en notebooks administrados por el usuario de Vertex AI Workbench. Es parte de una solución de planos que consiste en lo siguiente:

En este documento, los datos confidenciales se refieren a información sensible a la que un miembro de tu empresa necesitaría niveles más altos de privilegios para acceder. Este documento está dirigido a equipos que administran notebooks administrados por el usuario.

En este documento, suponemos que ya configuraste un conjunto de controles de seguridad fundamentales para proteger la implementación de tu infraestructura de nube. El plano te ayuda a agregar controles adicionales a estos controles de seguridad existentes para proteger los datos confidenciales en Notebooks. Si deseas obtener más información sobre las prácticas recomendadas para compilar la seguridad en tus implementaciones de Google Cloud, consulta el plano de bases empresariales de Google Cloud.

Introducción

A menudo, la aplicación de políticas de administración y seguridad de datos para proteger Notebooks con datos confidenciales requiere que mantengas el equilibrio entre los siguientes objetivos:

  • Ayudar a proteger los datos que usan las instancias de notebook mediante las mismas prácticas y controles de administración de datos que aplicas en tu empresa.
  • Asegurarte de que los científicos de datos de tu empresa tengan acceso a los datos que necesitan para proporcionar estadísticas significativas

Antes de permitir que los científicos de datos de tu empresa accedan a los datos de los notebooks, debes comprender los siguientes puntos:

  • Cómo fluyen los datos a través de tu entorno.
  • Quién accede a los datos.

Ten en cuenta esta información para comprender lo siguiente:

  • Cómo implementar la jerarquía de recursos de Google Cloud para aislar los datos
  • Qué grupos de IAM están autorizados a usar datos de BigQuery
  • Cómo influye la política de administración de datos en el entorno.

Las secuencias de comandos de Terraform en el repositorio de GitHub asociado con el plano implementan los controles de seguridad que se describen en este documento. El repositorio también contiene datos de muestra para ilustrar las prácticas de administración de datos. Para obtener más información sobre la administración de datos dentro de Google Cloud, consulta ¿Qué es la administración de datos?

Arquitectura

En el siguiente diagrama de arquitectura, se muestra la jerarquía y los recursos del proyecto, como los notebooks administrados por el usuario y las claves de encriptación.

Arquitectura del plano

El perímetro de esta arquitectura se denomina límite de confianza más alto. Ayuda a proteger los datos confidenciales que se usan en la nube privada virtual (VPC). Los científicos de datos deben acceder a los datos a través del límite de confianza más alto. Para obtener más información, consulta Controles del servicio de VPC.

El límite de confianza más alto contiene todos los recursos de la nube que interactúan con datos confidenciales, lo que puede ayudarte a administrar los controles de administración de datos. Los servicios como los notebooks administrados por el usuario, BigQuery y Cloud Storage tienen el mismo nivel de confianza dentro del límite.

La arquitectura también crea controles de seguridad que te ayudan a hacer lo siguiente:

  • Mitigar el riesgo de robo de datos a un dispositivo que usan los científicos de datos en tu empresa.
  • Proteger las instancias de notebooks del tráfico de red externo.
  • Limita el acceso a la VM que aloja las instancias de notebook.

Estructura de la organización

Resource Manager te permite agrupar recursos de manera lógica por proyecto, carpeta y organización. En el siguiente diagrama, se muestra una jerarquía de recursos con carpetas que representan diferentes entornos, como la producción o el desarrollo.

Jerarquía de recursos con carpetas de producción y desarrollador

En la carpeta de producción, crea una carpeta nueva que represente el entorno de confianza.

Agrega políticas de la organización a la carpeta de confianza que crees. En las siguientes secciones, se describe cómo se organiza la información dentro de las carpetas, subcarpetas y proyectos.

Carpeta de confianza

El plano te ayuda a aislar datos mediante la introducción de una subcarpeta nueva dentro de la carpeta de producción para notebooks administrados por los usuarios y cualquier dato que las instancias del notebook usen desde BigQuery. En la siguiente tabla, se describen las relaciones de las carpetas dentro de la organización y se enumeran las carpetas que usa este plano.

Carpeta Descripción
production Contiene proyectos que tienen recursos en la nube y que se probaron y están listos para usar.
trusted Contiene proyectos y recursos para instancias de notebooks con datos confidenciales. Esta carpeta es una subcarpeta que es secundaria de la carpeta production.

Proyectos dentro de la organización

El plano te ayuda a aislar partes de tu entorno mediante proyectos. Debido a que estos proyectos no tienen un propietario de proyecto, debes crear vinculaciones de política de IAM explícitas para los grupos de IAM adecuados.

En la siguiente tabla, se describe dónde creas los proyectos que se necesitan dentro de la organización.

Proyecto Carpeta principal Descripción
trusted-kms trusted Contiene servicios que administran la clave de encriptación que protege tus datos (por ejemplo, Cloud HSM). Este proyecto se encuentra en el límite de confianza más alto.
trusted-data trusted Contiene servicios que manejan datos confidenciales (por ejemplo, BigQuery). Este proyecto se encuentra en el límite de confianza más alto.
trusted-analytics trusted Contiene los notebooks administrados por el usuario que usan los científicos de datos. Este proyecto se encuentra en el límite de confianza más alto.

Comprende los controles de seguridad que aplicas

En esta sección, se analizan los controles de seguridad dentro de Google Cloud que te ayudan a proteger tus instancias de notebook. El enfoque que se analiza en este documento usa varias capas de control para proteger los datos sensibles. Te recomendamos que adaptes estas capas de control según las necesidades de tu empresa.

Configuración de las políticas de la organización

El Servicio de políticas de la organización se usa para configurar restricciones en los recursos compatibles dentro de tu organización de Google Cloud. Configura las restricciones que se aplican a la carpeta trusted como se describe en la siguiente tabla. Para obtener más información sobre las restricciones de las políticas, consulta las restricciones de las políticas de la organización.

Restricción de política Descripción Valor recomendado
gcp.resourceLocations (lista) Define las restricciones sobre cómo se implementan los recursos en regiones particulares. Para obtener valores adicionales, consulta <a{: l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="p0QLUJkJWl022ZPF8XOpExbgk/lxGfezRLhprMa5doZN+cJCz6j1rNnG0f6zRCY5lNvENQyutzDSQoNKf6mWtw1wA7mc7xehzQW0s0VnKKA=" track-metadata-position="body" track-name="internalLink" track-type="solution" }="">grupos de región válidos.</a{:> ["in:us-locations", "in:eu-locations"]
iam.disableServiceAccountCreation (booleano) Cuando el valor es true, evita la creación de un servicio<a{: l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="CDx+y1R+QGNLsOA+E2D9d9ou+FEz00PeI85jCLdEq5b4Kv4CQ6p1vl0x3rS9735/" track-metadata-position="body" track-name="internalLink" track-type="solution" }=""> account.</a{:> true
iam.disableServiceAccountKeyCreation (booleano) Cuando el valor es true, evita la creación de <a{: l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="WFRYDQtmB/86VDs7PZa96dou+FEz00PeI85jCLdEq5bHy+ezA0ewJmDnHN78IEaq/uqVRhG/IldRkC2L0Y9bBQ==" track-metadata-position="body" track-name="internalLink" track-type="solution" }="">service account keys.</a{:> true
iam.automaticIamGrantsForDefaultServiceAccounts (booleano) Cuando el valor es true, evita que las cuentas de servicio predeterminadas se otorguen a cualquier función de IAM en el proyecto cuando se crean las cuentas. true
compute.requireOsLogin (booleano) Cuando el valor es true, habilita el Acceso al SO. Para obtener más información, consulta <a{: l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="Mh2WvN3PzmbL/6M7AMJ+U8xdrud5wj8XJuhclBrl/6o=" track-metadata-position="body" track-name="internalLink" track-type="solution" }="">Acceso al SO.</a{:> true
constraints/compute.restrictProtocolForwardingCreationForTypes (lista) Limita las nuevas reglas de reenvío de modo que sean solo para uso interno. ["is:INTERNAL"]
compute.restrictSharedVpcSubnetworks (lista) Define el conjunto de subredes de VPC compartidas que pueden usar los recursos aptos. Proporciona el nombre del proyecto que tiene tu subred de VPC compartida.

Reemplaza la subred VPC_SUBNET por el ID de recurso de la subred privada que deseas que usen los notebooks administrados por el usuario.
["under:projects/VPC_SUBNET"]
compute.vmExternalIpAccess Define el conjunto de instancias de VM de Compute Engine que tienen permiso para usar direcciones IP externas. deny all=true
compute.skipDefaultNetworkCreation (booleano) Cuando el valor es true, Google Cloud omite la creación de la red predeterminada y los recursos relacionados durante la creación de recursos de Google Cloud. true
compute.disableSerialPortAccess (booleano) Cuando el valor es true, evita el acceso del puerto en serie a las VM de Compute Engine. true
compute.disableSerialPortLogging (booleano) Cuando el valor es true, evita el registro del puerto en serie en Cloud Logging desde las VM de Compute Engine. true

Para obtener más información sobre los controles de políticas adicionales, consulta el plano de bases empresariales de Google Cloud.

Autenticación y autorización

El plano te ayuda a establecer controles de IAM y patrones de acceso que puedes aplicar a los notebooks administrados por el usuario. El plano te ayuda a definir patrones de acceso de las siguientes maneras:

  • Usa un grupo de científicos de datos de mayor confianza. Las identidades individuales no tienen permisos asignados para acceder a los datos.
  • Define una función personalizada de IAM llamada restrictedDataViewer
  • Usa los principios de privilegio mínimo para limitar el acceso a tus datos

Usuarios y grupos

El límite de confianza más alto tiene dos personas, que son las siguientes:

  • El propietario de los datos, que es responsable de clasificar los datos dentro de BigQuery
  • El científico de datos de confianza, que puede controlar datos confidenciales.

Asocias a estas personas a los grupos. Agrega una identidad que coincida con la persona del grupo, en lugar de otorgar la función a identidades individuales.

El plano te ayuda a aplicar el privilegio mínimo mediante la definición de una asignación uno a uno entre los científicos de datos y sus instancias de notebook, de modo que solo una identidad de científico de datos único pueda acceder a la instancia de notebook. A los científicos de datos individuales no se les otorgan permisos de editor en una instancia de notebook.

En la tabla, se muestra la siguiente información:

  • Las personas que asignas al grupo.
  • Las funciones de IAM que asignas al grupo a nivel de proyecto.
Grupo Descripción Funciones Proyecto
data-owner@example.com Los miembros son responsables de la clasificación y la administración de datos en BigQuery. <a{: l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="qZGUxiLwMwSqAayYOaEAYsqqqBP4p/061BE24HsZBYzqnuNSkSxnVKwqYjVml1pv" track-metadata-position="body" track-name="internalLink" track-type="solution" }="">roles/bigquery.dataOwner</a{:> trusted-data
trusted-data-scientist@example.com Los miembros pueden acceder a los datos de la carpeta de confianza. roles/restrictedDataViewer (personalizado) trusted-data

Cuentas de servicio administradas por el usuario

Crea una cuenta de servicio administrada por el usuario para que la use los notebooks en lugar de la cuenta de servicio predeterminada de Compute Engine. Las funciones de la cuenta de servicio para las instancias de notebook se definen en la siguiente tabla.

Cuenta de servicio Descripción Funciones Proyecto
sa-p-notebook-compute@trusted-analytics.iam.gserviceaccount.com Una cuenta de servicio que usa Vertex AI para aprovisionar instancias de notebook.
  • roles/restrictedDataViewer (Personalizados)
  • <a{: l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="qZGUxiLwMwSqAayYOaEAYsqqqBP4p/061BE24HsZBYzqnuNSkSxnVKwqYjVml1pv" track-metadata-position="body" track-name="internalLink" track-type="solution" }="">roles/bigquery.jobUser</a{:>
  • <a{: l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="F09OE/SDdsh4rSUv6kg1NJzBt276nqedo2zyLe4cxCi9OImFy9Pn6CEbIlOwglwwkXtNx3LSV4gEFf1hFSv84Q==" track-metadata-position="body" track-name="internalLink" track-type="solution" }="">roles/cloudkms.cryptoKeyEncrypterDecrypter</a{:>
  • roles/compute.instanceAdmin
  • roles/notebooks.viewer
trusted-analytics

El plano también te ayuda a configurar la cuenta de servicio administrada por Google que representa tus notebooks adminstrados por usuarios, ya que proporciona acceso a la cuenta de servicio administrada por Google a las claves de encriptación administradas por el cliente (CMEK) especificadas.. Este otorgamiento de recurso específico aplica el privilegio mínimo a la clave que usan los notebooks administrados por el usuario.

Debido a que los proyectos no tienen un propietario de proyecto definido, los científicos de datos no pueden administrar las claves.

Funciones personalizadas

En el plano, quita el permiso de exportación para crear una función personalizada de roles/restrictedDataViewer. La función personalizada se basa en la función dataViewer de BigQuery predefinida que permite a los usuarios leer datos de la tabla de BigQuery. Debes asignar esta función al grupo trusted-data-scientists@example.com. En la siguiente tabla, se muestran los permisos que usa la función roles/restrictedDataViewer.

Nombre de función personalizada Descripción Permisos
roles/restrictedDataViewer Permite que las instancias de notebook dentro del límite de confianza más alto vean los datos sensibles de BigQuery.

Basado en la función roles/bigquery.dataViewer <a{: l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="qZGUxiLwMwSqAayYOaEAYsqqqBP4p/061BE24HsZBYzqnuNSkSxnVKwqYjVml1pv" track-metadata-position="body" track-name="internalLink" track-type="solution" }="">
sin el permiso (por ejemplo, bigquery.models.export).</a{:>
bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.models.getData
bigquery.models.getMetadata
bigquery.models.list
bigquery.routines.get
bigquery.routines.list
bigquery.tables.get
bigquery.tables.getData
bigquery.tables.getIamPolicy
bigquery.tables.list
resourcemanager.projects.get
resourcemanager.projects.list

Privilegio mínimo

El plano te ayuda a otorgar funciones que tienen el nivel mínimo de privilegio. Por ejemplo, debes configurar una asignación uno a uno entre una sola identidad de científico de datos y una instancia de notebook, en lugar de una asignación compartida con una cuenta de servicio. La restricción del privilegio ayuda a evitar que los científicos de datos accedan directamente a las instancias que alojan su instancia de notebook.

Acceso con privilegios

Los usuarios del grupo de científicos de datos de mayor confianza llamados trusted-data-scientists@example.com tienen acceso con privilegios. Este nivel de acceso significa que estos usuarios tienen identidades que pueden acceder a datos confidenciales. Trabaja con tu equipo de identidades a fin de proporcionar llaves de seguridad para hardware con 2SV habilitada para estas identidades de científicos de datos.

Herramientas de redes

Debes especificar un entorno de VPC compartida para tus notebooks, como uno definido por las secuencias de comandos de red de bases empresariales de Google Cloud.

La red para las instancias de notebook tiene las siguientes propiedades:

  • Una VPC compartida mediante una red privada sin dirección IP externa
  • Reglas de firewall restrictivas
  • Un perímetro de Controles del servicio de VPC que abarca todos los servicios y los proyectos con los que interactúan los notebooks administrados por el usuario.
  • Una política de Access Context Manager

VPC compartida restringida

Configura los notebooks administrados por el usuario para que usen la VPC compartida que especificas. Debido a que el Acceso al SO es obligatorio, la VPC compartida minimiza el acceso a las instancias de notebook. Puedes configurar el acceso explícito para tus científicos de datos mediante Identity-Aware Proxy (IAP).

También debes configurar la conectividad privada de los servicios y las API de Google en tu VPC compartida mediante el dominio restricted.googleapis.com. Esta configuración permite que los servicios de tu entorno admitan los Controles del servicio de VPC.

Para ver un ejemplo de cómo configurar tu VPC restringida compartida, consulta las secuencias de comandos de Terraform para la configuración de red del plano de la base de seguridad.

Perímetro de los Controles del servicio de VPC

El plano te ayuda a establecer el límite de confianza más alto para tu entorno de confianza mediante los Controles del servicio de VPC.

Perímetros de servicio son un control a nivel de la organización que puedes usar para ayudar a proteger los servicios de Google Cloud en tus proyectos mediante la mitigación del riesgo de robo de datos.

En la siguiente tabla, se describe cómo configurar el perímetro de Control de servicios de VPC.

Atributo Consideración Valor
projects Incluye todos los proyectos que contienen datos a los que acceden los científicos de datos que usan notebooks administrados por el usuario, incluidas las claves. ["trusted-kms"
"trusted-data"
"trusted-analytics"]
services Agrega servicios adicionales según sea necesario. ["compute.googleapis.com",
"storage.googleapis.com",
"notebooks.googleapis.com",
"bigquery.googleapis.com",
"datacatalog.googleapis.com",
"dataflow.googleapis.com",
"dlp.googleapis.com",
"cloudkms.googleapis.com",
"secretmanager.googleapis.com",
"cloudasset.googleapis.com",
"cloudfunctions.googleapis.com",
"pubsub.googleapis.com",
"monitoring.googleapis.com",
"logging.googleapis.com"]
access_level Agregar <a{: l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="lusaVihyw0i6CzgawuRRYyk10Dou6dGBPtPXPAqkVYhqg3ciWN7dEYftf8SKI5K5" track-metadata-position="body" track-name="internalLink" track-type="solution" }="">Access Context Manager policies that align with your security requirements and add more detailed <a{: l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="ZRmADm/vo/JQ2+/D/vUUr0WE0NcjMCq0U/gbksCiqgf1jsdW/MbrYpK1/gdk16L117PUzYIUuMKSr0A78yDcsQ==" track-metadata-position="body" track-name="internalLink" track-type="solution" }="">endpoint verification policies.</a{:></a{:> ACCESS_POLICIES
Para obtener más información, consulta <a{: l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="RD1gsl2tw43oA/PJKkk1nXjCRwUobSSsbtnFJlSTCBLjoLksm7evman24//KLCurKSqCdTDqIF3jaY3PSD/AkaFbN8pCOwuaC/vIQ9/k+Vf+HXbWtslLzKBVhXD8qB/Z" track-metadata-position="body" track-name="internalLink" track-type="solution" }="">Access Context Manager
</a{:>

Access Context Manager

El plano te ayuda a configurar Access Context Manager con el perímetro de los Controles del servicio de VPC. Access Context Manager te permite definir un control de acceso detallado basado en atributos para proyectos y recursos. Usa la Verificación de extremos y configura la política para que se alinee con los requisitos de administración corporativa a fin de acceder a los datos. Trabaja con tu administrador a fin de crear una política de acceso para los científicos de datos de tu empresa.

Te recomendamos que uses los valores que se muestran en la siguiente tabla para tu política de acceso.

Condición Consideración Values
ip_subnetworks Usa rangos de IP que sean de confianza para tu empresa. (Lista) Los rangos CIDR permiten enumerar el acceso a los recursos dentro del perímetro.
members Agrega usuarios con una gran cantidad de privilegios que puedan acceder al perímetro. (lista) Identidades con privilegios de científicos de datos y cuenta de servicio de Terraform para el aprovisionamiento.
device_policy.require_screen_lock Los dispositivos deben tener habilitado el bloqueo de pantalla. true
device_policy.require_corp_owned Solo permite que los dispositivos corporativos accedan a los notebooks administrados por el usuario. true
device_policy.allowed_encryption_statuses Permite que los científicos de datos solo usen dispositivos que encriptan datos en reposo (lista) ENCRYPTED
regions Mantén la regionalización, en la que los científicos de datos pueden acceder a las instancias de notebook.

Limita el conjunto de regiones más pequeño en el que esperas que trabajen los científicos de datos.
<a{: l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="8N5kFK1nMdX9Lm9PBXn1Gik10Dou6dGBPtPXPAqkVYhCA27lJ8v3AtKljasH4ygRJI82FsX3O5bO4YFtCsDjBg==" track-metadata-position="body" track-name="internalLink" track-type="solution" }="">Códigos de región válidos
(list) </a{:>

Privilegio mínimo de BigQuery

El plano muestra cómo configurar el acceso a los conjuntos de datos en BigQuery que usan los científicos de datos. En la configuración que estableciste, los científicos de datos deben tener una instancia de notebook para acceder a los conjuntos de datos en BigQuery.

La configuración que estableces también te ayuda a agregar capas de seguridad a los conjuntos de datos en BigQuery de las siguientes maneras:

  • Otorga acceso a la cuenta de servicio de la instancia de notebook. Los científicos de datos deben tener una instancia de notebook para acceder directamente a los conjuntos de datos en BigQuery.
  • Mitiga el riesgo de que los científicos de datos creen copias de datos que no cumplan con los requisitos de administración de datos de tu empresa. Los científicos de datos que necesitan interactuar directamente con BigQuery deben agregarse al grupo trusted-data-scientists@example.com.

Como alternativa, si deseas proporcionar acceso limitado a BigQuery para los científicos de datos, puedes usar controles de acceso detallados, como la seguridad a nivel de la columna. El propietario de los datos debe trabajar con los equipos de administración para crear una taxonomía adecuada. Los propietarios de los datos pueden usar Sensitive Data Protection para analizar conjuntos de datos con el fin de ayudar a clasificar y etiquetar el conjunto de datos a fin de que coincida con la taxonomía.

Administración de claves

Para proteger tus datos, los notebooks administrados por el usuario usan claves de encriptación. Las claves están respaldadas por Cloud HSM del nivel 3 del estándar FIPS 140-2. Las claves que creas en el entorno ayudan a proteger tus datos de las siguientes maneras:

  • Las CMEK se habilitan para todos los servicios que se encuentran dentro del límite de confianza más alto.
  • La disponibilidad de las claves se puede configurar por región.
  • La rotación de clave se puede configurar.
  • El acceso a las claves es limitado.

CMEK

El plano te ayuda a usar CMEK, lo que crea un límite criptográfico para todos los datos mediante una clave que administras. Tu entorno usa la misma clave CMEK para todos los servicios que se encuentran dentro del límite de confianza más alto. Otro beneficio de usar CMEK es que puedes destruir la clave que usaste para proteger las instancias de los notebooks cuando ya no sean necesarias.

Disponibilidad y rotación de claves

Puedes lograr una mayor disponibilidad si creas un llavero de claves multirregional, que aumenta la disponibilidad de tus claves.

En este plano, debes crear claves con un valor de rotación automático. Para establecer el valor de rotación, sigue la política de seguridad que configuró tu empresa. Puedes cambiar el valor predeterminado para que coincida con tu política de seguridad o rotar tus claves con mayor frecuencia si es necesario.

En la siguiente tabla, se describen los atributos que configuras para tus claves.

Atributo Consideración Values
rotation Haz coincidir el valor que establece la política de rotación de cumplimiento de tu negocio. 45 días
location Use un llavero de claves que use <a{: l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="Z98fpOVAlHdfgDS3sMyCXJRrt04oQqGzq1Aef2125xKSjPY+/eF9aEsSeoGJf8A6" track-metadata-position="body" track-name="internalLink" track-type="solution" }="">multi-regional ubicaciones multirregionales para promover una mayor disponibilidad.</a{:> Se selecciona automáticamente en función de la configuración de la zona de los notebooks administrados por el usuario.
protection level Usa el nivel de protección especificado por tu empresa. HSM

Acceso a la clave

El plano te ayuda a proteger tus claves, ya que las coloca en un módulo de Cloud HSM en una carpeta independiente de tus recursos de datos. Debes usar este enfoque por las siguientes razones:

  • Se necesitan claves de encriptación para que cualquier recurso pueda usarlas.
  • Los equipos de administración de claves se mantienen separados de los propietarios de los datos.
  • Se necesitan controles y supervisión adicionales para las claves. Usar una carpeta separada te permite administrar políticas para las claves independientes de tus datos.

Controles de seguridad para notebooks administrados por el usuario

Los controles que se describen en esta sección protegen los datos que se usan en los notebooks administrados por el usuario. El plano te ayuda a configurar los controles de seguridad de los notebooks administrados por el usuario de la siguiente manera:

  • Mitiga el riesgo de robo de datos.
  • Limita la elevación de privilegios.

Administración de descarga de datos

De forma predeterminada, las instancias de notebook permiten a los científicos de datos descargar o exportar datos a sus máquinas. La secuencia de comandos de inicio instalada por el plano te ayuda a evitar las siguientes acciones:

  • La exportación y descarga de datos a dispositivos locales.
  • La capacidad de imprimir valores de salida calculados por instancias de notebook.

La secuencia de comandos se crea en el proyecto trusted_kms. El plano te ayuda a proteger el bucket que almacena la secuencia de comandos mediante la limitación del acceso y la configuración de CMEK. Separar las secuencias de comandos del proyecto para los notebooks administrados por el usuario también ayuda a reducir el riesgo de que se agregue un código no aprobado a las secuencias de comandos de inicio.

Debido a que configuras notebooks para que use tu subred de VPC privada y restringida, las instancias de notebook no pueden acceder a las redes públicas. Esta configuración ayuda a evitar que los científicos de datos instalen módulos externos, accedan a fuentes de datos externas y accedan a repositorios de código públicos. En lugar de recursos externos, te recomendamos configurar un repositorio de artefactos privado, como Artifact Registry, para los científicos de datos de tu empresa.

Administración de privilegios

El plano te ayuda a limitar los permisos asignados al grupo trusted-data-scientists@example.com. Por ejemplo, el grupo no tiene una función asignada a fin de crear instantáneas de discos persistentes, ya que el sistema de archivos local de la instantánea podría contener instancias de notebook que contienen datos de tu empresa.

Además, para evitar que los científicos de datos obtengan acceso con privilegios, evitas que se usen comandos sudo desde la línea de comandos de la instancia de notebook. Esta acción ayuda a evitar que los científicos de datos modifiquen los controles instalados en la instancia de notebook, como los paquetes o registros aprobados.

Seguridad operativa

Además de los controles de seguridad que estableces con el plano, debes configurar las siguientes políticas de seguridad operativa para garantizar que los datos estén protegidos de forma continua en las notebooks que usa tu empresa:

  • Configuración de registro y supervisión.
  • Políticas de administración de vulnerabilidades
  • Visibilidad de los elementos

Registro y supervisión

Una vez que se crea una jerarquía, debes configurar los controles de detección y registro que usas para los proyectos nuevos. Si deseas obtener más información para configurar estos controles, consulta las secuencias de comandos de registro del plano de la base de seguridad.

Administración de vulnerabilidades

Las imágenes de VM de aprendizaje profundo se actualizan con regularidad. Te recomendamos que actualices las imágenes de las instancias de notebook existentes con la misma frecuencia que el programa de análisis de vulnerabilidades. Puedes verificar el resultado de la API de isUpgradeable y, luego, iniciar una actualización a través de la API upgrade.

Visibilidad de los riesgos

Te recomendamos usar Security Command Center para ver los recursos, las vulnerabilidades, los riesgos y la política. Security Command Center analiza la implementación para evaluar el entorno en función de los frameworks de cumplimiento relevantes.

Revisión general

Para implementar la arquitectura que se describe en este documento, haz lo siguiente:

  1. Crea la carpeta y los proyectos de confianza según la sección estructura de la organización.
  2. Configura los controles de registro y supervisión para esos proyectos según tu política de seguridad. Para ver un ejemplo, consulta la configuración del registro del plano de seguridad.
  3. Crea los grupos de IAM y agrega tus identidades de científicos de datos de confianza al grupo correspondiente, como se describe en Usuarios y grupos.
  4. Configura la red con una VPC y una subred restringidas compartidas, como se describe en Herramientas de redes.
  5. Crea tu política de Access Context Manager, como se describe en Access Context Manager.
  6. Clona el repositorio de Git para este plano:
  7. Crea el archivo de variable de entorno de Terraform con las entradas necesarias.
  8. Aplica las secuencias de comandos de Terraform a tu entorno para crear los controles que se analizan en este plano.
  9. Revisa el entorno de confianza para conocer tus requisitos de seguridad y administración de datos. Puedes analizar los proyectos recién creados en los frameworks de cumplimiento de Security Command Center.
  10. Crea un conjunto de datos en BigQuery dentro del proyecto trusted-data o usa la muestra proporcionada en el módulo de repositorio de GitHub data.
  11. Trabaja con un científico de datos en tu empresa para probar su acceso a la instancia de notebook recién creada.
  12. Dentro del entorno de los notebooks administrados por el usuario, realiza una prueba para verificar si un científico de datos puede interactuar con los datos desde BigQuery como se espera. Puedes usar el comando de BigQuery de ejemplo en el repositorio de GitHub asociado.

Recursos