Este guia descreve como usar a API Security Command Center do Security Command Center para gerir marcas de segurança. As marcas de segurança, ou "marcas", são anotações personalizáveis em recursos ou resultados no Security Command Center que lhe permitem adicionar o seu próprio contexto empresarial a estes objetos.
Só pode adicionar ou atualizar marcas de segurança em recursos suportados pelo Security Command Center. Para ver uma lista dos recursos suportados pelo Security Command Center, consulte o artigo Tipos de recursos suportados no Security Command Center.
Antes de começar
Antes de poder trabalhar com marcas de segurança, tem de configurar uma conta de serviço e um SDK.
Para adicionar ou alterar marcas de segurança, tem de ter uma função de gestão de identidade e de acesso que inclua autorizações para o tipo de marca que quer usar:
- Marcas de recursos: Asset Security Marks Writer,
securitycenter.assetSecurityMarksWriter
- Encontrar marcas: encontrar o escritor de marcas de segurança,
securitycenter.findingSecurityMarksWriter
Para mais informações sobre as funções da IAM no Security Command Center, consulte o artigo Controlo de acesso. Para saber como usar as marcas de segurança de forma eficaz, consulte o artigo Usar marcas de segurança do Security Command Center.
Adicionar ou atualizar marcas de segurança em recursos
Quando usa a API Security Command Center, adicionar e atualizar marcas de segurança são a mesma operação. O exemplo mostra como adicionar marcas de segurança aos pares de chave-valor (key_a, value_a)
e (key_b, value_b)
.
O código seguinte usa máscaras de campos para garantir que apenas esses valores são atualizados. Se não forem fornecidas máscaras de campos, todas as marcas de segurança são limpas 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 o seguinte:
ASSET_ID
: o recurso a atualizar.PARENT
: o nível da hierarquia de recursos onde o recurso 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
: a localização do Security Command Center na qual atualizar uma marca de segurança num recurso; se a residência de dados estiver ativada, useeu
,sa
ouus
; caso contrário, use o valorglobal
.SECURITY_MARKS
: pares de chaves-valores separados por vírgulas que representam marcas de segurança e os respetivos valores; por exemplo,key_a=value_a,key_b=value_b
.UPDATE_MASK
: lista separada por vírgulas dos campos de marca de segurança a atualizar para o recurso; por exemplo,marks.key_a,marks.key_b
.
Ir
Python
Leia o artigo Gerir políticas para ver informações sobre marcas de recursos dedicadas para detetores do Security Health Analytics.
Eliminar marcas de segurança em recursos
A eliminação de marcas de segurança específicas é feita de forma semelhante à adição ou atualização das mesmas, chamando especificamente a atualização com uma máscara de campo, mas sem qualquer valor correspondente. No exemplo, as marcas de segurança com as chaves key_a
e key_b
são eliminadas.
gcloud
gcloud scc assets update-marks ASSET_ID \ --PARENT=PARENT_ID \ --location=LOCATION \ --update-mask=UPDATE_MASK
ASSET_ID
: o recurso a atualizar.PARENT
: o nível da hierarquia de recursos onde o recurso 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
: a localização do Security Command Center na qual eliminar uma marca de segurança de um recurso; se a residência de dados estiver ativada, useeu
,sa
ouus
; caso contrário, use o valorglobal
.UPDATE_MASK
: lista separada por vírgulas de campos de marca de segurança a eliminar do recurso; por exemplo,marks.key_a,marks.key_b
.
Node.js
Python
Adicionar e eliminar marcas de segurança no mesmo pedido
A técnica para adicionar e atualizar marcas de segurança e eliminar marcas de segurança pode ser combinada no mesmo pedido. No exemplo, key_a
é atualizado e key_b
é eliminado.
gcloud
gcloud scc assets update-marks ASSET_ID \ --PARENT=PARENT_ID \ --location=LOCATION \ --update-mask=UPDATE_MASK
ASSET_ID
: o recurso a atualizar.PARENT
: o nível da hierarquia de recursos onde o recurso 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
: a localização do Security Command Center na qual atualizar e eliminar marcas de segurança de um recurso; se a residência de dados estiver ativada, useeu
,sa
ouus
; caso contrário, use o valorglobal
.SECURITY_MARKS
: pares chave-valor separados por vírgulas que representam as marcas de segurança que quer atualizar; por exemplo,key_a=value_a
; omita as marcas de segurança que quer eliminarUPDATE_MASK
: lista separada por vírgulas dos campos de marca de segurança a atualizar ou eliminar; por exemplo,marks.key_a,marks.key_b
.
Node.js
Python
Adicionar marcas de segurança às descobertas
A adição, a atualização e a eliminação de marcas de segurança em descobertas seguem o mesmo processo que a atualização de marcas de segurança em recursos. A única alteração é o nome do recurso usado na chamada API. Em vez de um recurso de recurso, fornece um nome de recurso de descoberta.
Por exemplo, para atualizar as marcas de segurança numa 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 o seguinte:
FINDING_NAME
: a descoberta a atualizar.PARENT
: o nível da hierarquia de recursos onde o resultado 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
: a localização do Security Command Center na qual atualizar uma marca de segurança numa descoberta; se a residência de dados estiver ativada, useeu
,sa
ouus
; caso contrário, use o valorglobal
.SOURCE_ID
: o ID da origem.SECURITY_MARKS
: pares de chaves-valores separados por vírgulas que representam marcas de segurança e os respetivos valores; por exemplo,key_a=value_a,key_b=value_b
.UPDATE_MASK
: lista separada por vírgulas dos campos de marca de segurança a atualizar para o recurso; por exemplo,marks.key_a,marks.key_b
.
Java
Node.js
Python
As marcas de segurança são processadas durante as análises em lote, que são executadas duas vezes por dia, e não em tempo real. Pode haver um atraso de 12 a 24 horas antes de as marcas de segurança serem processadas e as políticas de aplicação que resolvem ou reabrem as conclusões serem aplicadas.
Recursos da ficha com filtros de marcas de segurança
Depois de definir as marcas de segurança num recurso, pode usá-las no argumento
do filtro na chamada da API ListAssets
. Por exemplo, para consultar todos os recursos onde key_a = value_a
, use o seguinte código:
gcloud
# ORGANIZATION=12344321 FILTER="security_marks.marks.key_a = \"value_a\"" gcloud scc assets list $ORGANIZATION \ --filter="$FILTER"
Ir
Java
Node.js
Python
Apresentação de resultados com filtros de marcas de segurança
Depois de as marcas de segurança serem definidas numa descoberta, podem ser usadas no argumento de filtro para a chamada da API ListFindings
. Por exemplo, para consultar todos os recursos onde
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 onde o resultado está localizado; useorganizations
,folders
ouprojects
.PARENT_ID
: o ID numérico da organização, pasta ou projeto principal, ou o ID alfanumérico do projeto principal.LOCATION
: o Security Command Center localização na qual listar as conclusões; se a residência de dados estiver ativada, useeu
,sa
ouus
; caso contrário, use o valorglobal
.SOURCE_ID
: o ID da origem.FILTER
: o filtro a aplicar às conclusões; por exemplo, para excluir conclusões com a marca de segurançakey_a=value_a
, use"NOT security_marks.marks.key_a=\"value_a\""
Ir
Java
Node.js
Python
O que se segue?
- Saiba mais sobre os resultados da ficha e os recursos da ficha.