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íficos em um sistema e determina quais recursos são acessíveis aos usuários com base nas funções deles. Esta página descreve como configurar o controle de acesso a recursos no Google Security Operations.
Neste documento, o termo RBAC legada é usado para se referir ao sistema de controle de acesso disponível anteriormente que é configurado usando o Google SecOps, e não o Identity and Access Management (IAM). O RBAC de recurso é usado para descrever o controle de acesso baseado em recursos que você configura usando o IAM.
O Google SecOps se integra ao IAM do Google Cloud 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 funções predefinidas ou podem criar funções personalizadas do IAM. Esse recurso não controla o acesso a campos ou registros específicos do 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 do RBAC legados.
- 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 da API por grupo de recursos. Para conferir 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 é associada a um método e a um recurso da API do Google SecOps. 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 do Google Cloud e ser configurado com a federação de identidade do Cloud Identity, do Google Workspace ou do Google Cloud Workforce como intermediário no fluxo de autenticação para um provedor de identidade de terceiros. Para informações sobre o fluxo de autenticação de terceiros, consulte Integrar o Google SecOps a um provedor de identidade de terceiros.
O Google SecOps executa as etapas a seguir 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 para o 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 acessar uma página de aplicativo, o Google SecOps vai permitir o acesso apenas aos recursos que o usuário tem permissão para acessar.
- Se o usuário enviou uma solicitação de API e não tem permissão para realizar a ação solicitada, a resposta da API inclui um erro. Caso contrário, uma resposta padrão será retornada.
O Google SecOps fornece um conjunto de papéis predefinidos com um conjunto definido de permissões que controlam se um usuário pode acessar o recurso. A política única 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 do Google Cloud vinculado ao Google SecOps e você quiser limitar um usuário com a função de administrador do IAM do projeto a 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 conferir um exemplo de como fazer isso.
Os administradores ajustam o acesso aos recursos do Google SecOps com base no papel de um funcionário na sua organização.
Antes de começar
- Confira se você conhece o Cloud Shell, o comando gcloud CLI e o console do Google Cloud.
- Conheça o IAM, incluindo os seguintes conceitos:
- Visão geral do IAM.
- Informações gerais sobre papéis e permissões, papéis predefinidos versus papéis personalizados e criação de papéis personalizados.
- Condições do IAM.
- Siga todas as etapas em Vincular o Google SecOps a um projeto do Google Cloud para configurar um projeto vinculado ao Google SecOps.
- Configure seu provedor de identidade usando uma das seguintes opções:
- Configurar um provedor de identidade do Google Cloud
- Siga todas as etapas em Integrar o Google SecOps a um provedor de identidade de terceiros para configurar a autenticação por um provedor de identidade (IdP) de terceiros.
- 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 neste documento. Para informações sobre as permissões necessárias para cada fase do processo de integração, consulte Papéis necessários.
Planejar a implementação
Crie políticas do IAM que ofereçam suporte aos requisitos de implantação da sua organização. Você pode usar papéis predefinidos do Google SecOps ou 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 sua organização exigir políticas do IAM diferentes dos papéis predefinidos 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 geral das funções predefinidas.
A lista mais recente 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 recente de papéis predefinidos do Google SecOps 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 gravadas nos registros de auditoria do Cloud quando a API é chamada, consulte Permissões do Chronicle no IAM.
Papéis predefinidos do Google SecOps no IAM
O Google Security Operations fornece 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 ao aplicativo Google Security Operations e aos serviços de API, incluindo configurações globais. |
roles/chronicle.editor |
Editor da API Chronicle | Modificar o acesso ao aplicativo Google Security Operations e aos recursos da API. |
roles/chronicle.viewer |
Leitor da API Chronicle | Acesso somente leitura ao aplicativo Google Security Operations e aos recursos da API |
roles/chronicle.limitedViewer |
Leitor limitado da API Chronicle | Concede acesso somente leitura ao aplicativo e aos recursos da API do Google Security Operations, exceto regras do mecanismo de detecção e retrohunts. |
Permissões do Google SecOps no IAM
As permissões do Google SecOps correspondem de um para um aos métodos da API do Google SecOps. 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 Google SecOps usadas com o IAM estão na fase de lançamento Alfa.
Os nomes de permissão 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 Google SecOps.dashboards
: o nome do elemento.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 no
Google SecOps. Todas as permissões do Google SecOps têm o nome de serviço chronicle
.
Atribuir funções a usuários e grupos
As seções a seguir apresentam 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, os papéis e as permissões predefinidos do Google SecOps vão estar disponíveis no IAM, e você poderá criar políticas para atender aos requisitos da organização.
Se você tiver uma instância do Google SecOps recém-criada, 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 controlar o acesso a recursos para saber como migrar a instância para o IAM.
Exemplo: atribuir o papel de administrador do IAM do projeto a 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 papel do IAM do projeto. O usuário pode administrar todos os papéis e permissões do Google SecOps no projeto e realizar tarefas concedidas pelo papel Administrador de IAM do projeto.
Atribuir o papel usando o console do Google Cloud
As etapas a seguir descrevem como conceder uma função a um usuário usando o console do Google Cloud.
- Abra o console do Google Cloud.
- Selecione o projeto vinculado ao Google SecOps.
- Selecione IAM e administrador.
- Selecione Conceder acesso. O botão Conceder acesso a
<project>
vai aparecer. - Na seção Adicionar participantes, insira o endereço de e-mail da conta gerenciada no campo Novos participantes.
- Na seção Atribuir papéis, no menu Selecionar um papel, selecione 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.
Atribuir o papel usando a Google Cloud CLI
O comando de exemplo a seguir demonstra como conceder a um usuário o papel 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 Vincular uma instância do Google SecOps ao projeto do 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 comando de exemplo a seguir demonstra como conceder a um grupo o papel 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 Vincular uma instância do Google SecOps ao projeto do 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 é vinculado a uma instância do Google SecOps e executa serviços não relacionados a ele. Por exemplo, um recurso do Compute Engine usado para outra finalidade.
Nesse caso, conceda o papel Administrador do IAM do projeto a um usuário para que ele possa conceder e modificar as vinculações de papel do IAM do projeto e configurar o Google SecOps. Você também vai adicionar IAMs à vinculação de função para limitar o acesso apenas a 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 o papel usando o console do Google Cloud
As etapas a seguir descrevem como conceder uma função a um usuário usando o console do Google Cloud.
- Abra o console do Google Cloud.
- Selecione o projeto vinculado ao Google SecOps.
- Selecione IAM e administrador.
- Selecione Conceder acesso. O botão Conceder acesso a
<project>
vai aparecer. - Na caixa de diálogo Conceder acesso a
<project>
, na seção Adicionar participantes, digite o endereço de e-mail do usuário no campo Novos participantes. - Na seção Atribuir papéis, no menu Selecionar um papel, selecione 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.
Atribuir o papel 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 Vincular uma instância do Google SecOps ao projeto do 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 comando de exemplo a seguir demonstra como conceder a um grupo o papel 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 Vincular uma instância do Google SecOps ao projeto do 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 Google SecOps.
Atribuir o papel usando o console do 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>
é aberta. - Na seção Adicionar principais, no campo Novos participantes, insira o endereço de e-mail do usuário.
- Na seção Atribuir papéis, no menu Selecionar uma função, selecione Editor da API Google SecOps.
- 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.
Atribuir o papel usando a Google Cloud CLI
O comando de exemplo abaixo 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 Vincular uma instância do Google SecOps ao projeto do 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 comando de exemplo a seguir demonstra como conceder a um usuário o papel
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 Vincular uma instância do Google SecOps ao projeto do 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 atendam ao caso de uso da sua organização, crie uma função personalizada e atribua as 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 a seguir 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 abaixo 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 Vincular uma instância do Google SecOps ao projeto do 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 do papel personalizado, conforme definido no arquivo YAML.
Atribua o papel personalizado usando a Google Cloud CLI.
O comando de exemplo 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 Vincular uma instância do Google SecOps ao projeto do 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 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 o identificador de grupo criado na federação de identidade 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 comando de exemplo a seguir demonstra como conceder a um grupo de usuários o papel personalizado
limitedAdmin
ao usar Cloud Identity ou o .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 Vincular uma instância do Google SecOps ao projeto do 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 de grupo criado na federação de identidade 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 o identificador de grupo criado na federação de identidade 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 a geração de registros de auditoria
As ações do usuário no Google SecOps e as solicitações à API Google SecOps 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 realizar uma pesquisa.
- No console do Google Cloud, use o Explorador de registros para conferir 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 abaixo um exemplo de registro escrito quando o usuário alice@example.com
conferiu 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
Use as informações nestas seções para migrar uma instância do SIEM do Google Security Operations do sistema RBAC herdado para o RBAC de recursos.
Depois de migrar para a 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 recurso
Embora os nomes de papéis predefinidos do RBAC de recursos sejam semelhantes aos papéis RBAC legados, eles não oferecem acesso a recursos idênticos aos papéis RBAC legados. As permissões atribuídas a cada função RBAC de recurso predefinida são um pouco diferentes. Para mais informações, consulte Como os papéis do IAM do RBAC de recursos são mapeados para papéis do RBAC legados.
Você pode usar as funções predefinidas do Google SecOps como estão, mudar as permissões definidas em cada função predefinida ou criar funções personalizadas e atribuir um conjunto diferente de permissões.
Depois de migrar a instância do Google SecOps, você gerencia papéis, permissões e políticas de RBAC de recursos usando o IAM no console do Google Cloud. As páginas de aplicativos do Google SecOps a seguir foram modificadas para direcionar os usuários ao console do Google Cloud:
- Usuários e grupos
- Papéis
No RBAC legado, cada permissão é descrita pelo nome do recurso e por uma ação. As permissões do IAM no RBAC de recursos são descritas pelo nome e método do recurso. 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 nos painéis. A RBAC de recursos oferece permissões semelhantes do IAM com uma
dashboards.list
adicional, 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 recurso RBAC | 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. Esse recurso está disponível apenas na RBAC. | chronicle.dashboards.list |
Listar os 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 |
Atualizar um feed. |
Feeds | EnableFeed | chronicle.feeds.update |
Atualizar um feed. |
Feeds | DisableFeed | chronicle.feeds.update |
Atualizar um feed. |
Feeds | ListFeeds | chronicle.feeds.view |
Retorne um ou mais feeds. |
Feeds | GetFeed | chronicle.feeds.view |
Retorne um ou mais feeds. |
Etapas para migrar as permissões de controle de acesso
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 do RBAC de recursos equivalentes ao seu 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 são mapeados para papéis do RBAC legados
As informações de mapeamento nesta seção ilustram algumas das diferenças no acesso a papéis predefinidos antes e depois da migração. Embora os nomes de papéis do RBAC legado sejam semelhantes aos papéis predefinidos do IAM do RBAC, as ações a que cada um deles dá acesso são diferentes. Esta seção apresenta uma introdução a algumas dessas diferenças.
Leitor limitado da API Chronicle
Essa função concede acesso somente leitura ao aplicativo Google SecOps e aos recursos da API,
exceto regras do mecanismo de detecção e retrohunts. O nome do papel é chronicle.limitedViewer
.
Para uma lista detalhada das permissões, consulte o Visualizador da API Chronicle.
Leitor da API Chronicle
Esse papel fornece acesso somente leitura ao aplicativo Google SecOps e aos recursos da API. O nome do papel é chronicle.viewer
.
As permissões a seguir ilustram algumas das diferenças entre funções RBAC legados e RBAC de recursos semelhantes. 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
Esse papel permite que os usuários modifiquem o acesso aos recursos de aplicativo e API do Google SecOps. O nome do papel é chronicle.editor
.
As permissões a seguir ilustram algumas das diferenças entre as funções semelhantes do RBAC herdado e do RBAC de recurso. Para uma lista detalhada das permissões, consulte o 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
Esse papel concede acesso total ao aplicativo Google SecOps e aos serviços de API,
incluindo as configurações globais. O nome do papel é chronicle.admin
.
As permissões a seguir ilustram algumas das diferenças entre as funções semelhantes do RBAC herdado e do RBAC 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. |