Visão geral do RBAC de dados
O controle de acesso baseado em função de dados (data RBAC) é um modelo de segurança que usa funções individuais para restringir o acesso dos usuários aos dados em uma organização. Com o RBAC de dados, os administradores podem definir e atribuir escopos aos usuários para garantir que eles acessem apenas os dados necessários para as funções de trabalho.
Esta página oferece uma visão geral do RBAC de dados e ajuda a entender como os rótulos e escopos funcionam juntos para definir as permissões de acesso a dados.
Diferença entre o RBAC de dados e o RBAC de recursos
O RBAC de dados e o RBAC de recursos são métodos para controlar o acesso em um sistema, mas eles se concentram em aspectos diferentes.
O RBAC de recursos controla o acesso a recursos ou funcionalidades específicos em um sistema. Ele determina quais recursos são acessíveis aos usuários com base nas funções 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 as permissões para criar e gerenciar regras de detecção. Para mais informações sobre o RBAC de recursos, consulte Configurar o controle de acesso a recursos usando o IAM.
O RBAC de dados controla o acesso a dados ou informações específicos em um sistema. Ele controla se um usuário pode acessar, 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 recursos 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, dentro desse recurso, o acesso a dados específicos pode ser restrito com base na função (RBAC de dados).
Planejar a implementação
Para planejar sua implementação, consulte a lista de papéis e permissões predefinidos do Google SecOps em relação aos requisitos da sua organização. Elabore uma estratégia para definir os escopos necessários para sua organização e rotular os dados recebidos. Identifique quais membros da sua organização precisam ter acesso aos dados associados a esses escopos. Se a sua organização exigir políticas do 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 específicos (usuários com escopo) ou 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 são detalhadas na tabela a seguir.
Os administradores do RBAC de dados podem criar e atribuir escopos aos usuários para controlar
o acesso aos dados no Google SecOps. Para restringir um usuário a determinados
escopos, é necessário atribuir a ele o papel de acesso restrito a dados da API Chronicle
(roles/chronicle.restrictedDataAccess
) com
um papel predefinido ou personalizado. A função de acesso restrito a dados da API Chronicle identifica um usuário como um usuário com escopo. Não é necessário atribuir o papel de acesso restrito a dados do Chronicle a usuários que precisam de acesso global a dados.
As funções a seguir podem ser atribuídas 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 | Acesso a dados restritos da API Chronicle (roles/chronicle.restrictedDataAccess ) e leitor de acesso a dados restritos da API Chronicle (roles/chronicle.restrictedDataAccessViewer )
|
Leitor de acesso a dados restritos da API Chronicle |
Acesso personalizado | Acesso restrito a dados da API Chronicle (roles/chronicle.restrictedDataAccess ) e função personalizada
|
Permissões personalizadas nos recursos |
Acesso global personalizado | Permissão chronicle.globalDataAccessScopes.permit e função personalizada
|
Permissões globais nos recursos |
Confira a descrição de cada tipo de acesso apresentado na tabela:
Acesso global predefinido:esse acesso geralmente é necessário para usuários que precisam acessar 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:é para usuários que precisam de acesso somente leitura. A função 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 restritos da API Chronicle concede 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. A função personalizada 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.
Para garantir que os escopos personalizados do RBAC funcionem corretamente, não inclua as permissões
chronicle.DataAccessScopes.permit
ou chronicle.globalDataAccessScopes.permit
ao criar os papéis personalizados. Essas permissões podem ser incluídas
se você tiver usado o editor predefinido da API Chronicle ou o administrador da API Chronicle como ponto de partida para suas funções personalizadas.
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 da função personalizada atribuída ao usuário.
Controle de acesso com escopos e rótulos
O Google SecOps permite controlar o acesso dos usuários aos dados 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 transferência, os metadados são atribuídos aos dados na forma de rótulos, como namespace (opcional), metadados de transferência (opcional) e tipo de registro (obrigatório). Esses são rótulos padrão aplicados aos dados durante a transferência. Além disso, você pode criar rótulos personalizados. É possível usar rótulos padrão e personalizados para definir seus escopos e o nível de acesso a dados que eles definem.
Visibilidade de dados com rótulos de permissão e negação
Cada escopo contém um ou mais rótulos allow access e, opcionalmente, deny access. Os rótulos de permissão permitem que os usuários acessem os dados associados ao rótulo. Os rótulos de negação de acesso negam aos usuários o acesso aos dados associados ao rótulo. Os rótulos de negação de acesso substituem os rótulos de permissão de acesso na restrição do acesso do usuário.
Em uma definição de escopo, os rótulos de acesso do mesmo tipo (por exemplo, tipo de registro) são combinados usando o operador OR, enquanto rótulos de tipos diferentes (por exemplo, tipo de registro e um rótulo personalizado) são combinados usando o operador AND. Os rótulos de negação de acesso são combinados usando o operador OU. Quando vários rótulos de negação de acesso são aplicados em um escopo, o acesso é negado se eles corresponderem 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, aviso
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ítico |
A definição de escopo é assim:
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:
- Acessar o registro do App1 com a gravidade "Warning"
- 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
- Registro de acesso do banco de dados com gravidade: aviso
- Registro de firewall do App2 com gravidade: crítica
Visibilidade de dados em eventos enriquecidos
Eventos enriquecidos são eventos de segurança aprimorados com mais contexto e informações além do que os dados brutos do registro contêm. Os eventos enriquecidos só são acessíveis em um escopo se o evento base for acessível nele e nenhum dos rótulos enriquecidos 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 tem o rótulo de negação user_risk: high
não pode ver tentativas de login
falhadas 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 é configurado, os usuários começam a ver dados filtrados nos recursos de operações de segurança do Google. O impacto depende de como o recurso é integrado aos dados. Para entender como o RBAC de dados afeta cada recurso, consulte Impacto do RBAC de dados nos recursos de operações de segurança do Google.