Neste guia, você verá como usar a API Security Command Center para gerenciar marcações de segurança. Marcações de segurança, ou apenas "marcações", são anotações personalizáveis em recursos ou descobertas no Security Command Center que permitem adicionar seu próprio contexto de negócios a esses objetos.
Só é possível adicionar ou atualizar marcas de segurança em recursos compatíveis com o Security Command Center. Para ver uma lista dos recursos compatíveis com o Security Command Center, consulte Tipos de recursos compatíveis com o Security Command Center.
Antes de começar
Antes de trabalhar com marcas de segurança, você precisa configurar uma conta de serviço e o SDK.
Para adicionar ou alterar marcações de segurança, você precisa ter um papel de gerenciamento de identidade e acesso que inclua permissões para o tipo de marcação que você quer usar:
- Marcações de recurso: Gravador de marcação de recursos de recurso,
securitycenter.assetSecurityMarksWriter
- Como encontrar marcações: Como encontrar o gravador de marcações de segurança,
securitycenter.findingSecurityMarksWriter
Para mais informações sobre papéis do IAM no Security Command Center, consulte Controle de acesso. Para saber como usar marcações de segurança com eficiência, consulte Como usar marcações de segurança do Security Command Center.
Como adicionar ou atualizar marcações de segurança em recursos
Ao usar a API Security Command Center, a adição e a atualização de marcações de segurança são a
mesma operação. O exemplo mostra como adicionar marcações de segurança para os pares de chave-valor (key_a, value_a)
e (key_b, value_b)
.
O código a seguir usa máscaras de campo para garantir que apenas esses valores sejam atualizados. Se não forem fornecidas máscaras de campo, todas as marcações de segurança serão apagadas antes de adicionar as chaves e os valores fornecidos.
gcloud
gcloud scc assets update-marks ASSET_ID \ --PARENT=PARENT_ID \ --location=LOCATION \ --security-marks=SECURITY_MARKS \ --update-mask=UPDATE_MASK
Substitua:
ASSET_ID
: o recurso a ser atualizado.PARENT
: o nível da hierarquia de recursos em que o ativo está localizado. Useorganization
,folder
ouproject
.PARENT_ID
: o ID numérico da organização, pasta ou projeto principal, ou o ID alfanumérico do projeto principal.LOCATION
: o local do Security Command Center em que atualizar uma marcações de segurança em um recurso. Se a residência de dados estiver ativada, useeu
,ksa
ouus
. Caso contrário, use o valorglobal
.SECURITY_MARKS
: pares de chave-valor separados por vírgulas que representam indicadores de segurança e os valores deles. Por exemplo,key_a=value_a,key_b=value_b
.UPDATE_MASK
: lista separada por vírgulas de campos de marcações de segurança a serem atualizados para o recurso. Por exemplo,marks.key_a,marks.key_b
.
Go
Python
Leia Como gerenciar políticas para informações sobre marcações de recursos dedicadas para detectores do Security Health Analytics.
Como excluir marcações de segurança nos recursos
A exclusão de marcações de segurança específicas é feita de forma semelhante à adição
ou atualização delas, chamando especificamente update com uma máscara de campo, mas sem
qualquer valor correspondente. No exemplo, as marcações de segurança com chaves key_a
e
key_b
são excluídas.
gcloud
gcloud scc assets update-marks ASSET_ID \ --PARENT=PARENT_ID \ --location=LOCATION \ --update-mask=UPDATE_MASK
ASSET_ID
: o recurso a ser atualizado.PARENT
: o nível da hierarquia de recursos em que o ativo está localizado. Useorganization
,folder
ouproject
.PARENT_ID
: o ID numérico da organização, pasta ou projeto pai, ou o ID alfanumérico do projeto pai.LOCATION
: o local do Security Command Center em que uma marcações de segurança será excluída de um recurso. Se a residência de dados estiver ativada, useeu
,ksa
ouus
. Caso contrário, use o valorglobal
.UPDATE_MASK
: lista separada por vírgulas de campos de marcações de segurança a serem excluídos do recurso. Por exemplo,marks.key_a,marks.key_b
.
Node.js
Python
Como adicionar e excluir marcações de segurança na mesma solicitação
A técnica para adicionar e atualizar marcações de segurança e excluir marcações de segurança pode
ser combinada na mesma solicitação. No exemplo, key_a
é atualizado e
key_b
é excluído.
gcloud
gcloud scc assets update-marks ASSET_ID \ --PARENT=PARENT_ID \ --location=LOCATION \ --update-mask=UPDATE_MASK
ASSET_ID
: o recurso a ser atualizado.PARENT
: o nível da hierarquia de recursos em que o ativo está localizado. Useorganization
,folder
ouproject
.PARENT_ID
: o ID numérico da organização, pasta ou projeto pai, ou o ID alfanumérico do projeto pai.LOCATION
: o local do Security Command Center em que atualizar e excluir indicadores de segurança de um recurso. Se a residência de dados estiver ativada, useeu
,ksa
ouus
. Caso contrário, use o valorglobal
.SECURITY_MARKS
: pares de chave-valor separados por vírgulas que representam as marcações de segurança que você quer atualizar. Por exemplo,key_a=value_a
. Omita as marcações de segurança que você quer excluir.UPDATE_MASK
: lista separada por vírgulas de campos marcações de segurança a serem atualizados ou excluídos. Por exemplo,marks.key_a,marks.key_b
.
Node.js
Python
Como adicionar marcações de segurança às descobertas
Adicionar, atualizar e excluir marcações de segurança em descobertas segue o mesmo processo que a atualização de marcações de segurança em recursos. A única alteração é o nome do recurso usado na chamada da API. Em vez de um recurso de recurso, você fornece um nome de recurso de localização.
Por exemplo, para atualizar as marcações de segurança em uma descoberta, use o seguinte 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
Substitua:
FINDING_NAME
: a descoberta a ser atualizada.PARENT
: o nível da hierarquia de recursos em que a descoberta está localizada. Useorganization
,folder
ouproject
.PARENT_ID
: o ID numérico da organização, pasta ou projeto pai, ou o ID alfanumérico do projeto pai.LOCATION
: o local do Security Command Center em que atualizar uma marcações de segurança em uma descoberta. Se a residência de dados estiver ativada, useeu
,ksa
ouus
. Caso contrário, use o valorglobal
.SOURCE_ID
: o ID da origem.SECURITY_MARKS
: pares de chave-valor separados por vírgulas que representam indicadores de segurança e seus valores. Por exemplo,key_a=value_a,key_b=value_b
.UPDATE_MASK
: lista separada por vírgulas de campos de marcações de segurança a serem atualizados para o recurso. Por exemplo,marks.key_a,marks.key_b
.
Java
Node.js
Python
As marcas de segurança são processadas durante verificações de lote, que são executadas duas vezes ao dia, e não em tempo real. Pode levar de 12 a 24 horas para que as marcas de segurança sejam processadas e que as políticas de aplicação resolvam ou reabram as descobertas aplicadas.
Como listar recursos com filtros de marcação de segurança
Depois que as marcações de segurança são definidas em um recurso, elas podem ser usadas no
argumento de filtro para a chamada de API ListAssets
. Por exemplo, para consultar todos os recursos
em que key_a = value_a
é usado, use o seguinte 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
Como listar descobertas com filtros de marcação de segurança
Depois que as marcações de segurança são definidas em uma descoberta, elas podem ser usadas no argumento do filtro
para a chamada de API ListFindings
. Por exemplo, para consultar todos os recursos em que
key_a != value_a
, use o seguinte código:
gcloud
gcloud scc findings list PARENT/PARENT_ID \ --location=LOCATION \ --source=SOURCE_ID \ --filter=FILTER
PARENT
: o nível da hierarquia de recursos em que a descoberta está localizada. Useorganizations
,folders
ouprojects
.PARENT_ID
: o ID numérico da organização, pasta ou projeto pai, ou o ID alfanumérico do projeto pai.LOCATION
: o local do Security Command Center em que listar as descobertas. Se a residência de dados estiver ativada, useeu
,ksa
ouus
. Caso contrário, use o valorglobal
.SOURCE_ID
: o ID da origem.FILTER
: o filtro a ser aplicado às descobertas. Por exemplo, para excluir descobertas com a marcações de segurançakey_a=value_a
, use"NOT security_marks.marks.key_a=\"value_a\""
Go
Java
Node.js
Python
A seguir
- Saiba mais sobre como listar descobertas e como listar recursos.