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 conferir uma lista de 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 abaixo mostra como adicionar marcações de segurança para dois 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 recurso 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
: se a residência de dados estiver ativada, o local do Security Command Center em que uma marcações de segurança será atualizada em um recurso. Se a residência de dados não estiver ativada, use o valorglobal
.SECURITY_MARKS
: pares de chave-valor separados por vírgulas que representam marcas de segurança e os valores delas. Por exemplo,key_a=value_a,key_b=value_b
.UPDATE_MASK
: uma 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 exclusivas 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 abaixo, 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 recurso 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
: se a residência de dados estiver ativada, 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 não estiver ativada, 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 abaixo, key_a
é atualizado
enquanto 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 recurso 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
: se a residência de dados estiver ativada, o local do Security Command Center em que as marcas de segurança de um recurso serão atualizadas e excluídas. Se a residência de dados não estiver ativada, use o valorglobal
.SECURITY_MARKS
: pares de chave-valor separados por vírgulas que representam as marcas de segurança que você quer atualizar. Por exemplo,key_a=value_a
; omita as marcas de segurança que você quer excluir.UPDATE_MASK
: uma lista separada por vírgulas de campos de marcações de segurança para atualizar ou excluir. 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 \ PARENT/PARENT_ID/sources/SOURCE_ID/locations/LOCATION/findings/FINDING_NAME \ --security-marks=SECURITY_MARKS \ --update-mask=UPDATE_MASK
Substitua:
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.SOURCE_ID
: o ID da origem.LOCATION
: se a residência de dados estiver ativada, o local do Security Command Center em que uma marcações de segurança será atualizada em uma descoberta. Se a residência de dados não estiver ativada, use o valorglobal
.FINDING_NAME
: a descoberta a ser atualizada.SECURITY_MARKS
: pares de chave-valor separados por vírgulas que representam marcas de segurança e os valores delas. Por exemplo,key_a=value_a,key_b=value_b
.UPDATE_MASK
: uma 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
: se a residência de dados estiver ativada, o local do Security Command Center em que as descobertas serão listadas. Se a residência de dados não estiver ativada, 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.