Integrar o Security Command Center ao Google SecOps
Versão da integração: 14.0
Neste documento, explicamos como integrar o Security Command Center ao Google Security Operations.
Antes de começar
Para integrar o Security Command Center, siga estas etapas:
Crie um papel personalizado do Identity and Access Management (IAM) com as permissões necessárias.
Configure a autenticação usando uma das seguintes opções:
Identidade da carga de trabalho (recomendado)
Criar e configurar um papel do IAM
Para criar e configurar um papel personalizado do IAM para a integração, siga estas etapas:
No console do Google Cloud , acesse a página Papéis do IAM.
Clique em Criar papel para criar um papel personalizado com as permissões necessárias para a integração.
Insira um Título, uma Descrição e um ID exclusivo.
Defina o Estágio de lançamento do papel como
General Availability.Adicione as seguintes permissões ao papel criado:
securitycenter.assets.listsecuritycenter.findings.listsecuritycenter.findings.setMutesecuritycenter.findings.setState
Clique em Criar.
Configurar a autenticação
Para autenticar a integração, use uma conta de serviço com uma chave JSON ou com uma Identidade da carga de trabalho.
Autenticação com uma chave JSON
Esse método usa um arquivo de chave JSON estático para autenticar a conta de serviço.
Criar uma conta de serviço
Para autenticar usando uma chave JSON, primeiro crie uma conta de serviço:
No console Google Cloud , navegue até IAM e administrador > Contas de serviço.
Selecione o projeto em que você quer criar a conta de serviço.
Clique em Criar conta de serviço.
Se preferir usar uma conta de serviço, selecione a conta que você quer usar e gere uma chave JSON.
Forneça um nome e uma descrição e clique em Criar e continuar.
Na etapa Conceda a essa conta de serviço acesso ao projeto, adicione a função personalizada que você criou.
Clique em Concluído para terminar a criação da conta.
Gerar uma chave JSON
Siga estas etapas para gerar o arquivo de chave JSON necessário:
Na lista de contas de serviço, selecione o endereço de e-mail da conta de serviço que você criou (ou selecionou) para abrir os detalhes dela.
Clique na guia Chaves.
Clique em Adicionar chave > Criar nova chave.
Selecione JSON como o tipo de chave e clique em Criar.
O download do arquivo de chave JSON é feito no seu computador. Armazene esse arquivo com segurança e cole todo o conteúdo dele em
User's Service Accountao configurar os parâmetros de integração.
Autenticação com uma Identidade da carga de trabalho (recomendado)
Esse método permite que a integração personifique uma conta de serviço sem a necessidade de processar secrets de longa duração.
Para configurar uma Identidade da carga de trabalho, siga estas etapas:
No console Google Cloud , acesse IAM e administrador > Contas de serviço.
Selecione uma conta de serviço atual ou crie uma nova.
Conceda o papel personalizado criado à conta de serviço.
Conceda o papel Consumidor do Service Usage à conta de serviço. Essa permissão é necessária para associar o uso da API ao projeto definido no
Quota Project ID.Conceda o papel Criador de token da conta de serviço à conta de serviço.
Essa permissão permite que a integração gere as credenciais de curta duração necessárias para autenticação.
Anote o e-mail do cliente da conta de serviço e use esse valor em e-mail da Identidade da carga de trabalho ao configurar os parâmetros de integração.
Parâmetros de integração
A integração do Security Command Center exige os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
API Root |
Obrigatório. A raiz da API da instância do Security Command Center. |
Organization ID |
Opcional. O ID da organização Google Cloud a ser usada para definir o escopo das consultas de integração do Security Command Center. |
Project ID |
Opcional. O ID do projeto Google Cloud usado para definir o escopo das consultas da instância do Security Command Center. |
Quota Project ID |
Opcional. O ID do projeto Google Cloud usado para fins de uso e faturamento da API. |
User's Service Account |
Opcional. Todo o conteúdo do arquivo JSON da chave da conta de serviço. Use esse parâmetro apenas se você estiver fazendo a autenticação com uma chave JSON. |
Workload Identity Email |
Opcional. O endereço de e-mail do cliente da sua conta de serviço. Use esse parâmetro apenas se você estiver autenticando com uma identidade da carga de trabalho. Se você configurar esse parâmetro, também precisará configurar
|
Verify SSL |
Obrigatório. Se selecionada, a integração valida o certificado SSL ao se conectar ao servidor do Security Command Center. Ativado por padrão. |
Para instruções sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.
É possível fazer mudanças mais tarde, se necessário. Depois de configurar uma instância de integração, você pode usá-la em playbooks. Para mais informações sobre como configurar e oferecer suporte a várias instâncias, consulte Suporte a várias instâncias.
Ações
Para mais informações sobre ações, consulte Responder a ações pendentes da sua mesa de trabalho e Realizar uma ação manual.
Receber detalhes da descoberta
Use a ação Receber detalhes da descoberta para recuperar detalhes sobre uma descoberta no Security Command Center.
Essa ação não é executada em entidades do Google SecOps.
Entradas de ação
A ação Get Finding Details exige os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Finding Name |
Obrigatório. Os nomes completos dos recursos das descobertas para retornar detalhes, no formato
Esse parâmetro aceita vários valores como uma lista separada por vírgulas. |
Saídas de ação
A ação Receber detalhes da descoberta fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Disponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Tabela do painel de casos
A ação Receber detalhes da descoberta pode retornar a seguinte tabela:
Título da tabela: Detalhes da descoberta
Colunas da tabela:
- Categoria
- Estado
- Gravidade
- Tipo
Resultado JSON
O exemplo a seguir mostra a saída do resultado JSON recebida ao usar a ação Receber detalhes da descoberta:
{
{
"finding_name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
"finding": {
"name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
"parent": "organizations/ORGANIZATION_ID/sources/2678067631293752869",
"resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"state": "ACTIVE",
"category": "Discovery: Service Account Self-Investigation",
"sourceProperties": {
"sourceId": {
"projectNumber": "PROJECT_ID",
"customerOrganizationNumber": "ORGANIZATION_ID"
},
"detectionCategory": {
"technique": "discovery",
"indicator": "audit_log",
"ruleName": "iam_anomalous_behavior",
"subRuleName": "service_account_gets_own_iam_policy"
},
"detectionPriority": "LOW",
"affectedResources": [
{
"gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID"
}
],
"evidence": [
{
"sourceLogId": {
"projectId": "PROJECT_ID",
"resourceContainer": "projects/PROJECT_ID",
"timestamp": {
"seconds": "1622678907",
"nanos": 448368000
},
"insertId": "ID"
}
}
],
"properties": {
"serviceAccountGetsOwnIamPolicy": {
"principalEmail": "prisma-cloud-serv@PROJECT_ID.iam.gserviceaccount.com",
"projectId": "PROJECT_ID",
"callerIp": "192.0.2.41",
"callerUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)",
"rawUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)"
}
},
"contextUris": {
"mitreUri": {
"displayName": "Permission Groups Discovery: Cloud Groups",
"url": "https://attack.mitre.org/techniques/ID/003/"
},
"cloudLoggingQueryUri": [
{
"displayName": "Cloud Logging Query Link",
"url": "https://console.cloud.google.com/logs/query;query=timestamp%3D%222021-06-03T00:08:27.448368Z%22%0AinsertId%3D%22ID%22%0Aresource.labels.project_id%3D%22PROJECT_ID%22?project=PROJECT_ID"
}
]
}
},
"securityMarks": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
},
"eventTime": "2021-06-03T00:08:27.448Z",
"createTime": "2021-06-03T00:08:31.074Z",
"severity": "LOW",
"canonicalName": "projects/PROJECT_ID/sources/SOURCE_ID/findings/FINDING_ID",
"mute": "UNDEFINED",
"findingClass": "THREAT",
"mitreAttack": {
"primaryTactic": "DISCOVERY",
"primaryTechniques": [
"PERMISSION_GROUPS_DISCOVERY",
"CLOUD_GROUPS"
]
}
},
"resource": {
"name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"projectDisplayName": "PROJECT_ID",
"parentName": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID",
"parentDisplayName": "example.net",
"type": "google.cloud.resourcemanager.Project",
"displayName": "PROJECT_ID"
}
}
}
Mensagens de saída
A ação Receber detalhes da descoberta pode retornar as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
|
A ação foi concluída. |
Error executing action "Get Finding Details". Reason: ERROR_REASON |
A ação falhou. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Receber detalhes da descoberta:
| Nome do resultado do script | Valor |
|---|---|
is_success |
true ou false |
Listar vulnerabilidades de recursos
Use a ação Listar vulnerabilidades de recursos para listar vulnerabilidades relacionadas a entidades no Security Command Center.
Essa ação não é executada em entidades do Google SecOps.
Entradas de ação
A ação List Asset Vulnerabilities exige os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Asset Resource Names |
Obrigatório. Uma lista separada por vírgulas dos identificadores exclusivos (nomes de recursos completos) dos recursos para recuperar dados. |
Timeframe |
Opcional. O período para pesquisar vulnerabilidades ou configurações incorretas. Os valores possíveis são:
O valor padrão é |
Record Types |
Opcional. O tipo de registro a ser retornado. Os valores possíveis são:
O valor padrão é |
Output Type |
Opcional. O tipo de saída a ser retornada no resultado JSON para cada recurso. Os valores possíveis são:
O valor padrão é |
Max Records To Return |
Opcional. O número máximo de registros a serem retornados para cada tipo de registro. O valor padrão é |
Saídas de ação
A ação ListAssetVulnerabilities fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Disponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Tabela do painel de casos
A ação List Asset Vulnerabilities pode retornar as seguintes tabelas:
Título da tabela: Vulnerabilidades de ASSET_ID
Colunas da tabela:
- Categoria
- Descrição
- Gravidade
- Horário do evento
- CVE
Título da tabela: ASSET_ID Configurações incorretas
Colunas da tabela:
- Categoria
- Descrição
- Gravidade
- Horário do evento
- Recomendação
Resultado JSON
O exemplo a seguir mostra a saída do resultado JSON recebida ao usar a ação List Asset Vulnerabilities:
{
."siemplify_asset_display_name":[1] [2] ""
"vulnerabilities": {
"statistics": {
"critical": 1,
"high": 1,
"medium": 1,
"low": 1,
"undefined": 1
},
"data": [
{
"category": "CATEGORY"
"description": "DESCRIPTION"
"cve_id": "CVE_ID"
"event_time": "EVENT_TIME"
"related_references": "RELATED_REFERENCES"
"severity": "SEVERITY"
}
]
},
"misconfigurations": {
"statistics": {
"critical": 1,
"high": 1,
"medium": 1,
"low": 1,
"undefined": 1
},
"data": [
{
"category": "CATEGORY"
"description": "DESCRIPTION"
"recommendation": "RECOMMENDATION"
"event_time": "EVENT_TIME"
"severity": "SEVERITY"
}
]
},
}
Mensagens de saída
A ação List Asset Vulnerabilities pode retornar as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
|
A ação foi concluída. |
Error executing action "List Asset Vulnerabilities". Reason:
ERROR_REASON |
A ação falhou. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação List Asset Vulnerabilities:
| Nome do resultado do script | Valor |
|---|---|
is_success |
true ou false |
Ping
Use a ação Ping para testar a conectividade com o Security Command Center.
Essa ação não é executada em entidades do Google SecOps.
Entradas de ação
Nenhuma.
Saídas de ação
A ação Ping fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Indisponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Mensagens de saída
A ação Ping pode retornar as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
Successfully connected to the Security Command Center server
with the provided connection parameters! |
A ação foi concluída. |
Failed to connect to the Security Command Center server! Error
is ERROR_REASON |
A ação falhou. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Ping:
| Nome do resultado do script | Valor |
|---|---|
is_success |
true ou false |
Atualizar resultado
Use a ação Atualizar descoberta para atualizar uma descoberta no Security Command Center.
Essa ação não é executada em entidades do Google SecOps.
Entradas de ação
A ação Atualizar descoberta exige os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Finding Name |
Obrigatório. Os nomes completos dos recursos das descobertas para retornar detalhes, no formato
Esse parâmetro aceita vários valores como uma lista separada por vírgulas. |
Mute Status |
Opcional. O status de silenciamento da descoberta. Os valores possíveis são:
|
State Status |
Opcional. O estado da descoberta. Os valores possíveis são:
|
Saídas de ação
A ação Atualizar descoberta fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Indisponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Mensagens de saída
A ação Atualizar descoberta pode retornar as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
|
A ação foi concluída. |
Error executing action "Update Finding". Reason: ERROR_REASON |
A ação falhou. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Atualizar descoberta:
| Nome do resultado do script | Valor |
|---|---|
is_success |
true ou false |
Conectores
Para mais informações sobre como configurar conectores no Google SecOps, consulte Ingerir seus dados (conectores).
Security Command Center: conector de descobertas
Use o conector de descobertas do Security Command Center para recuperar informações sobre descobertas do Security Command Center.
Esse conector permite filtrar descobertas por categoria usando a lista dinâmica.
Entradas do conector
O conector de descobertas do Security Command Center exige os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Product Field Name |
Obrigatório. O nome do campo em que o nome do produto é armazenado. O nome do produto afeta principalmente o mapeamento. Para simplificar e melhorar o processo de mapeamento do conector, o valor padrão é resolvido como um valor substituto referenciado no código. Qualquer entrada inválida para esse parâmetro é resolvida como um valor de substituição por padrão. O valor padrão é |
Event Field Name |
Obrigatório. O nome do campo que determina o nome do evento (subtipo). |
Environment Field Name |
Opcional. O nome do campo em que o nome do ambiente é armazenado. Se o campo "environment" estiver ausente, o conector usará o valor padrão. O valor padrão é |
Environment Regex Pattern |
Opcional. Um padrão de expressão regular a ser executado no valor encontrado no campo Use o valor padrão Se o padrão de expressão regular for nulo ou vazio, ou se o valor do ambiente for nulo, o resultado final será o ambiente padrão. |
PythonProcessTime |
Obrigatório. O limite de tempo limite, em segundos, para o processo do Python que executa o script atual. O valor padrão é |
API Root |
Obrigatório. A raiz da API da instância do Security Command Center. |
Organization ID |
Opcional. O ID da Google Cloud organização a ser usada |
Project ID |
Opcional. O ID do projeto Google Cloud a ser usado. |
Quota Project ID |
Opcional. O ID do projeto Google Cloud a ser usado. |
User's Service Account |
Obrigatório. Todo o conteúdo do arquivo JSON da chave da conta de serviço. Use esse parâmetro apenas se você estiver fazendo a autenticação com uma chave JSON. |
Workload Identity Email |
Opcional. O endereço de e-mail do cliente da sua conta de serviço. Use esse parâmetro apenas se você estiver autenticando com uma identidade da carga de trabalho. Se você configurar esse parâmetro, também precisará configurar
|
Finding Class Filter |
Opcional. Uma lista separada por vírgulas dos tipos de descobertas de segurança a serem incluídos ao ingerir dados da fonte. Os valores possíveis são:
Se nenhum valor for fornecido, as descobertas de todas as classes serão ingeridas. |
Lowest Severity To Fetch |
Opcional. A menor gravidade dos alertas a serem recuperados. Se você não configurar esse parâmetro, o conector vai ingerir alertas com todos os níveis de gravidade. Os valores possíveis são:
Se uma descoberta com gravidade indefinida receber o nível Se nenhum valor for fornecido, todos os tipos de gravidade serão ingeridos. |
Fallback Severity |
Opcional. O nível de gravidade a ser atribuído a qualquer descoberta de segurança ingerida sem uma classificação de gravidade definida ou reconhecível da fonte. Os valores possíveis são:
O valor padrão é |
Max Hours Backwards |
Opcional. O número de horas antes do momento atual para recuperar descobertas. Esse parâmetro pode ser aplicado à iteração inicial do conector depois que você o ativa pela primeira vez ou ao valor de substituição de um carimbo de data/hora expirado do conector. O valor máximo é O valor padrão é |
Max Findings To Fetch |
Opcional. O número de descobertas a serem processadas em cada iteração do conector. O valor máximo é O valor padrão é |
Use dynamic list as a blacklist |
Obrigatório. Se selecionado, o conector usa a lista dinâmica como uma lista de bloqueio. Essa configuração está desativada por padrão. |
Verify SSL |
Obrigatório. Se selecionada, a integração valida o certificado SSL ao se conectar ao servidor do Security Command Center. Essa configuração está desativada por padrão. |
Proxy Server Address |
Opcional. O endereço do servidor proxy a ser usado. |
Proxy Username |
Opcional. O nome de usuário do proxy para autenticação. |
Proxy Password |
Opcional. A senha do proxy para autenticação. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.