Neste guia, você aprende a criar e atualizar descobertas usando a API Security Command Center.
Antes de começar
Antes de criar e atualizar descobertas, você precisa concluir o seguinte:
Para concluir este guia, você precisa ter o papel Editor de descobertas da Central
de segurança (securitycenter.findingsEditor
) do Identity and Access Management (IAM) no nível da
organização. Para mais informações sobre
os papéis do Security Command Center, consulte
Controle de acesso.
Para criar descobertas com marcações de segurança, é preciso ter também um papel do IAM que inclua permissões para o tipo de marcação que você quer usar:
- Gravador de marcação de segurança de recursos (
securitycenter.assetSecurityMarksWriter
) - Como encontrar o gravador de marcações de segurança (
securitycenter.findingSecurityMarksWriter
)
Para mais informações sobre marcações, consulte Como usar marcações de segurança do Security Command Center.
Como criar uma descoberta
Crie uma descoberta ativa para uma fonte.
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T07:00:06.861Z STATE=ACTIVE CATEGORY=MEDIUM_RISK_ONE RESOURCE_NAME=//cloudresourcemanager.googleapis.com/projects/PROJECT_ID gcloud scc findings create $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --state $STATE \ --category $CATEGORY \ --event-time $EVENT_TIME --resource-name $RESOURCE_NAME
Para mais exemplos, execute:
gcloud scc findings create --help
Python
Java
Go
Node.js
Para informações sobre como os dados de descobertas são armazenados no Security Command Center, leia Retenção de descobertas.
Como criar uma descoberta com propriedades de fonte
O Security Command Center permite adicionar fontes às descobertas por meio de metadados de chave-valor chamados "Propriedades de fonte". As propriedades de fonte podem ser inicializadas no momento da criação. O exemplo abaixo mostra como criar uma descoberta com propriedades de fonte.
Crie uma descoberta com propriedades de fonte. O tamanho dos nomes das chaves no mapa
source_properties
precisa ter de 1 a 255 caracteres e começar com uma
letra e conter apenas caracteres alfanuméricos ou sublinhados.
O Security Command Center só aceita valores booleanos, numéricos e de strings.
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T07:00:06.861Z STATE=ACTIVE CATEGORY=MEDIUM_RISK_ONE SOURCE_PROPERTY_KEY=gcloud_client_test SOURCE_PROPERTY_VALUE=value RESOURCE_NAME=//cloudresourcemanager.googleapis.com/projects/PROJECT_ID gcloud scc findings create $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --state $STATE \ --category $CATEGORY \ --event-time $EVENT_TIME \ --source-properties $SOURCE_PROPERTY_KEY=$SOURCE_PROPERTY_VALUE --resource-name $RESOURCE_NAME
- Mais propriedades de fonte podem ser adicionadas usando uma lista separada por vírgulas de pares de chave-valor.
Para mais exemplos, execute:
gcloud scc findings create --help
Python
Java
Go
Node.js
Atualizar propriedades de fonte de uma descoberta
Este exemplo mostra como atualizar as propriedades de fonte individuais e o horário do evento. Ele usa máscaras de campo para atualizar apenas campos específicos. Sem as máscaras de campo, os novos valores substituem todos os campos mutáveis na descoberta.
Assim como na criação de uma nova descoberta, os nomes das chaves no mapa source_properties
precisam ter entre 1 e 255 caracteres e precisam começar com uma letra e conter
apenas caracteres alfanuméricos ou sublinhados. O Security Command Center só
aceita valores booleanos, numéricos e de strings.
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T08:00:06.861Z SOURCE_PROPERTY_KEY=gcloud_client_test SOURCE_PROPERTY_VALUE=VALUE UPDATE_MASK=source_properties,event_time gcloud scc findings update $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --event-time $EVENT_TIME \ --source-properties $SOURCE_PROPERTY_KEY=$SOURCE_PROPERTY_VALUE \ --update-mask=$UPDATE_MASK
- Use --update-mask " (vazio) para substituir todos os campos mutáveis.
- Mais propriedades de fonte podem ser adicionadas usando uma lista separada por vírgulas de pares de chave-valor.
Para mais exemplos, execute:
gcloud scc findings update --help
Python
Java
Go
Node.js
Como atualizar o estado de uma descoberta
O Security Command Center também fornece uma API para atualizar apenas o estado de uma descoberta. Essa API existe para fornecer uma maneira de atualizar apenas o estado de uma descoberta. É uma API simples que também permite que os principais permissões só possam modificar o estado e nenhum outro aspecto de uma descoberta. Veja no exemplo abaixo como alterar o estado de uma descoberta para inativa.
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T09:00:06.861Z STATE=INACTIVE gcloud scc findings update $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --state $STATE \ --event-time $EVENT_TIME
Para mais exemplos, execute:
gcloud scc findings update --help
Python
Java
Go
Node.js
Como verificar as permissões de localização
A criação e a atualização de descobertas exigem uma das seguintes permissões do IAM:
- Como criar e atualizar descobertas:
securitycenter.findings.update
. - Atualizar somente as descobertas:
securitycenter.findings.setState
Se não for possível criar descobertas para uma fonte, use o código a seguir para confirmar se a conta tem as permissões necessárias listadas na seção Antes de começar. Se você não tiver as permissões necessárias, consulte Como criar e gerenciar fontes de segurança para configurar as políticas apropriadas do IAM.
Python
Java
Go
Node.js
A seguir
Saiba mais sobre como acessar o Security Command Center usando bibliotecas de cliente.