Configurar o controle de acesso a recursos usando o IAM
O RBAC de recursos controla o acesso do usuário a recursos ou funcionalidades específicas em um sistema e determina quais recursos estão acessíveis aos usuários com base nas funções deles. Nesta página, descrevemos como configurar o controle de acesso a recursos no Google Security Operations.
Neste documento, o termo RBAC legada é usado quando nos referimos ao sistema de controle de acesso disponível anteriormente, configurado usando o Google SecOps, e não o Identity and Access Management (IAM). O RBAC de recursos é usado para descrever o controle de acesso baseado em recursos que você configura usando o IAM.
O Google SecOps se integra ao Google Cloud IAM (em inglês) para fornecer permissões e papéis predefinidos específicos do Google SecOps. Os administradores do Google SecOps podem controlar o acesso aos recursos criando políticas do IAM que vinculam usuários ou grupos a papéis predefinidos ou podem criar papéis personalizados do IAM. Esse recurso não controla o acesso a registros ou campos específicos da UDM.
Este documento faz o seguinte:
- Descreve como o Google SecOps se integra ao IAM.
- Explica como os papéis do RBAC de recursos são diferentes dos papéis legados do RBAC.
- Fornece etapas para migrar uma instância do Google SecOps para o recurso RBAC.
- Fornece exemplos de como atribuir permissões usando o IAM.
- Resume as permissões e os papéis predefinidos disponíveis no IAM.
Para conferir uma lista de permissões do Google SecOps usadas com frequência e os registros de auditoria que elas produzem, consulte Permissões e métodos de API por grupo de recursos. Para uma lista de todas as permissões do Google SecOps, consulte Referência de permissões do Identity and Access Management.
Cada permissão do Google SecOps está associada a um recurso e método da API do Chronicle. Quando um usuário ou grupo recebe uma permissão, ele pode acessar o recurso no Google SecOps e enviar uma solicitação usando o método de API relacionado.
Como o Google SecOps se integra ao IAM
Para usar o IAM, o Google SecOps precisa estar vinculado a um projeto Google Cloud e configurado com o Cloud Identity, o Google Workspace ou a federação de identidade de colaboradores Google Cloud como intermediário no fluxo de autenticação para um provedor de identidade terceirizado. Para informações sobre o fluxo de autenticação de terceiros, consulte Integrar o Google SecOps com um provedor de identidade de terceiros.
O Google SecOps realiza as seguintes etapas para verificar e controlar o acesso aos recursos:
- Depois de fazer login no Google SecOps, um usuário acessa uma página de aplicativo do Google SecOps. Como alternativa, o usuário pode enviar uma solicitação de API ao Google SecOps.
- O Google SecOps verifica as permissões concedidas nas políticas do IAM definidas para esse usuário.
- O IAM retorna as informações de autorização. Se o usuário acessou uma página de aplicativo, o Google SecOps permite o acesso apenas aos recursos a que ele tem permissão.
- Se o usuário enviar uma solicitação de API e não tiver permissão para realizar a ação solicitada, a resposta da API vai incluir um erro. Caso contrário, uma resposta padrão será retornada.
O Google SecOps oferece um conjunto de papéis predefinidos com um conjunto definido de permissões que controlam se um usuário pode acessar o recurso. A única política do IAM controla o acesso ao recurso usando a interface da Web e a API.
Se houver outros serviços do Google Cloud no projeto Google Cloud vinculados ao Google SecOps e você quiser limitar um usuário com a função de administrador do IAM do projeto para modificar apenas os recursos do Google SecOps, adicione condições do IAM à política de permissão. Consulte Atribuir funções a usuários e grupos para ver um exemplo de como fazer isso.
Os administradores adaptam o acesso aos recursos do Google SecOps com base na função de um funcionário na organização.
Antes de começar
- Confira se você conhece o Cloud Shell, o comando da CLI gcloud e o console Google Cloud .
- Familiarize-se com o IAM, incluindo os seguintes conceitos:
- Visão geral do IAM.
- Visão geral de papéis e permissões, papéis predefinidos versus papéis personalizados e como criar papéis personalizados.
- Condições do IAM.
- Siga todas as etapas em Vincular o Google SecOps a um Google Cloud projeto para configurar um projeto que se vincule ao Google SecOps.
- Configure seu provedor de identidade usando uma das seguintes opções:
- Configurar um Google Cloud provedor de identidade
- Siga todas as etapas em Integrar o Google SecOps a um provedor de identidade terceirizado para configurar a autenticação por um IdP terceirizado.
- Vincule um projeto à sua instância do Google SecOps e configure o provedor de identidade.
- Confira se você tem as permissões para realizar as etapas deste documento. Para informações sobre as permissões necessárias em cada fase do processo de integração, consulte Papéis necessários.
Planejar a implementação
Crie políticas do IAM que atendam aos requisitos de implantação da sua organização. É possível usar papéis predefinidos do Google SecOps ou papéis personalizados criados por você.
Analise a lista de papéis e permissões predefinidos do Google SecOps em relação aos requisitos da sua organização. Identifique quais membros da sua organização precisam ter acesso a cada recurso do Google SecOps. Se a organização precisar de políticas do IAM diferentes das funções predefinidas do Google SecOps, crie funções personalizadas para atender a esses requisitos. Para informações sobre papéis personalizados do IAM, consulte Criar e gerenciar papéis personalizados.
Resumo dos papéis e permissões do Google SecOps
As seções a seguir fornecem um resumo de alto nível das funções predefinidas.
A lista mais atual de permissões do Google SecOps está na
referência de permissões do IAM. Na seção Pesquisar uma permissão, procure o termo chronicle
.
A lista mais atualizada de papéis predefinidos do Google Security Operations está na referência de papéis básicos e predefinidos do IAM. Na seção Papéis predefinidos, selecione o serviço Papéis da API Chronicle ou pesquise o termo chronicle
.
Para informações sobre métodos e permissões da API, as páginas em que as permissões são usadas e as informações registradas nos registros de auditoria do Cloud quando a API é chamada, consulte Permissões do Chronicle no IAM.
Funções predefinidas do Google SecOps no IAM
O Google SecOps oferece os seguintes papéis predefinidos, conforme aparecem no IAM.
Papel predefinido no IAM | Título | Descrição |
---|---|---|
roles/chronicle.admin |
Administrador da API Chronicle | Acesso total aos serviços de API e aplicativos do Google SecOps, incluindo configurações globais. |
roles/chronicle.editor |
Editor da API Chronicle | Modificar o acesso aos recursos de API e aplicativos do Google SecOps. |
roles/chronicle.viewer |
Leitor da API Chronicle | Acesso somente leitura aos recursos de aplicativos e APIs do Google SecOps |
roles/chronicle.limitedViewer |
Leitor limitado da API Chronicle | Concede acesso somente leitura aos recursos do aplicativo e da API do Google SecOps, exceto regras do mecanismo de detecção e retrohunts. |
Permissões do Google SecOps no IAM
As permissões do Google SecOps correspondem um a um com os métodos da API do Chronicle. Cada permissão do Google SecOps permite uma ação específica em um recurso específico do Google SecOps ao usar o aplicativo da Web ou a API. As APIs do Google SecOps usadas com o IAM estão na fase de lançamento Alfa.
Os nomes de permissões do Google SecOps seguem o formato SERVICE.FEATURE.ACTION
.
Por exemplo, o nome da permissão chronicle.dashboards.edit
consiste no seguinte:
chronicle
: o nome do serviço da API Chronicle.dashboards
: o nome do recurso.edit
: a ação que pode ser realizada no recurso.
O nome da permissão descreve a ação que você pode realizar no recurso do
Google SecOps. Todas as permissões do Google SecOps têm o nome do serviço chronicle
.
Atribuir funções a usuários e grupos
As seções a seguir mostram exemplos de casos de uso para criar políticas do IAM. O termo <project>
é usado para representar o ID do projeto
vinculado ao Google SecOps.
Depois de ativar a API Chronicle, as funções e permissões predefinidas do Google SecOps ficam disponíveis no IAM, e você pode criar políticas para atender aos requisitos da organização.
Se você tiver uma instância recém-criada do Google SecOps, comece a criar políticas do IAM para atender aos requisitos da organização.
Se esta for uma instância do Google SecOps, consulte Migrar o Google SecOps para o IAM para controle de acesso a recursos e saiba como migrar a instância para o IAM.
Exemplo: atribuir o papel de administrador do IAM do projeto em um projeto dedicado
Neste exemplo, o projeto é dedicado à sua instância do Google SecOps. Você concede o papel de Administrador do IAM do projeto a um usuário para que ele possa conceder e modificar as vinculações de papéis do IAM do projeto. O usuário pode administrar todas as funções e permissões do Google SecOps no projeto e realizar tarefas concedidas pela função Administrador de IAM do projeto.
Atribuir a função usando o Google Cloud console
As etapas a seguir descrevem como conceder uma função a um usuário usando o console Google Cloud .
- Abra o console do Google Cloud .
- Selecione o projeto vinculado ao Google SecOps.
- Selecione IAM e administrador.
- Selecione Conceder acesso. A caixa de diálogo Conceder acesso a
<project>
vai aparecer. - Na seção Adicionar principais, insira o endereço de e-mail da conta gerenciada no campo Novos principais.
- Na seção Atribuir papéis, no menu Selecionar um papel, escolha a função Administrador de IAM do projeto.
- Clique em Salvar.
- Abra a página IAM > Permissões para verificar se o usuário recebeu a função correta.
Atribua a função usando a Google Cloud CLI.
O exemplo de comando a seguir demonstra como conceder a um usuário a função chronicle.admin
ao usar a federação de identidade da força de trabalho.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.admin
Substitua:
PROJECT_ID
: o ID do projeto vinculado ao Google SecOps que você criou em Como vincular uma instância do Google SecOps ao projeto Google Cloud . Consulte Como criar e gerenciar projetos para uma descrição dos campos que identificam um projeto.WORKFORCE_POOL_ID
: o identificador do pool de colaboradores criado para seu provedor de identidade.USER_EMAIL
: o endereço de e-mail do usuário.
O exemplo de comando a seguir demonstra como conceder a um grupo a função chronicle.admin
ao usar o Cloud Identity ou o Google Workspace.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member "user:USER_EMAIL" \
--role=roles/chronicle.admin
Substitua:
PROJECT_ID
: o ID do projeto vinculado ao Google SecOps que você criou em Como vincular uma instância do Google SecOps ao projeto Google Cloud . Consulte Como criar e gerenciar projetos para uma descrição dos campos que identificam um projeto.USER_EMAIL
: o endereço de e-mail do usuário.
Exemplo: atribuir o papel de administrador do IAM do projeto em um projeto compartilhado
Neste exemplo, o projeto é usado para vários aplicativos. Ele está vinculado a uma instância do Google SecOps e executa serviços que não estão relacionados ao Google SecOps. Por exemplo, um recurso do Compute Engine usado para outra finalidade.
Nesse caso, é possível conceder o papel de Administrador do IAM do projeto a um usuário para que ele possa conceder e modificar as vinculações de papéis do IAM do projeto e configurar o Google SecOps. Você também vai adicionar o IAM à vinculação de função para limitar o acesso apenas às funções relacionadas ao Google SecOps no projeto. Esse usuário só pode conceder as funções especificadas na condição do IAM.
Para mais informações sobre as condições do IAM, consulte Visão geral das condições do IAM e Gerenciar vinculações de papéis condicionais.
Atribuir a função usando o Google Cloud console
As etapas a seguir descrevem como conceder uma função a um usuário usando o console Google Cloud .
- Abra o console do Google Cloud .
- Selecione o projeto vinculado ao Google SecOps.
- Selecione IAM e administrador.
- Selecione Conceder acesso. A caixa de diálogo Conceder acesso a
<project>
vai aparecer. - Na caixa de diálogo Conceder acesso a
<project>
, na seção Adicionar principais, insira o endereço de e-mail do usuário no campo Novos principais. - Na seção Atribuir papéis, no menu Selecionar um papel, escolha a função Administrador de IAM do projeto.
- Clique em + Adicionar condição do IAM.
- Na caixa de diálogo Adicionar condição, insira as seguintes informações:
- Insira um Título para a condição.
- Selecione o Editor da condição.
- Insira a seguinte condição:
api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])
- Clique em Salvar na caixa de diálogo Adicionar condição.
- Clique em Salvar na caixa de diálogo Conceder acesso a
<project>
. - Abra a página IAM > Permissões para verificar se o usuário recebeu a função correta.
Atribua a função usando a Google Cloud CLI.
O comando de exemplo a seguir demonstra como conceder a um usuário o papel chronicle.admin
e aplicar condições do IAM ao usar a federação de identidade da força de trabalho.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.admin\
--condition=^:^'expression=api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])':'title=Chronicle Role Admin'
Substitua:
PROJECT_ID
: o ID do projeto vinculado ao Google SecOps que você criou em Como vincular uma instância do Google SecOps ao projeto Google Cloud . Consulte Como criar e gerenciar projetos para uma descrição dos campos que identificam um projeto.WORKFORCE_POOL_ID
: o identificador do pool de força de trabalho criado para seu provedor de identidade.USER_EMAIL
: o endereço de e-mail do usuário.
O exemplo de comando a seguir demonstra como conceder a um grupo a função chronicle.admin
e aplicar condições do IAM ao usar o Cloud Identity ou o Google Workspace.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=user:USER_EMAIL \
--role=roles/chronicle.admin\
--condition=^:^'expression=api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])':'title=Chronicle Role Admin'
Substitua:
PROJECT_ID
: o ID do projeto vinculado ao Google SecOps que você criou em Como vincular uma instância do Google SecOps ao projeto Google Cloud . Consulte Como criar e gerenciar projetos para uma descrição dos campos que identificam um projeto.USER_EMAIL
: o endereço de e-mail do usuário, comobob@example.com
.
Exemplo: atribuir a função de editor da API Chronicle a um usuário
Nessa situação, você quer dar a um usuário a capacidade de modificar o acesso aos recursos da API Chronicle.
Atribuir a função usando o Google Cloud console
- Abra o console do Google Cloud .
- Selecione o projeto vinculado ao Google SecOps.
- Selecione IAM e administrador.
- Selecione Conceder acesso. A caixa de diálogo Conceder acesso a
<project>
será aberta. - Na seção Adicionar principais, no campo Novos principais, insira o endereço de e-mail do usuário.
- Na seção Atribuir papéis, no menu Selecionar um papel, escolha a função Editor da API Chronicle.
- Clique em Salvar na caixa de diálogo Conceder acesso a
<project>
. - Abra a página IAM > Permissões para verificar se o usuário recebeu a função correta.
Atribua a função usando a Google Cloud CLI.
O exemplo de comando a seguir demonstra como conceder a um usuário o papel chronicle.editor
ao usar a federação de identidade da força de trabalho.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.editor
Substitua:
PROJECT_ID
: o ID do projeto vinculado ao Google SecOps que você criou em Como vincular uma instância do Google SecOps ao projeto Google Cloud . Consulte Como criar e gerenciar projetos para uma descrição dos campos que identificam um projeto.WORKFORCE_POOL_ID
: o identificador do pool de colaboradores criado para seu provedor de identidade.USER_EMAIL
: o endereço de e-mail do usuário.O exemplo de comando a seguir demonstra como conceder a um usuário a função
chronicle.editor
ao usar o Cloud Identity ou o Google Workspace.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=user:USER_EMAIL \
--role=roles/chronicle.editor
Substitua:
PROJECT_ID
: o ID do projeto vinculado ao Google SecOps que você criou em Como vincular uma instância do Google SecOps ao projeto Google Cloud . Consulte Como criar e gerenciar projetos para uma descrição dos campos que identificam um projeto.WORKFORCE_POOL_ID
: o identificador do pool de colaboradores criado para seu provedor de identidade.USER_EMAIL
: o endereço de e-mail do usuário.
Exemplo: criar e atribuir uma função personalizada a um grupo
Se as funções predefinidas do Google SecOps não fornecerem o grupo de permissões que atende ao caso de uso da sua organização, crie uma função personalizada e atribua permissões do Google SecOps a ela. Você atribui a função personalizada a um usuário ou grupo. Para mais informações sobre papéis personalizados do IAM, consulte Criar e gerenciar papéis personalizados.
As etapas a seguir permitem criar uma função personalizada chamada LimitedAdmin
.
Crie um arquivo YAML ou JSON que defina o papel personalizado, chamado
LimitedAdmin
, e as permissões concedidas a ele. Confira um exemplo de arquivo YAML:title: "LimitedAdmin" description: "Admin role with some permissions removed" stage: "ALPHA" includedPermissions: - chronicle.collectors.create - chronicle.collectors.delete - chronicle.collectors.get - chronicle.collectors.list - chronicle.collectors.update - chronicle.dashboards.copy - chronicle.dashboards.create - chronicle.dashboards.delete - chronicle.dashboards.get - chronicle.dashboards.list - chronicle.extensionValidationReports.get - chronicle.extensionValidationReports.list - chronicle.forwarders.create - chronicle.forwarders.delete - chronicle.forwarders.generate - chronicle.forwarders.get - chronicle.forwarders.list - chronicle.forwarders.update - chronicle.instances.get - chronicle.instances.report - chronicle.legacies.legacyGetCuratedRulesTrends - chronicle.legacies.legacyGetRuleCounts - chronicle.legacies.legacyGetRulesTrends - chronicle.legacies.legacyUpdateFinding - chronicle.logTypeSchemas.list - chronicle.multitenantDirectories.get - chronicle.operations.cancel - chronicle.operations.delete - chronicle.operations.get - chronicle.operations.list - chronicle.operations.wait - chronicle.parserExtensions.activate - chronicle.parserExtensions.create - chronicle.parserExtensions.delete - chronicle.parserExtensions.generateKeyValueMappings - chronicle.parserExtensions.get - chronicle.parserExtensions.legacySubmitParserExtension - chronicle.parserExtensions.list - chronicle.parserExtensions.removeSyslog - chronicle.parsers.activate - chronicle.parsers.activateReleaseCandidate - chronicle.parsers.copyPrebuiltParser - chronicle.parsers.create - chronicle.parsers.deactivate - chronicle.parsers.delete - chronicle.parsers.get - chronicle.parsers.list - chronicle.parsers.runParser - chronicle.parsingErrors.list - chronicle.validationErrors.list - chronicle.validationReports.get - resourcemanager.projects.get
Crie a função personalizada. O exemplo de comando da CLI gcloud a seguir demonstra como criar essa função personalizada usando o arquivo YAML criado na etapa anterior.
gcloud iam roles create ROLE_NAME \ --project=PROJECT_ID \ --file=YAML_FILE_NAME
Substitua:
PROJECT_ID
: o ID do projeto vinculado ao Google SecOps que você criou em Como vincular uma instância do Google SecOps ao projeto Google Cloud . Consulte Como criar e gerenciar projetos para uma descrição dos campos que identificam um projeto.YAML_FILE_NAME
: o nome do arquivo que você criou na etapa anterior.ROLE_NAME
: o nome da função personalizada, conforme definido no arquivo YAML.
Atribua o papel personalizado usando a Google Cloud CLI.
O exemplo de comando a seguir demonstra como conceder a um grupo de usuários o papel personalizado
limitedAdmin
ao usar a federação de identidade da força de trabalho.gcloud projects add-iam-policy-binding PROJECT_ID \ --member=principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID \ --role=projects/PROJECT_ID/roles/limitedAdmin
Substitua:
PROJECT_ID
: o ID do projeto vinculado ao Google SecOps que você criou em Como vincular uma instância do Google SecOps ao projeto Google Cloud . Consulte Como criar e gerenciar projetos para uma descrição dos campos que identificam um projeto.WORKFORCE_POOL_ID
: o identificador do pool de colaboradores criado para seu provedor de identidade.GROUP_ID
: o identificador do grupo criado na federação de identidade de colaboradores. Consulte Representar usuários do pool de força de trabalho nas políticas do IAM para informações sobre o identificador de grupo criado na federação de identidades da força de trabalho. Consulte Representar usuários do pool de força de trabalho nas políticas do IAM para informações sobre oGROUP_ID
.
O exemplo de comando a seguir demonstra como conceder a um grupo de usuários a função personalizada
limitedAdmin
ao usar o Cloud Identity ou .gcloud projects add-iam-policy-binding PROJECT_ID \ --member=groupid:GROUP_ID \ --role=projects/PROJECT_ID/roles/limitedAdmin
Substitua:
PROJECT_ID
: o ID do projeto vinculado ao Google SecOps que você criou em Como vincular uma instância do Google SecOps ao projeto Google Cloud . Consulte Como criar e gerenciar projetos para uma descrição dos campos que identificam um projeto.WORKFORCE_POOL_ID
: o identificador do pool de colaboradores criado para seu provedor de identidade.GROUP_ID
: o identificador do grupo criado na federação de identidade de colaboradores. Consulte Representar usuários do pool de força de trabalho nas políticas do IAM para informações sobre o identificador de grupo criado na federação de identidades da força de trabalho. Consulte Representar usuários do pool de força de trabalho nas políticas do IAM para informações sobre oGROUP_ID
.
Verificar o registro de auditoria
As ações do usuário no Google SecOps e as solicitações à API Chronicle são registradas como Registros de auditoria do Cloud. Para verificar se os registros estão sendo gravados, siga estas etapas:
- Faça login no Google SecOps como um usuário com privilégios para acessar qualquer recurso. Consulte Fazer login no Google SecOps para mais informações.
- Realizar uma ação, como uma pesquisa.
- No Google Cloud console, use o Explorador de registros para ver os registros de auditoria no projeto do Google Cloud vinculado ao Google SecOps. Os registros de auditoria do Google SecOps têm o seguinte nome de serviço:
chronicle.googleapis.com
.
Para mais informações sobre como visualizar os Registros de auditoria do Cloud, consulte Informações sobre a geração de registros de auditoria do Google SecOps.
Confira a seguir um exemplo de registro gravado quando o usuário alice@example.com
visualizou a lista de extensões de analisador no Google SecOps.
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"authenticationInfo": {
"principalEmail": "alice@example.com"
},
"requestMetadata": {
"callerIp": "private",
"callerSuppliedUserAgent": "abc_client",
"requestAttributes": {
"time": "2023-03-27T21:09:43.897772385Z",
"reason": "8uSywAYeWhxBRiBhdXRoIFVwVGljay0-REFUIGV4Y2abcdef",
"auth": {}
},
"destinationAttributes": {}
},
"serviceName": "chronicle.googleapis.com",
"methodName": "google.cloud.chronicle.v1main.ParserService.ListParserExtensions",
"authorizationInfo": [
{
"resource": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-",
"permission": "chronicle.parserExtensions.list",
"granted": true,
"resourceAttributes": {}
}
],
"resourceName": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-",
"numResponseItems": "12",
"request": {
"@type": "type.googleapis.com/google.cloud.chronicle.v1main.ListParserExtensionsRequest",
"parent": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-"
},
"response": {
"@type": "type.googleapis.com/google.cloud.chronicle.v1main.ListParserExtensionsResponse"
}
},
"insertId": "1h0b0e0a0",
"resource": {
"type": "audited_resource",
"labels": {
"project_id": "dev-sys-server001",
"method": "google.cloud.chronicle.v1main.ParserService.ListParserExtensions",
"service": "chronicle.googleapis.com"
}
},
"timestamp": "2023-03-27T21:09:43.744940164Z",
"severity": "INFO",
"logName": "projects/dev-sys-server001/logs/cloudaudit.googleapis.com%2Fdata_access",
"receiveTimestamp": "2023-03-27T21:09:44.863100753Z"
}
Migrar o Google SecOps para o RBAC de recursos para controle de acesso a recursos
Use as informações nestas seções para migrar uma instância do SIEM do Google Security Operations do sistema RBAC legado para o RBAC de recursos.
Depois de migrar para o RBAC de recursos, também é possível auditar a atividade na instância do Google SecOps usando os Registros de auditoria do Cloud.
Diferenças entre o RBAC legado e o RBAC de recursos
Embora os nomes dos papéis predefinidos do RBAC de recursos sejam semelhantes aos papéis do RBAC legado, eles não fornecem acesso idêntico aos recursos. As permissões atribuídas a cada papel predefinido de RBAC de recurso são ligeiramente diferentes. Para mais informações, consulte Como os papéis do IAM do RBAC de recursos são mapeados para papéis legados do RBAC.
Você pode usar os papéis predefinidos do Google SecOps como estão, mudar as permissões definidas em cada um deles ou criar papéis personalizados e atribuir um conjunto diferente de permissões.
Depois de migrar a instância do Google SecOps, gerencie papéis, permissões e políticas de RBAC de recursos usando o IAM no console do Google Cloud . As seguintes páginas de aplicativos do Google SecOps foram modificadas para direcionar os usuários ao console Google Cloud :
- Usuários e grupos
- Papéis
No RBAC legado, cada permissão é descrita pelo nome do recurso e uma ação. As permissões do IAM no RBAC de recursos são descritas pelo nome do recurso e pelo método. A tabela a seguir ilustra a diferença com dois exemplos, um relacionado a painéis e o segundo a feeds.
Exemplo de painel: para controlar o acesso aos painéis, o RBAC legado oferece cinco ações que podem ser realizadas neles. O RBAC de recursos oferece permissões do IAM semelhantes com uma adicional,
dashboards.list
, que permite que um usuário liste os painéis disponíveis.Exemplo de feeds: para controlar o acesso aos feeds, o RBAC legado oferece sete ações que podem ser ativadas ou desativadas. Com o RBAC de recursos, há quatro:
feeds.delete
,feeds.create
,feeds.update
efeeds.view
.
Recurso | Permissão no RBAC legado | Permissão do IAM no RBAC de recursos | Descrição da ação do usuário |
---|---|---|---|
Painéis | Editar | chronicle.dashboards.edit |
Editar painéis |
Painéis | Copiar | chronicle.dashboards.copy |
Copiar painéis |
Painéis | Criar | chronicle.dashboards.create |
Criar painéis |
Painéis | Programar | chronicle.dashboards.schedule |
Programar relatórios |
Painéis | Excluir | chronicle.dashboards.delete |
Excluir relatórios |
Painéis | Nenhuma. Isso está disponível apenas no RBAC de recursos. | chronicle.dashboards.list |
Listar painéis disponíveis |
Feeds | DeleteFeed | chronicle.feeds.delete |
Excluir um feed. |
Feeds | CreateFeed | chronicle.feeds.create |
Crie um feed. |
Feeds | UpdateFeed | chronicle.feeds.update |
Atualize um feed. |
Feeds | EnableFeed | chronicle.feeds.update |
Atualize um feed. |
Feeds | DisableFeed | chronicle.feeds.update |
Atualize um feed. |
Feeds | ListFeeds | chronicle.feeds.view |
Retorna um ou mais feeds. |
Feeds | GetFeed | chronicle.feeds.view |
Retorna um ou mais feeds. |
Etapas para migrar permissões de controle de acesso atuais
Depois de concluir as etapas para migrar uma instância do Google SecOps, você também pode migrar a configuração de controle de acesso a recursos.
O Google SecOps fornece comandos gerados automaticamente que criam novas políticas do IAM de RBAC de recursos equivalentes ao RBAC legado, que é configurado no Google SecOps, na página Configurações do SIEM > Usuários e grupos.
Verifique se você tem as permissões necessárias descritas em Configurar um projeto do Google Cloud para o Google SecOps e siga as etapas em Migrar permissões e papéis atuais para o IAM.
Como os papéis do IAM do RBAC de recursos são mapeados para papéis legados do RBAC
As informações de mapeamento nesta seção ilustram algumas das diferenças no acesso para papéis predefinidos antes e depois da migração. Embora os nomes dos papéis do RBAC legados sejam semelhantes aos papéis predefinidos do IAM do RBAC de recursos, as ações a que cada um dá acesso são diferentes. Esta seção apresenta algumas dessas diferenças.
Leitor limitado da API Chronicle
Essa função concede acesso somente leitura aos recursos do aplicativo e da API do Google SecOps,
exceto regras do mecanismo de detecção e retrohunts. O nome da função é chronicle.limitedViewer
.
Para uma lista detalhada das permissões, consulte Visualizador da API Chronicle.
Leitor da API Chronicle
Essa função fornece acesso somente leitura aos recursos do aplicativo e da API do Google SecOps. O nome da função é chronicle.viewer
.
As permissões a seguir ilustram algumas das diferenças entre papéis semelhantes de RBAC legada e de recursos. Para uma lista detalhada das permissões, consulte o Visualizador da API Chronicle.
Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
---|---|
chronicle.ruleDeployments.get |
Viewer |
chronicle.ruleDeployments.list |
Viewer |
chronicle.rules.verifyRuleText |
Viewer |
chronicle.rules.get |
Viewer |
chronicle.rules.list |
Viewer |
chronicle.legacies.legacyGetRuleCounts |
Viewer |
chronicle.legacies.legacyGetRulesTrends |
Viewer |
chronicle.rules.listRevisions |
Viewer |
chronicle.legacies.legacyGetCuratedRulesTrends |
Viewer |
chronicle.ruleExecutionErrors.list |
Viewer |
chronicle.curatedRuleSets.get |
Viewer |
chronicle.curatedRuleSetDeployments.get |
Viewer |
chronicle.curatedRuleSets.list |
Viewer |
chronicle.curatedRuleSetDeployments.list |
Viewer |
chronicle.curatedRuleSetCategories.get |
Viewer |
chronicle.curatedRuleSetCategories.list |
Viewer |
chronicle.curatedRuleSetCategories.countAllCuratedRuleSetDetections |
Viewer |
chronicle.curatedRuleSets.countCuratedRuleSetDetections |
Viewer |
chronicle.curatedRules.get |
Viewer |
chronicle.curatedRules.list |
Viewer |
chronicle.referenceLists.list |
Viewer |
chronicle.referenceLists.get |
Viewer |
chronicle.referenceLists.verifyReferenceList |
Viewer |
chronicle.retrohunts.get |
Viewer |
chronicle.retrohunts.list |
Viewer |
chronicle.dashboards.schedule |
Editor |
chronicle.operations.get |
None. This is available in feature RBAC only. |
chronicle.operations.list |
None. This is available in feature RBAC only. |
chronicle.operations.wait |
None. This is available in feature RBAC only. |
chronicle.instances.report |
None. This is available in feature RBAC only. |
chronicle.collectors.get |
None. This is available in feature RBAC only. |
chronicle.collectors.list |
None. This is available in feature RBAC only. |
chronicle.forwarders.generate |
None. This is available in feature RBAC only. |
chronicle.forwarders.get |
None. This is available in feature RBAC only. |
chronicle.forwarders.list |
None. This is available in feature RBAC only. |
Editor da API Chronicle
Essa função permite que os usuários modifiquem o acesso aos recursos do aplicativo e da API do Google SecOps. O nome da função é chronicle.editor
.
As permissões a seguir ilustram algumas das diferenças entre as funções semelhantes de RBAC legada e de recurso. Para uma lista detalhada das permissões, consulte Editor da API Chronicle.
Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
---|---|
chronicle.ruleDeployments.update |
Editor |
chronicle.rules.update |
Editor |
chronicle.rules.create |
Editor |
chronicle.referenceLists.create |
Editor |
chronicle.referenceLists.update |
Editor |
chronicle.rules.runRetrohunt |
Editor |
chronicle.retrohunts.create |
Editor |
chronicle.curatedRuleSetDeployments.batchUpdate |
Editor |
chronicle.curatedRuleSetDeployments.update |
Editor |
chronicle.dashboards.copy |
Editor |
chronicle.dashboards.edit |
Editor |
chronicle.dashboards.create |
Editor |
chronicle.legacies.legacyUpdateFinding |
Editor |
chronicle.dashboards.delete |
Editor |
chronicle.operations.delete |
None. This is available in feature RBAC only. |
Administrador da API Chronicle
Essa função oferece acesso total ao aplicativo Google SecOps e aos serviços de API, incluindo configurações globais. O nome da função é chronicle.admin
.
As permissões a seguir ilustram algumas das diferenças entre as funções semelhantes de RBAC legada e de recurso. Para uma lista detalhada das permissões, consulte Administrador da API Chronicle.
Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
---|---|
chronicle.parserExtensions.delete |
Admin |
chronicle.parsers.copyPrebuiltParser |
Admin |
chronicle.extensionValidationReports.get |
Admin |
chronicle.extensionValidationReports.list |
Admin |
chronicle.validationErrors.list |
Admin |
chronicle.parsers.runParser |
Admin |
chronicle.parserExtensions.get |
Admin |
chronicle.parserExtensions.list |
Admin |
chronicle.validationReports.get |
Admin |
chronicle.parserExtensions.create |
Admin |
chronicle.parserExtensions.removeSyslog |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parserExtensions.activate |
Admin |
chronicle.parsers.activateReleaseCandidate |
Admin |
chronicle.parsers.deactivate |
Admin |
chronicle.parsers.deactivate |
Admin |
chronicle.parserExtensions.generateKeyValuechronicle.Mappings |
Admin |
chronicle.parserExtensions.legacySubmitParserExtension |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.list |
Admin |
chronicle.parsers.create |
Admin |
chronicle.parsers.delete |
Admin |
chronicle.feeds.delete |
Admin |
chronicle.feeds.create |
Admin |
chronicle.feeds.update |
Admin |
chronicle.feeds.enable |
Admin |
chronicle.feeds.disable |
Admin |
chronicle.feeds.list |
Admin |
chronicle.feeds.get |
Admin |
chronicle.feedSourceTypeSchemas.list |
Admin |
chronicle.logTypeSchemas.list |
Admin |
chronicle.operations.cancel |
Editor |
chronicle.collectors.create |
None. This is available in feature RBAC only. |
chronicle.collectors.delete |
None. This is available in feature RBAC only. |
chronicle.collectors.update |
None. This is available in feature RBAC only. |
chronicle.forwarders.create |
None. This is available in feature RBAC only. |
chronicle.forwarders.delete |
None. This is available in feature RBAC only. |
chronicle.forwarders.update |
None. This is available in feature RBAC only. |
chronicle.parsingErrors.list |
None. This is available in feature RBAC only. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.