Google Cloud Storage

Este documento proporciona directrices sobre cómo integrar Cloud Storage con el módulo SOAR de Google Security Operations.

Versión de integración: 9.0

Esta integración usa uno o varios componentes de código abierto. Puedes descargar una copia del código fuente de esta integración desde un segmento de Cloud Storage.

Casos prácticos

En la plataforma SOAR de Google SecOps, la integración de Google Cloud Storage resuelve los siguientes casos prácticos:

  • Almacenamiento de pruebas de incidentes: los runbooks pueden recoger y almacenar automáticamente pruebas relacionadas con incidentes, como registros y muestras de malware, en segmentos de Cloud Storage para proporcionar un repositorio a prueba de manipulaciones para la conservación de pruebas.

  • Compartir información sobre amenazas: tu equipo de seguridad puede usar Cloud Storage para compartir de forma segura feeds de información sobre amenazas, como listas de direcciones IP y dominios maliciosos, con otros equipos u organizaciones. Compartir feeds permite colaborar en la defensa contra amenazas y reducir los tiempos de respuesta.

  • Integración del entorno aislado de análisis de malware: los playbooks pueden enviar automáticamente archivos sospechosos de un incidente a un entorno aislado de análisis de malware basado en la nube. Puedes almacenar los resultados del análisis en Cloud Storage para revisarlos y tomar medidas adicionales, lo que te permitirá analizar malware de forma eficiente y escalable.

  • Copia de seguridad de la configuración de seguridad: usa las funciones de SOAR de Google SecOps para automatizar las copias de seguridad periódicas de configuraciones de seguridad críticas, como las reglas de cortafuegos y las firmas del sistema de detección de intrusiones, en Cloud Storage. Automatizar las copias de seguridad proporciona continuidad empresarial y una recuperación más rápida en caso de cambios accidentales o malintencionados.

  • Almacenamiento de artefactos de campañas de phishing: usa las funciones de SOAR de Google SecOps para almacenar correos de phishing, archivos adjuntos y otros artefactos en Cloud Storage mientras investigas una campaña de phishing. El almacenamiento de artefactos permite analizar y conservar las pruebas de forma centralizada para posibles acciones legales.

Antes de empezar

Para usar la integración, necesitas una Google Cloud cuenta de servicio. Puedes usar una cuenta de servicio que ya tengas o crear una.

Crear una cuenta de servicio

  1. Para obtener instrucciones sobre cómo crear una cuenta de servicio, consulta el artículo Crear cuentas de servicio.

  2. En Conceder a esta cuenta de servicio acceso al proyecto, concede a tu cuenta de servicio el siguiente rol:

    • Storage Admin
  3. Si no ejecutas cargas de trabajo en Google Cloud, debes crear una clave de cuenta de servicio en JSON después de crear una cuenta de servicio. Si no usas una federación de identidades de carga de trabajo para el correo de GKE, debes proporcionar el contenido del archivo JSON descargado al configurar los parámetros de integración.

    Por motivos de seguridad, te recomendamos que utilices la federación de identidades de carga de trabajo para las direcciones de correo de GKE en lugar de las claves JSON de las cuentas de servicio. Para obtener más información sobre las identidades de carga de trabajo, consulta Identidades de cargas de trabajo.

Integrar Cloud Storage con Google SecOps

La integración requiere los siguientes parámetros:

Parámetros Descripción
Service Account Optional

El contenido del archivo JSON de la clave de la cuenta de servicio.

Puede configurar este parámetro o el parámetro Workload Identity Email.

Para configurar este parámetro, proporciona todo el contenido del archivo JSON de la cuenta de servicio que has descargado al crear una cuenta de servicio.

Workload Identity Email Optional

La dirección de correo del cliente de tu cuenta de servicio.

Puede configurar este parámetro o el parámetro Service Account.

Para suplantar cuentas de servicio con la dirección de correo de Workload Identity Federation for GKE, asigna el rol Service Account Token Creator a tu cuenta de servicio. Para obtener más información sobre las identidades de carga de trabajo y cómo trabajar con ellas, consulta Identidades de cargas de trabajo.

Project ID Optional

El ID de proyecto que se usará para la integración de Cloud Storage. Si no asignas ningún valor a este parámetro, el ID del proyecto se obtiene del contenido del archivo JSON proporcionado en el parámetro Service Account.

Quota Project ID Optional

El Google Cloud ID de proyecto que usas para las APIs Google Cloud y la facturación. Para usar este parámetro, debe conceder el rol Service Usage Consumer a su cuenta de servicio.

Si no asigna ningún valor a este parámetro, el ID de proyecto se obtiene del contenido del archivo JSON proporcionado en el parámetro Service Account.

Para obtener instrucciones detalladas sobre cómo configurar una integración en Google SecOps, consulta Configurar integraciones.

Si es necesario, puedes hacer cambios más adelante. Después de configurar una instancia de integración, puedes usarla en los cuadernos de estrategias. Para obtener más información sobre cómo configurar y admitir varias instancias, consulta Admitir varias instancias.

Acciones

En el caso de las acciones que funcionan con listas de control de acceso (LCA), puede especificar el acceso y aplicar permisos tanto al segmento como a los objetos individuales. Para obtener más información, consulta Listas de control de acceso (LCA).

Descargar un objeto de un segmento

Usa esta acción para descargar un objeto (archivo) específico de un segmento de Cloud Storage.

Esta acción no se ejecuta en entidades.

Entradas de acciones

La acción Descargar un objeto de un contenedor requiere los siguientes parámetros:

Parámetros Descripción
Bucket Name Obligatorio

Nombre del segmento de Cloud Storage que contiene el objeto que se va a descargar.

Object Name Obligatorio

Nombre completo del objeto que se va a descargar.

Si el objeto se encuentra en una carpeta del contenedor, incluye la ruta de la carpeta, como folderA/mydocument.pdf.

Download Path Obligatorio

La ruta absoluta del objeto descargado que lleva a un directorio, por ejemplo, /tmp/downloads/.

Resultados de la acción

La acción Descargar un objeto de un contenedor proporciona las siguientes salidas:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Resultado de JSON

En el siguiente ejemplo se describe la salida del resultado JSON que se recibe al usar la acción Descargar un objeto de un contenedor:

{
"object_name": "123.txt"
"download_path": "/usr/bin/share/download.txt"
}
Mensajes de salida

En un panel de casos, la acción Descargar un objeto de un segmento proporciona los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

OBJECT_NAME successfully downloaded to DESTINATION_PATH.

Action wasn't able to download OBJECT_NAME. Reason: Bucket BUCKET_NAME not found.

Action wasn't able to download OBJECT_NAME. Reason: No such object.

La acción se ha realizado correctamente.
Error executing action "Download an Object From a Bucket". Reason: ERROR_REASON

Ha fallado la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se describen los valores de la salida del resultado de la secuencia de comandos al usar la acción Descargar un objeto de un contenedor:

Nombre del resultado del script Valor
is_success True o False

Obtener la lista de control de acceso de un segmento

Usa la acción Obtener lista de control de acceso de un segmento para recuperar y mostrar las LCAs de los segmentos de Cloud Storage especificados.

Esta acción no se ejecuta en entidades.

Entradas de acciones

La acción Get a Bucket's Access Control List requiere los siguientes parámetros:

Parámetros Descripción
Bucket Name Obligatorio

El nombre del segmento de Cloud Storage del que quieres obtener la lista de control de acceso. Para obtener las ACLs de varios segmentos, introduzca los nombres de los segmentos como una cadena separada por comas, como bucket1,bucket2,bucket3.

Resultados de la acción

La acción Obtener lista de control de acceso de un contenedor proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON No disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Resultado de JSON
[
  {"BucketName": "ziv",
   "BucketACLs": [
                  {"Entity": "project-owners-ID",
                   "Role": "OWNER"}
                 ]
  }
]
Mensajes de salida

En un Case Wall, la acción Get a Bucket's Access Control List (Obtener lista de control de acceso de un contenedor) proporciona los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

Successfully retrieved the access control list (ACL) for the Cloud Storage buckets BUCKET_NAMES

Action wasn't able to return the access control list(ACL) for the Cloud Storage buckets BUCKET_NAMES. Reason: Cannot get legacy ACL for a bucket that has uniform bucket-level access. Read more at https://cloud.google.com/storage/docs/uniform-bucket-level-access

Action wasn't able to return the access control list(ACL) for the Cloud Storage buckets BUCKET_NAMES.

La acción se ha realizado correctamente.
Error executing action "Get a Bucket's Access Control List". Reason: ERROR_REASON

Ha fallado la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se describen los valores del resultado de la secuencia de comandos cuando se usa la acción Obtener lista de control de acceso de un contenedor:

Nombre del resultado del script Valor
is_success True o False

Listar objetos de un segmento

Usa la acción List Bucket Objects para enumerar los objetos almacenados en el segmento de Cloud Storage.

Esta acción no se ejecuta en entidades.

Entradas de acciones

La acción List Bucket Objects requiere los siguientes parámetros:

Parámetros Descripción
Bucket Name Obligatorio

Nombre del segmento del que se van a obtener los objetos.

Max Objects to Return Optional

Número de objetos que se van a devolver.

De forma predeterminada, la acción devuelve 50 objetos por cada ejecución de la acción.

Retrieves the Access Control List of an object Optional

Si se selecciona, la acción recupera la LCA del objeto.

No está seleccionada de forma predeterminada.

Resultados de la acción

La acción List Bucket Objects proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Resultado de JSON

En los siguientes ejemplos se describen las salidas de resultados JSON recibidas al usar la acción List Bucket Objects:

  • Si no se selecciona el parámetro Retrieves the Access Control List of an object:

    {
        "Objects": [
            {
                "ObjectName": "test.txt",
            "Bucket":
            "ContentType":
                "TimeCreated": " ",
                "TimeUpdated": " ",
                "Size": 18,
                "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==",
                "Owner": "",
                "CR32c": "RQEqxA==",
                "id": "siemplify-tip/test.txt/1604926667310271"
            }
        ]
    }
    
  • Si se selecciona el parámetro Retrieves the Access Control List of an object:

    {
        "Objects": [
            {
                "ObjectName": "test.txt",
            "Bucket": "BUCKET_NAME",
            "ContentType": "text/plain"
                "TimeCreated": " ",
                "TimeUpdated": " ",
                "Size": 18,
                "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==",
                "Owner": "",
                "CR32c": "RQEqxA==",
                "id": "BUCKET_NAME/test.txt/1604926667310271",
                "ObjectACL": [
                    {
                        "entity": "user@example.com",
                        "role": "OWNER"
                    }]
            },
        ]
    }
    
Mensajes de salida

En un panel de casos, la acción List Bucket Objects proporciona los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

Successfully returned objects of the BUCKET_NAME bucket in Google Cloud Storage.

Action wasn't able to return objects of the BUCKET_NAME bucket in Google Cloud Storage.

La acción se ha realizado correctamente.
Error executing action "List Bucket Objects". Reason: ERROR_REASON

Ha fallado la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se describen los valores del resultado de la secuencia de comandos al usar la acción List Bucket Objects:

Nombre del resultado del script Valor
is_success True o False

Mostrar segmentos

Usa la acción List Buckets para obtener una lista de segmentos de Cloud Storage.

Esta acción no se ejecuta en entidades.

Entradas de acciones

La acción List Buckets requiere los siguientes parámetros:

Parámetros Descripción
Max Results Optional

Número máximo de segmentos que se devolverán.

De forma predeterminada, la acción devuelve 50 contenedores.

Resultados de la acción

La acción List Buckets proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Resultado de JSON

En el siguiente ejemplo se describe la salida del resultado JSON recibida al usar la acción List Buckets:

{
    "Buckets": [
        {
            "CreationDate": "2020-11-09T12:57:03.981Z",
            "ModificationDate": "2020-11-09T12:57:03.981Z",
            "Name": "testexample",
            "Owner": "testexample"
        }]
}
Mensajes de salida

En un panel de casos, la acción List Buckets proporciona los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

Successfully listed available buckets in Google Cloud Storage.

Action wasn't able to list available buckets in Google Cloud Storage.

La acción se ha realizado correctamente.
Error executing action "List Buckets". Reason: ERROR_REASON

Ha fallado la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se describen los valores del resultado de la secuencia de comandos al usar la acción List Buckets:

Nombre del resultado del script Valor
is_success True o False

Ping

Usa la acción Ping para probar la conectividad con Cloud Storage.

Esta acción no se ejecuta en entidades.

Entradas de acciones

Ninguno

Resultados de la acción

La acción proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON No disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Mensajes de salida

En un panel de casos, la acción Ping proporciona los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje
Successfully connected to the Google Cloud Storage server with the provided connection parameters! La acción se ha realizado correctamente.
Failed to connect to the Google Cloud Storage server! Error is ERROR_REASON

Ha fallado la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se describen los valores del resultado de la secuencia de comandos al usar la acción Ping:

Nombre del resultado del script Valor
is_success True o False

Eliminar el acceso público a un segmento

Usa la acción Quitar acceso público al segmento para quitar el acceso público al segmento de Cloud Storage.

Para realizar esta acción, debes asignar el rol Storage Admin a la cuenta de servicio que utilices en la integración.

Esta acción no se ejecuta en entidades.

Entradas de acciones

La acción Eliminar acceso público de un segmento requiere los siguientes parámetros:

Parámetros Descripción
Resource Name Obligatorio

Nombre de recurso del segmento.

Prevent Public Access From Bucket Obligatorio

Si se selecciona, la acción configura el segmento para evitar el acceso público.

Resultados de la acción

La acción Eliminar acceso público al segmento proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON No disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Mensajes de salida

En un panel de casos, la acción Quitar acceso público al segmento proporciona los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje
Successfully removed public access from bucket using Google Cloud Storage: RESOURCE_NAME La acción se ha realizado correctamente.
Error executing action "Remove Public Access From Bucket". Reason: ERROR_REASON

Ha fallado la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se describen los valores del resultado de la secuencia de comandos al usar la acción Quitar acceso público al contenedor:

Nombre del resultado del script Valor
is_success True o False

Actualizar una entrada de LCA en un segmento

Usa la acción Actualizar una entrada de LCA en un segmento para actualizar una entrada de LCA en el segmento de Cloud Storage especificado.

Entradas de acciones

La acción Update an ACL entry on Bucket (Actualizar una entrada de LCA en un contenedor) requiere los siguientes parámetros:

Parámetros Descripción
Bucket Name Obligatorio

Nombre del segmento cuya lista de control de acceso se va a modificar.

Entity Obligatorio

La entidad que tiene el permiso.

Estos son los posibles valores:

  • user-userId
  • user-emailAddress
  • group-groupId
  • group-emailAddress
  • allUsers
  • allAuthenticatedUsers

Para obtener más información sobre las entidades, consulta Representaciones de recursos.

Role Obligatorio

El permiso de acceso necesario para la entidad.

Estos son los valores posibles:

  • OWNER
  • READER
  • WRITER

Resultados de la acción

La acción Actualizar una entrada de LCA en un contenedor proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON No disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Mensajes de salida

En un panel de casos, la acción Actualizar una entrada de LCA en un segmento proporciona los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

Action wasn't able to update the ACL entity: ENTITY to role: ROLE in bucket BUCKET_NAME. Reason: OWNERs are WRITERs.

Action wasn't able to update the ACL entity: ENTITY to role: ROLE in bucket BUCKET_NAME. Reason: OWNERs are WRITERs.

La acción se ha realizado correctamente. El rol no coincide con el valor del parámetro Role. Comprueba el valor del parámetro Role.
Successfully updated ACL entity: ENTITY to role: ROLE in bucket BUCKET_NAME. La acción se ha realizado correctamente.

Error executing action "Update an ACL entry on Bucket". Reason: Entity ENTITY does not exist in the ACL of bucket BUCKET_NAME.

Action wasn't able to update the ACL entity: ENTITY to role: ROLE in bucket BUCKET_NAME. The entity holding the permission can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.

Error executing action "Update an ACL entry on Bucket". Reason: ERROR_REASON

Ha fallado la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se describen los valores de la salida del resultado de la secuencia de comandos al usar la acción Actualizar una entrada de ACL en un contenedor:

Nombre del resultado del script Valor
is_success True o False

Subir un objeto a un contenedor

Usa la acción Subir un objeto a un segmento para subir un objeto al segmento de Cloud Storage.

Esta acción no se ejecuta en entidades.

Entradas de acciones

La acción Subir un objeto a un contenedor requiere los siguientes parámetros:

Parámetros Descripción
Bucket Name Obligatorio

Nombre del segmento al que se va a subir un objeto.

Source File Path Obligatorio

La ruta absoluta al archivo que se va a subir, como /local/path/to/filename.

Object Name Obligatorio

Nombre del objeto subido al segmento.

Resultados de la acción

La acción Subir un objeto a un segmento proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Resultado de JSON
{
   "object_id":"BUCKET_NAME/errorlog.txt/1610616919132517",
   "Object_name":"errorlog.txt",
   "md5_hash":"PTdL8D6pBwIKyMfIXR/H9A==",
   "object_path":"/b/BUCKET_NAME/o/errorlog.txt"
}
Mensajes de salida

En un panel de casos, la acción Subir un objeto a un contenedor proporciona los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

Successfully uploaded SOURCE_PATH to bucket: BUCKET_NAME.

Action wasn't able to upload SOURCE_PATH to Google Cloud Storage. Reason:No such file or directory: SOURCE_PATH.

La acción se ha realizado correctamente.
Error executing action "Upload an Object To a Bucket". Reason: ERROR_REASON

Ha fallado la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se describen los valores del resultado de la secuencia de comandos al usar la acción Subir un objeto a un contenedor:

Nombre del resultado del script Valor
is_success True o False

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.