Visão geral do RBAC de dados
O controle de acesso baseado em função de dados (RBAC de dados) é um modelo de segurança que usa funções individuais do usuário para restringir o acesso dele aos dados em uma organização. Com o RBAC de dados, os administradores podem definir escopos e atribuí-los aos usuários para que eles acessem apenas os dados necessários .
Esta página fornece uma visão geral do controle de acesso baseado em função (RBAC) de dados e ajuda a entender como os rótulos e escopos trabalham juntos para definir 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íficas de uma sistema. Ele determina quais recursos são acessíveis aos usuários com base nas papéis de segurança na nuvem. 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 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 informações ou dados específicos em um sistema. Ela controla se um usuário pode visualizar, editar ou excluir dados com base em suas funções. Para exemplo, em um sistema de gestão de relacionamento com o cliente (CRM), um gerente de vendas pode ter acesso aos dados de contato do cliente, mas não dados financeiros, enquanto um gerente financeiro pode ter acesso a esses dados mas não os 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 determinado (recurso de controle de acesso baseado em função) e, dentro desse recurso, o acesso a recursos os dados podem ser restritos com base na função (RBAC de dados).
Planejar a implementação
Para planejar sua implementação, consulte a lista de soluções de SecOps do Google permissões e papéis predefinidos do Google SecOps de acordo com os requisitos da organização. Elabore uma estratégia para definir escopos que as necessidades da 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 organização exigir políticas do IAM diferentes das 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 deles a dados específicos. A página as permissões associadas ao acesso com escopo estão detalhadas na tabela a seguir.
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 escopos e atribuí-los aos usuários para que controlem
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 é preciso atribuir a permissão do Chronicle
Papel de acesso restrito a dados para usuários que precisam de acesso global aos dados.
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 | 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 em recursos |
Acesso global personalizado | Permissão chronicle.globalDataAccessScopes.permit e função personalizada
|
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 ter acesso a todos os dados. É possível atribuir um ou mais papéis com base nas permissões necessárias.
Acesso somente leitura com escopo predefinido:esse acesso é para usuários que precisam de acesso somente leitura acesso. O papel de acesso restrito a dados da API Chronicle identifica um usuário como usuário com escopo. O papel de Leitor de acesso a dados restrito da API Chronicle oferece acesso o acesso dos usuários aos recursos.
Acesso com escopo personalizado:o papel de acesso restrito a dados da API Chronicle
que identifica um usuário como um usuário com escopo. O papel personalizado especifica os recursos que
que o usuário pode acessar. Os escopos adicionados ao acesso restrito a dados da API Chronicle
de rede especificar os dados que os usuários podem acessar nos atributos.
Para garantir que os escopos personalizados do RBAC funcionem corretamente, não inclua o
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 acesso
permissões nos recursos atribuídos a eles. 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 ingestão, os metadados são atribuídos aos dados na forma de rótulos como namespace (opcional), metadados de ingestão (opcional), e o tipo de registro (obrigatório). Esses são rótulos padrão aplicados aos dados durante a transferência. Além disso, é possível 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 de acesso concedem aos usuários acesso aos 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 marcadores 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, permita rótulos de acesso do mesmo tipo (por exemplo, log type) são combinados usando o operador OR, enquanto os rótulos de diferentes tipos (por exemplo, o 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 negação de acesso são aplicados em um escopo, o acesso é negado se eles corresponderem a QUALQUER um desses rótulos.
Por exemplo, imagine um sistema do Cloud Logging que categoriza registros usando o seguintes tipos de rótulo:
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 |
Severity | Aviso | Crítico |
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"
- Registro de acesso do banco de dados com gravidade: aviso
- Registro de firewall do App2 com gravidade: crítica
Visibilidade de dados em eventos aprimorados
As ocorrências de segurança aprimoradas foram aprimoradas com informações e contexto além do que os dados brutos de registros contêm. Eventos enriquecidos são acessíveis em um escopo somente se o evento base dele for acessível dentro do escopo e nenhum dos rótulos enriquecidos inclui os rótulos de negação do escopo.
Por exemplo, considere um registro bruto que indica uma tentativa de login malsucedida de um endereço IP
endereço e tem um marcador 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 está integrado com os 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.