Visão geral do controle de acesso baseado em função (RBAC) de dados

O controle de acesso baseado em função de dados (RBAC de dados) é um modelo de segurança que usa papéis de usuários individuais para restringir o acesso do usuário aos dados em uma organização. Com o RBAC de dados, os administradores podem definir escopos e atribuí-los aos usuários para garantir que eles possam acessar apenas os dados necessários para suas funções de trabalho.

Nesta página, você encontra uma visão geral do RBAC de dados e ajuda a entender como rótulos e escopos funcionam juntos para definir permissões de acesso a dados.

Diferença entre o RBAC de dados e o RBAC de recurso

O RBAC de dados e o RBAC de recurso são métodos para controlar o acesso em um sistema, mas se concentram em aspectos diferentes.

O RBAC de recurso controla o acesso a funcionalidades ou recursos específicos em um sistema. Ele determina quais recursos são acessíveis aos usuários com base nos papéis deles. Por exemplo, um analista júnior pode ter acesso apenas para visualizar painéis, mas não para criar ou modificar regras de detecção, enquanto um analista sênior pode ter permissões para criar e gerenciar regras de detecção. Para mais informações sobre o recurso RBAC, consulte Configurar o controle de acesso a recursos usando o IAM.

O RBAC de dados controla o acesso a informações ou dados específicos em um sistema. Ela controla se um usuário pode ver, editar ou excluir dados com base nas funções dele. Por exemplo, em um sistema de gestão de relacionamento com o cliente (CRM), um representante de vendas pode ter acesso aos dados de contato do cliente, mas não aos dados financeiros, enquanto um gerente financeiro pode ter acesso aos dados financeiros, mas não aos dados de contato do cliente.

O RBAC de dados e o RBAC de recurso costumam ser usados juntos para fornecer um sistema de controle de acesso abrangente. Por exemplo, um usuário pode ter permissão para acessar um recurso específico (RBAC de recurso) e, nesse recurso, o acesso dele a dados específicos pode ser restrito com base no papel dele (RBAC de dados).

Planejar a implementação

Para planejar a implementação, consulte a lista de permissões e papéis predefinidos do Google SecOps em relação aos requisitos da sua organização. Elabore uma estratégia para definir os escopos necessários para a organização e rotular os dados recebidos. Identifique quais membros da organização precisam ter acesso aos dados associados a esses escopos. Se a organização exigir políticas de IAM diferentes dos papéis predefinidos do Google SecOps, crie papéis personalizados para atender a esses requisitos.

Papéis do usuário

Os usuários podem ter acesso a dados com escopo (usuários com escopo) ou acesso a dados globais (usuários globais).

  • Os usuários com escopo têm acesso limitado aos dados com base nos escopos atribuídos. Esses escopos restringem a visibilidade e as ações a dados específicos. As permissões específicas associadas ao acesso com escopo estão detalhadas na tabela a seguir.

  • Os usuários globais não têm escopos atribuídos e têm acesso irrestrito a todos os dados no Google SecOps. As permissões específicas associadas ao acesso global estão detalhadas na tabela a seguir.

Os administradores do RBAC de dados podem criar escopos e atribuí-los a usuários para controlar o acesso aos dados no Google SecOps. Para restringir um usuário a determinados escopos, você precisa atribuir a ele o papel de acesso a dados restritos da API Chronicle (roles/chronicle.restrictedDataAccess) com um papel predefinido ou personalizado. O papel de acesso restrito a dados da API Chronicle identifica um usuário como um usuário com escopo. Você não precisa atribuir o papel de acesso a dados restrito do Chronicle a usuários que precisam de acesso a dados globais.

Os seguintes papéis podem ser atribuídos aos usuários:

Tipo de acesso Papéis Permissões
Acesso global predefinido Os usuários globais podem receber qualquer um dos papéis predefinidos do IAM.
Acesso somente leitura com escopo predefinido Leitor de acesso a dados restritos da API Chronicle (roles/chronicle.restrictedDataAccess) e de acesso a dados restritos da API Chronicle (roles/chronicle.restrictedDataAccessViewer) Leitor de acesso a dados restritos da API Chronicle
Acesso com escopo personalizado Acesso restrito a dados da API Chronicle (roles/chronicle.restrictedDataAccess) e papel personalizado Permissões personalizadas em recursos
Acesso global personalizado Permissão chronicle.globalDataAccessScopes.permit e papel personalizado Permissões globais nos recursos

Veja a seguir uma descrição de cada tipo de acesso apresentado na tabela:

Acesso global predefinido:esse acesso é normalmente exigido para usuários que precisam de acesso a todos os dados. É possível atribuir um ou mais papéis a um usuário com base nas permissões necessárias.

Acesso somente leitura com escopo predefinido:esse acesso é destinado a usuários que precisam de acesso somente leitura. O papel de acesso restrito a dados da API Chronicle identifica um usuário como um usuário com escopo. O papel de Leitor de acesso a dados restrito da API Chronicle oferece acesso de leitura aos usuários nos recursos.

Acesso com escopo personalizado:o papel de acesso restrito a dados da API Chronicle identifica um usuário como um usuário com escopo. O papel personalizado especifica os recursos que o usuário pode acessar. Os escopos adicionados ao papel de acesso restrito a dados da API Chronicle especificam os dados que os usuários podem acessar nos recursos.

Acesso global personalizado:esse acesso é para usuários que precisam de permissões irrestritas nos recursos atribuídos. Para conceder acesso global personalizado a um usuário, especifique a permissão chronicle.globalDataAccessScopes.permit, além do papel personalizado atribuído ao usuário.

Controle de acesso com escopos e rótulos

O Google SecOps permite controlar o acesso aos dados dos usuários usando escopos. Os escopos são definidos com a ajuda de rótulos que definem os dados a que um usuário dentro do escopo tem acesso. Durante a ingestão, os metadados são atribuídos aos dados na forma de rótulos, como namespace (opcional), metadados de ingestão (opcional) e tipo de registro (obrigatório). Esses são rótulos padrão aplicados aos dados durante a ingestão. Além disso, é possível criar rótulos personalizados. É possível usar rótulos padrão e personalizados para definir os escopos e o nível de acesso a dados que eles definirão.

Visibilidade de dados com rótulos de permissão e negação

Cada escopo contém um ou mais rótulos permitir acesso e, opcionalmente, negar acesso. A permissão de rótulos de acesso concede aos usuários acesso aos dados associados ao rótulo. Os rótulos de acesso de negação negam aos usuários acesso aos dados associados ao rótulo. Os rótulos de negação de acesso substituem os de permissão de acesso para restringir o acesso do usuário.

Em uma definição de escopo, os rótulos de permissão de acesso do mesmo tipo (por exemplo, tipo de registro) são combinados usando o operador OR, enquanto os rótulos de tipos diferentes (por exemplo, tipo de registro e um rótulo personalizado) são combinados usando o operador AND. Os marcadores de acesso de negação são combinados usando o operador OR. Quando vários rótulos de acesso de negação são aplicados em um escopo, o acesso é negado se correspondem a QUALQUER um desses rótulos.

Por exemplo, considere um sistema do Cloud Logging que categoriza registros usando os seguintes tipos de rótulos:

Tipo de registro:acesso, sistema, firewall

Namespace:App1, App2, Database

Gravidade:crítica, alerta

Considere um escopo chamado Registros restritos que tem o seguinte acesso:

Tipo de rótulo Valores permitidos Valores negados
Tipo de registro Acesso, Firewall Sistema
Namespace App1 App2, banco de dados
Gravidade Aviso Crítica

A definição do escopo tem esta aparência:

Permitir:(Log type: "Access" OR "Firewall") AND (Namespace: "App1") AND (Severity: "Warning")

Negar: Log type: "System" OR Namespace: App2 OR Namespace: Database OR Severity: "Critical"

Exemplos de registros que correspondem ao escopo:

  • Registro de acesso do App1 com "Gravidade: aviso"
  • Registro de firewall do App1 com gravidade: aviso

Exemplos de registros que não correspondem ao escopo:

  • Registro do sistema do App1 com "Gravidade: aviso"
  • Acessar o registro do banco de dados com gravidade: aviso
  • Registro de firewall do App2 com gravidade: crítica

Visibilidade de dados em eventos aprimorados

Os eventos enriquecidos são eventos de segurança aprimorados com mais contexto e informações além do que os dados de registro brutos contêm. Os eventos enriquecidos só poderão ser acessados em um escopo se o evento base estiver acessível dentro do escopo e se algum dos rótulos enriquecidos não incluir os rótulos de negação do escopo.

Por exemplo, considere um registro bruto que indica uma tentativa de login com falha de um endereço IP e tem um rótulo enriquecido user_risk: high (indica um usuário de alto risco). Um usuário com um escopo que tenha o rótulo de negação user_risk: high não tem acesso às tentativas de login com falha de usuários de alto risco.

Impacto do RBAC de dados nos recursos das Operações de segurança do Google

Depois que o RBAC de dados for configurado, os usuários começarão a ver dados filtrados nos recursos do Google Security Operations. O impacto depende de como o recurso está integrado aos dados. Para entender como o RBAC de dados afeta cada recurso, consulte Impacto dos recursos de Operações de segurança do Google para RBAC de dados.

A seguir