RBAC, DAC e a hierarquia de objetos protegidos

Gerenciamento, Governança e Colaboração no Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Apresentando a Claro

  • App global de construção de crédito Logo falso da Claro
Gerenciamento, Governança e Colaboração no Snowflake

O problema de acesso

access_control.png

Gerenciamento, Governança e Colaboração no Snowflake

Os blocos de construção

Um privilégio é uma permissão para agir:

  • SELECT: ler
  • INSERT: escrever
  • CREATE: criar
Termo Definição
Privilégio Permissão para executar uma ação (ex.: SELECT, INSERT, CREATE)
Objeto Qualquer alvo de privilégio (tabela, schema, database, warehouse)
Papel Entidade que recebe privilégios; pode ser concedida a usuários ou outros papéis
Usuário Pessoa ou conta de serviço que se conecta ao Snowflake e possui papéis
Gerenciamento, Governança e Colaboração no Snowflake

Controle de acesso baseado em papéis (RBAC): como funciona

 

Fluxo da esquerda para a direita de privilégio, papel e usuário

Gerenciamento, Governança e Colaboração no Snowflake

Implementando RBAC

Conceder privilégio a um papel

GRANT SELECT ON TABLE core.credit_scores
  TO ROLE analyst_role;

Atribuir papel a um usuário

GRANT ROLE analyst_role TO USER maria;
1 [Snowflake: Access Control Privileges](https://docs.snowflake.com/en/user-guide/security-access-control-privileges)
Gerenciamento, Governança e Colaboração no Snowflake

Controle de Acesso Discricionário (DAC)

Partição mostrando o DAC antes e depois da transferência

  • Todo objeto tem um dono = um papel, não uma pessoa
  • RBAC define a estrutura de papéis
  • DAC define o que cada papel controla
Gerenciamento, Governança e Colaboração no Snowflake

Transferindo a propriedade

Transferir propriedade para outro papel

-- Dono atual: SYSADMIN
GRANT OWNERSHIP ON TABLE core.credit_scores
  TO ROLE data_engineer
  REVOKE CURRENT GRANTS;
Gerenciamento, Governança e Colaboração no Snowflake

A hierarquia de objetos protegidos

Hierarquia de objetos protegidos

Gerenciamento, Governança e Colaboração no Snowflake

Aplicando USAGE em todos os níveis

GRANT USAGE ON DATABASE <your_database>
  TO ROLE analyst_role;

GRANT USAGE ON SCHEMA core
  TO ROLE analyst_role;

GRANT SELECT ON TABLE core.credit_scores
  TO ROLE analyst_role;
Gerenciamento, Governança e Colaboração no Snowflake

Papéis definidos pelo sistema

 

Papel Responsabilidade
ACCOUNTADMIN Controle total da conta
SYSADMIN Cria bancos de dados e warehouses
SECURITYADMIN Políticas de rede e de máscara; gestão de papéis
USERADMIN Cria usuários e atribui papéis
PUBLIC Papel padrão de todo usuário
1 [Snowflake: Access Control Overview](https://docs.snowflake.com/en/user-guide/security-access-control-overview)
Gerenciamento, Governança e Colaboração no Snowflake

Vamos praticar!

Gerenciamento, Governança e Colaboração no Snowflake

Preparing Video For Download...