En esta guía, se describe cómo usar la API de Security Command Center para administrar las marcas de seguridad. Las marcas de seguridad, o “marcas”, son anotaciones personalizables sobre los elementos o resultados en Security Command Center que te permiten agregar tu propio contexto empresarial a estos objetos.
Solo puedes agregar o actualizar marcas de seguridad en los elementos compatibles con Security Command Center. Para obtener una lista de los elementos que admite Security Command Center, consulta Tipos de elementos compatibles en Security Command Center.
Antes de comenzar
Antes de trabajar con marcas de seguridad, debes configurar una cuenta de servicio y un SDK.
A fin de agregar o cambiar marcas de seguridad, debes tener una función de administración de identidades y accesos que incluya permisos para el tipo de marca que desees usar:
- Marcas del recurso: escritor de marcas de seguridad de recursos,
securitycenter.assetSecurityMarksWriter - Marcas de los resultados: escritor de marcas de seguridad de resultados,
securitycenter.findingSecurityMarksWriter
Para obtener más información sobre las funciones de IAM en Security Command Center, consulta Control de acceso. Para aprender a usar las marcas de seguridad de manera eficaz, consulta Usa marcas de seguridad de Security Command Center.
Agrega o actualiza las marcas de seguridad de los activos
Cuando usas la API de Security Command Center, agregar y actualizar marcas de seguridad es la misma operación. En el ejemplo, se muestra cómo agregar marcas de seguridad para los pares clave-valor (key_a, value_a) y (key_b, value_b).
En el siguiente código, se usan máscaras de campo para garantizar que solo se actualicen esos valores. Si no se proporcionan máscaras de campo, todas las marcas de seguridad se borran antes de agregar las claves y los valores dados.
gcloud
gcloud scc assets update-marks ASSET_ID \ --PARENT=PARENT_ID \ --location=LOCATION \ --security-marks=SECURITY_MARKS \ --update-mask=UPDATE_MASK
Reemplaza lo siguiente:
ASSET_ID: El elemento que se actualizará.PARENT: El nivel de la jerarquía de recursos en el que se encuentra el elemento. Usaorganization,folderoproject.PARENT_ID: El ID numérico de la organización, la carpeta o el proyecto superior, o el ID alfanumérico del proyecto superior.LOCATION: la ubicación de Security Command Center en la que se actualizará una marca de seguridad en un elemento. Si la residencia de datos está habilitada, usaeu,sa, ous. De lo contrario, usa el valorglobal.SECURITY_MARKS: Pares clave-valor separados por comas que representan marcas de seguridad y sus valores. Por ejemplo,key_a=value_a,key_b=value_b.UPDATE_MASK: Lista separada por comas de los campos de marca de seguridad que se actualizarán para el elemento. Por ejemplo,marks.key_a,marks.key_b.
Go
Python
Lee Administra políticas para obtener información sobre las marcas específicas de los recursos para los detectores de Security Health Analytics.
Elimina marcas de seguridad en elementos
La eliminación de las marcas de seguridad específicas se realiza de forma similar a fin de agregarlas o actualizarlas. En particular, llama a la actualización con una máscara de campo, pero sin cualquier valor correspondiente. En el ejemplo, se borran las marcas de seguridad con claves key_a y key_b.
gcloud
gcloud scc assets update-marks ASSET_ID \ --PARENT=PARENT_ID \ --location=LOCATION \ --update-mask=UPDATE_MASK
ASSET_ID: El elemento que se actualizará.PARENT: El nivel de la jerarquía de recursos en el que se encuentra el elemento. Usaorganization,folderoproject.PARENT_ID: El ID numérico de la organización, la carpeta o el proyecto superior, o el ID alfanumérico del proyecto superior.LOCATION: la ubicación de Security Command Center en la que se elimina una marca de seguridad de un activo; si la residencia de datos está habilitada, usaeu,saous; de lo contrario, usa el valorglobal.UPDATE_MASK: Lista separada por comas de los campos de marca de seguridad que se borrarán del elemento. Por ejemplo,marks.key_a,marks.key_b.
Node.js
Python
Agrega y borra marcas de seguridad en la misma solicitud
La técnica para agregar y actualizar las marcas de seguridad y borrar las marcas de seguridad se puede combinar en la misma solicitud. En el ejemplo, se actualiza key_a y se borra key_b.
gcloud
gcloud scc assets update-marks ASSET_ID \ --PARENT=PARENT_ID \ --location=LOCATION \ --update-mask=UPDATE_MASK
ASSET_ID: El elemento que se actualizará.PARENT: El nivel de la jerarquía de recursos en el que se encuentra el elemento. Usaorganization,folderoproject.PARENT_ID: El ID numérico de la organización, la carpeta o el proyecto superior, o el ID alfanumérico del proyecto superior.LOCATION: the Security Command Center location in which to update and delete security marks for an asset; if data residency is enabled, useeu,sa, orus; otherwise, use the valueglobal.SECURITY_MARKS: Pares clave-valor separados por comas que representan las marcas de seguridad que deseas actualizar. Por ejemplo,key_a=value_a. Omite las marcas de seguridad que deseas borrar.UPDATE_MASK: Lista separada por comas de los campos de marca de seguridad que se actualizarán o borrarán. Por ejemplo,marks.key_a,marks.key_b.
Node.js
Python
Agrega marcas de seguridad a los resultados
Agregar, actualizar y borrar marcas de seguridad de los resultados sigue el mismo proceso que actualizar las marcas de seguridad en los elementos. El único cambio es el nombre del recurso que se usa en la llamada a la API. En lugar de un recurso de elemento, debes proporcionar un nombre de recurso de búsqueda.
Por ejemplo, para actualizar las marcas de seguridad en un hallazgo, usa el siguiente código:
gcloud
gcloud scc findings update-marks FINDING_NAME \ --PARENT=PARENT_ID \ --location=LOCATION \ --source=SOURCE_ID \ --security-marks=SECURITY_MARKS \ --update-mask=UPDATE_MASK
Reemplaza lo siguiente:
FINDING_NAME: El hallazgo que se actualizará.PARENT: El nivel de la jerarquía de recursos en el que se encuentra el hallazgo. Usaorganization,folderoproject.PARENT_ID: El ID numérico de la organización, la carpeta o el proyecto superior, o el ID alfanumérico del proyecto superior.LOCATION: la ubicación de Security Command Center en la que se actualiza una marca de seguridad en un hallazgo; si la residencia de datos está habilitada, usaeu,saous; de lo contrario, usa el valorglobal.SOURCE_ID: Es el ID de origen.SECURITY_MARKS: Pares clave-valor separados por comas que representan marcas de seguridad y sus valores. Por ejemplo,key_a=value_a,key_b=value_b.UPDATE_MASK: Lista separada por comas de los campos de marca de seguridad que se actualizarán para el elemento. Por ejemplo,marks.key_a,marks.key_b.
Java
Node.js
Python
Las marcas de seguridad se procesan durante los análisis por lotes (que se ejecutan dos veces al día para Security Command Center Premium y Enterprise, y una vez cada dos días para Security Command Center Standard) y no en tiempo real. Puede haber un retraso de 12 a 24 horas antes de que se procesen las marcas de seguridad y se apliquen las políticas de aplicación que resuelven o vuelven a abrir los resultados.
Enumera elementos con filtros de marca de seguridad
Después de establecer las marcas de seguridad en un recurso, se pueden usar en el argumento del filtro para la llamada a la API ListAssets. Por ejemplo, para consultar todos los elementos en los que key_a = value_a, usa el siguiente código:
gcloud
# ORGANIZATION=12344321 FILTER="security_marks.marks.key_a = \"value_a\"" gcloud scc assets list $ORGANIZATION \ --filter="$FILTER"
Go
Java
Node.js
Python
Enumera los resultados con los filtros de marca de seguridad
Después de establecer las marcas de seguridad en un resultado, se pueden usar en el argumento del filtro a la llamada a la API ListFindings. Por ejemplo, para consultar todos los elementos en los que key_a != value_a, usa el siguiente código:
gcloud
gcloud scc findings list PARENT/PARENT_ID \ --location=LOCATION \ --source=SOURCE_ID \ --filter=FILTER
PARENT: El nivel de la jerarquía de recursos en el que se encuentra el hallazgo. Usaorganizations,foldersoprojects.PARENT_ID: El ID numérico de la organización, la carpeta o el proyecto superior, o el ID alfanumérico del proyecto superior.LOCATION: La ubicación de Security Command Center en la que se enumerarán los resultados. Si la residencia de datos está habilitada, usaeu,sa, ous. De lo contrario, usa el valorglobal.SOURCE_ID: Es el ID de origen.FILTER: El filtro que se aplicará a los resultados. Por ejemplo, para excluir los resultados con la marca de seguridadkey_a=value_a, usa"NOT security_marks.marks.key_a=\"value_a\""
Go
Java
Node.js
Python
¿Qué sigue?
- Obtén más información para enumerar resultados y enumerar elementos.