Compartilhar via


Autorização para análise em escala de nuvem no Azure

A autorização é o ato de conceder a uma parte autenticada permissão para executar uma ação. O princípio fundamental do controle de acesso é dar aos usuários apenas a quantidade de acesso de que eles precisam para executar seus trabalhos e permitir apenas determinadas ações em um escopo específico. A segurança baseada em função corresponde ao controle de acesso e é usada por muitas organizações para controlar o acesso com base em funções ou funções de trabalho definidas em comparação com usuários individuais. Em seguida, os usuários recebem uma ou mais funções de segurança, cada uma das quais recebe permissões autorizadas para executar tarefas específicas.

Quando você usa a ID do Microsoft Entra como provedor de identidade centralizada, a autorização para acessar serviços de dados e o armazenamento pode ser concedida por usuário ou por aplicativo e é baseada em uma identidade do Microsoft Entra.

Autorização do serviço de dados

RBAC (Controle de Acesso Baseado em Função) do Azure e ACLs (Listas de Controle de Acesso) desempenham funções cruciais no gerenciamento do acesso e na garantia de segurança. O RBAC do Azure e as ACLs exigem que o usuário (ou aplicativo) tenha uma identidade na ID do Microsoft Entra. Na análise em escala de nuvem, o RBAC é eficaz para bancos de dados e o Azure Data Lake Storage, enquanto as ACLs são usadas principalmente no Azure Data Lake Storage para fornecer controle de acesso refinado nos níveis de arquivo e diretório. As ACLs complementam o RBAC oferecendo permissões mais detalhadas dentro da hierarquia de armazenamento.

O RBAC do Azure oferece funções internas como "Proprietário", "Colaborador" e "Leitor", mas você também pode criar funções personalizadas adaptadas a necessidades específicas. As seguintes funções internas são fundamentais para todos os tipos de recursos do Azure, incluindo serviços de dados do Azure:

Função Descrição
Proprietário Essa função tem acesso total ao recurso e pode gerenciar tudo sobre o recurso, incluindo o direito de conceder acesso a ele.
Contribuidor Essa função pode gerenciar o recurso, mas não pode conceder acesso a ele.
Leitor Essa função pode exibir o recurso e as informações sobre ele (exceto informações confidenciais, como chaves de acesso ou segredos), mas eles não podem fazer nenhuma alteração no recurso.

Nota

Alguns serviços têm funções RBAC específicas, como Contribuidor de dados do blob de armazenamento ou Contribuidor do Data Factory, o que significa que funções RBAC específicas devem ser usadas para esses serviços. RBAC é um modelo aditivo em que adicionar atribuições de função é uma permissão ativa. O RBAC também dá suporte a atribuições de negação, que têm precedência sobre atribuições de função.

Dica

Ao planejar uma estratégia de controle de acesso, é recomendável conceder aos usuários apenas a quantidade de acesso necessária para executar seus trabalhos e permitir apenas determinadas ações em um escopo específico.

Controle de acesso nos Bancos de Dados do Azure

O RBAC nos bancos de dados do Azure gira em torno de funções, escopos e permissões. O Azure fornece várias funções internas adaptadas para o gerenciamento de banco de dados, como o Colaborador do SQL Server, que permite o gerenciamento de servidores e bancos de dados SQL, e o Colaborador do BD SQL, que permite o gerenciamento de bancos de dados SQL, mas não o próprio servidor. Além disso, as funções personalizadas podem ser criadas com permissões específicas para atender aos requisitos exclusivos.

As funções podem ser atribuídas em escopos diferentes, incluindo o nível de assinatura, em que as funções se aplicam a todos os recursos dentro da assinatura; o nível do grupo de recursos, em que as funções se aplicam a todos os recursos dentro do grupo de recursos especificado; e o nível de recurso, em que as funções podem ser atribuídas diretamente a bancos de dados ou servidores individuais, fornecendo controle preciso. As permissões definem as ações que uma função pode executar, como ler, gravar, excluir ou gerenciar configurações de segurança, e essas permissões são agrupadas em funções para simplificar o gerenciamento.

Em do Banco de Dados SQL do Azure, as funções podem ser atribuídas a usuários, grupos ou aplicativos para controlar o acesso. Por exemplo, um administrador de banco de dados pode receber a função "Colaborador do SQL Server" para gerenciar o servidor e os bancos de dados. Funções como "Colaborador do Banco de Dados SQL" permitem que os usuários criem, atualizem e excluam bancos de dados, enquanto a função "SQL Security Manager" se concentra nas configurações de segurança.

Para do Azure Cosmos DB, as funções podem ser atribuídas para gerenciar o acesso a contas, bancos de dados e contêineres do Cosmos DB. Funções internas como "Leitor de Conta do Cosmos DB" e "Colaborador da Conta do Cosmos DB" fornecem diferentes níveis de acesso.

Em Banco de Dados do Azure para MySQL, PostgreSQL e MariaDB, você pode atribuir funções para gerenciar servidores de banco de dados e bancos de dados individuais. Funções como "Colaborador" e "Leitor" podem ser usadas para controlar o acesso.

Para obter mais informações, confira funções internas do Azure para Bancos de Dados.

Controle de acesso no Azure Data Lake Storage

O RBAC do Azure permite que você dê acesso em nível geral aos dados da conta de armazenamento, como acesso de leitura ou gravação a todos os dados em uma conta de armazenamento. As ACLs permitem que você conceda acesso "refinado", como acesso de gravação a um diretório ou arquivo específico.

Em muitos cenários, RBAC e ACLs são usados juntos para fornecer controle de acesso abrangente no ADLS. O RBAC pode ser usado para gerenciar o acesso de alto nível aos dados, garantindo que somente usuários autorizados possam acessar o próprio serviço. As ACLs podem ser aplicadas dentro da conta de armazenamento para controlar o acesso a arquivos e diretórios específicos, fornecendo uma camada extra de segurança.

O ABAC (controle de acesso baseado em atributo do Azure) se baseia no RBAC do Azure adicionando condições de atribuição de função com base em atributos no contexto de ações específicas. Ele essencialmente permite que você refine as atribuições de RBAC adicionando condições. Por exemplo, você pode conceder acesso de leitura ou gravação a todos os objetos de dados em uma conta de armazenamento que tenha uma marca específica.

As funções a seguir permitem que uma entidade de segurança acesse dados em uma conta de armazenamento.

Função / Cargo Descrição
Proprietário de Dados do Blob de Armazenamento Acesso completo aos contêineres e dados do Armazenamento de Blobs. Esse acesso permite que a entidade de segurança defina o proprietário de um item e modifique as ACLs de todos os itens.
Contribuidor de dados de blob de armazenamento Acesso de leitura, gravação e exclusão aos contêineres e blobs do Armazenamento de Blobs. Esse acesso não permite que a entidade de segurança defina a propriedade de um item, mas pode modificar a ACL de itens pertencentes à entidade de segurança.
Leitor de Dados do Blob de Armazenamento Ler e listar contêineres de blobs do Armazenamento de Blobs.

Funções como Proprietário, Colaborador, Leitor e Colaborador da Conta de Armazenamento permitem que uma entidade de segurança gerencie uma conta de armazenamento, mas não forneça acesso aos dados nessa conta. No entanto, essas funções (excluindo Leitor) podem obter acesso às chaves de armazenamento, que podem ser usadas em várias ferramentas de cliente para acessar os dados. Para obter mais informações, consulte modelo de controle de acesso no Azure Data Lake Storage.

Controle de acesso no Azure Databricks

O Azure Databricks vem com sistemas de controle de acesso projetados para gerenciar o acesso no ambiente do Databricks, com foco em objetos protegíveis e governança de dados. Os três principais sistemas de controle de acesso no Azure Databricks são:

  • Listas de controle de acesso: usadas para configurar a permissão para acessar objetos do espaço de trabalho, como notebooks. Para obter mais informações, confira Listas de controle de acesso.
  • Controle de acesso por função na conta: usado para configurar permissões para utilizar objetos no nível de conta, como principais de serviço e grupos.
  • Unity Catalog: usado para proteger e gerenciar objetos de dados.

Além do controle de acesso em objetos, há funções internas na plataforma do Azure Databricks. Usuários, entidades de serviço e grupos podem receber funções. Para obter mais informações, confira Funções de administrador do Databricks.

Práticas recomendadas para autorização na análise em escala de nuvem

Este guia fornece as práticas recomendadas para implementar o RBAC (controle de acesso baseado em função) em ambientes de análise em escala de nuvem. Ele aborda os princípios gerais do RBAC, o controle de acesso ao banco de dados e as práticas recomendadas de controle de acesso do data lake para garantir o gerenciamento seguro e eficiente dos recursos.

Práticas recomendadas gerais do RBAC para análise em escala de nuvem

As práticas recomendadas a seguir podem ajudá-lo a começar a usar o RBAC:

  • usar funções RBAC para gerenciamento de serviços e operações e usar funções específicas do serviço para acesso a dados e tarefas específicas à carga de trabalho: use funções RBAC em recursos do Azure para conceder permissão a entidades de segurança que precisam executar tarefas de gerenciamento de recursos e operações. As entidades de segurança que precisam acessar dados no armazenamento não exigem uma função RBAC no recurso porque não precisam gerenciá-los. Em vez disso, conceda permissão diretamente a objetos de dados. Por exemplo, conceda acesso de leitura a uma pasta no Azure Data Lake Storage Gen2 ou a um usuário de banco de dados contido e permissões de tabela em um banco de dados no Banco de Dados SQL do Azure.

  • Use funções integradas do RBAC: Primeiro, use as funções de recurso integradas do Azure RBAC para gerenciar serviços e atribuir roles de operações para controlar o acesso. Crie e use funções personalizadas para recursos do Azure somente quando as funções internas não atenderem a necessidades específicas.

  • Usar grupos para gerenciar o acesso: atribua acesso a grupos do Microsoft Entra e gerencie associações de grupo para gerenciamento de acesso contínuo.

  • Escopos de assinatura e grupo de recursos: em ambientes não produtivos, geralmente faz sentido conceder acesso no escopo do grupo de recursos para diferenciar as necessidades de acesso de operações e de gerenciamento de serviços, em vez de conceder acesso a recursos individuais. O motivo é que, em ambientes de não produção, desenvolvedores e testadores precisam gerenciar recursos como criar um pipeline de ingestão do Azure Data Factory ou criar um contêiner no Data Lake Storage Gen2. No entanto, em ambientes de produção, você pode conceder acesso a recursos individuais para tarefas específicas da carga de trabalho, como suporte e operações do sistema de arquivos data lake. O motivo é que, durante a produção, os usuários só precisam usar recursos como exibir o status de um pipeline de ingestão agendado do Data Factory ou ler arquivos de dados no Data Lake Storage Gen2.

  • Não conceda acesso desnecessário no escopo da assinatura: o escopo da assinatura abrange todos os recursos dentro da assinatura.

  • Opte pelo acesso com privilégios mínimos: selecione a função correta e única para o trabalho.

Práticas recomendadas de controle de acesso ao banco de dados

Implementar o RBAC (controle de acesso baseado em função) eficaz é crucial para manter a segurança e a capacidade de gerenciamento em seu ambiente de análise. Esta seção fornece as práticas recomendadas para usar grupos do Microsoft Entra, funções internas e evitar permissões diretas do usuário para garantir um processo de gerenciamento de acesso simplificado e seguro.

A análise em escala de nuvem provavelmente contém armazenamento poliglota. Exemplos incluem PostgreSQL, MySQL, Banco de Dados SQL do Azure, Instância Gerenciada de SQL e Análise do Azure Synapse.

  • Usar grupos do Microsoft Entra em vez de contas de usuário individuais: recomendamos que você use grupos do Microsoft Entra para proteger objetos de banco de dados em vez de contas de usuário individuais do Microsoft Entra. Use esses grupos do Microsoft Entra para autenticar usuários e proteger objetos de banco de dados. Semelhante ao padrão de data lake, você pode usar sua integração de aplicativo de dados para criar esses grupos.
  • Usar funções internas para gerenciar o acesso: crie funções personalizadas somente se necessário para atender a requisitos específicos ou quando as funções internas concederem muitas permissões.
  • Evite atribuir permissões a usuários individuais: use funções (funções de banco de dados ou servidor) consistentemente. As funções ajudam muito com relatórios e permissões de solução de problemas. (O RBAC do Azure dá suporte apenas à atribuição de permissão por meio de funções.)

Nota

Os aplicativos de dados podem armazenar produtos de dados confidenciais no Banco de Dados SQL do Azure, na Instância Gerenciada de SQL ou nos pools do Azure Synapse Analytics. Para mais informações, veja Dados Confidenciais.

Práticas recomendadas de controle de acesso do Data Lake

Em ambientes de dados modernos, garantir um controle de acesso seguro e eficiente é primordial. O Azure Data Lake Storage (ADLS) Gen2 fornece mecanismos robustos para gerenciar o acesso por meio de ACLs (Listas de Controle de Acesso). Esta seção descreve as práticas recomendadas para implementar o controle de acesso baseado em função no ADLS Gen2, a aplicação de ACLs, grupos de segurança do Microsoft Entra e o princípio do menor privilégio para manter um ambiente de data lake seguro e gerenciável. Além disso, destaca a importância de alinhar ACLs com esquemas de particionamento de dados e usar o Catálogo do Unity para usuários do Azure Databricks para garantir a segurança e a governança abrangentes.

  • usar ACLs (Listas de Controle de Acesso) para controle de acesso refinado: as ACLs desempenham um papel importante na definição do acesso em um nível granular. No Azure Data Lake Storage (ADLS) Gen2, as ACLs trabalham com entidades de segurança para gerenciar o acesso refinado a arquivos e diretórios.
  • Aplicar ACLs no nível de arquivo e pasta: para controlar o acesso aos dados no data lake, recomendamos usar ACLs (listas de controle de acesso) no nível de arquivos e pastas. O Azure Data Lake também adota um modelo de lista de controle de acesso semelhante a POSIX. POSIX (interface do sistema operacional portátil) é uma família de padrões para sistemas operacionais. Um padrão define uma estrutura de permissão simples, mas poderosa, para acessar arquivos e pastas. O POSIX é amplamente adotado para compartilhamentos de arquivos de rede e computadores Unix.
  • Use grupos de segurança do Microsoft Entra como a entidade principal atribuída em uma entrada ACL: resista à tentação de atribuir diretamente usuários ou entidades de serviço individuais. Usar essa estrutura permite que você adicione e remova usuários ou entidades de serviço sem a necessidade de reaplicar ACLs a uma estrutura de diretório inteira. Em vez disso, você pode apenas adicionar ou remover usuários e entidades de serviço do grupo de segurança apropriado do Microsoft Entra.
  • Atribuir acesso aos grupos do Microsoft Entra e gerenciar a associação de grupos para o gerenciamento de acesso contínuo. Confira Configurações de controle de acesso e de data lake no Azure Data Lake Storage.
  • Aplique o princípio do menor privilégio às ACLs: na maioria dos casos, os usuários devem ter apenas permissão de leitura para os arquivos e pastas de que precisam no data lake. Os usuários de dados não devem ter acesso ao contêiner da conta de armazenamento.
  • Alinhar ACLs com esquemas de particionamento de dados: ACLs e design de partição de dados devem se alinhar para garantir um controle eficaz de acesso a dados. Para saber mais, confira Particionamento no data lake.
  • Para usuários do Azure Databricks, controle de modo exclusivo o acesso a objetos de dados com o Unity Catalog: concedendo acesso direto ao armazenamento em nível de local externo no Azure Data Lake Storage Gen2 não cumpre nenhuma permissão concedida ou auditorias mantidas pelo Unity Catalog. O acesso direto ignora a auditoria, a linhagem e outros recursos de segurança e monitoramento do Unity Catalog, incluindo controle de acesso e permissões. Portanto, os usuários finais do Azure Databricks não devem receber acesso direto no nível de armazenamento a tabelas e volumes gerenciados do Catálogo do Unity.

Próximas etapas

Provisionar segurança para análise em escala de nuvem no Azure