Autorização para análises em escala de nuvem no Azure
Autorização é o ato de conceder a uma parte autenticada permissão para executar uma ação. O princípio fundamental de de controle de acesso é dar aos usuários apenas a quantidade de acesso de que eles precisam para fazer seus trabalhos e permitir apenas certas ações em um escopo específico. A segurança baseada em funções corresponde ao controle de acesso. Muitas organizações usam segurança baseada em função para controlar o acesso com base em funções definidas ou funções de trabalho, em vez de usuários individuais. Os usuários recebem uma ou mais funções de segurança e cada função recebe permissões autorizadas para executar tarefas específicas.
O Microsoft Entra ID é um provedor de identidade centralizado que concede autorização para acessar serviços de dados e armazenamento para cada usuário ou para cada aplicativo com base em uma identidade do Microsoft Entra.
Autorização de serviço de dados
O controle de acesso baseado em função (RBAC) e as listas de controle de acesso (ACLs) do Azure desempenham funções cruciais no gerenciamento do acesso e na garantia da segurança. O RBAC do Azure e as ACLs exigem que o usuário ou aplicativo tenha uma identidade no Microsoft Entra ID. Na análise em escala de nuvem, o RBAC é eficaz para bancos de dados e Armazenamento Azure Data Lake. As ACLs são usadas principalmente no Data Lake Storage para fornecer controle de acesso refinado nos níveis de arquivo e diretório. As ACLs complementam o RBAC fornecendo permissões mais detalhadas dentro da hierarquia de armazenamento.
O RBAC do Azure fornece funções internas, como Proprietário, Colaboradore Leitor, mas também pode criar funções personalizadas para necessidades específicas. As seguintes funções internas são fundamentais para todos os tipos de recursos do Azure, incluindo os serviços de dados do Azure:
Funções | 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. |
Colaborador | Essa função pode gerenciar o recurso, mas não pode conceder acesso a ele. |
Reader | Essa função pode exibir o recurso e as informações, exceto informações confidenciais, como chaves de acesso ou segredos, sobre o recurso. Eles não podem fazer alterações no recurso. |
Observação
Alguns serviços têm funções RBAC específicas, como Colaborador de Dados de Blob de Armazenamento ou Colaborador do Data Factory , pelo que deve-se usar estas funções para esses serviços. O RBAC é um modelo aditivo no qual a adição de atribuições de função é uma permissão ativa. O RBAC também suporta negar atribuições que tenham precedência sobre atribuições de de função.
Dica
Ao planejar uma estratégia de controle de acesso, recomendamos que você conceda aos usuários apenas a quantidade de acesso de que eles precisam para executar seus trabalhos. Você também só deve permitir determinadas ações em um escopo específico.
Controle de acesso em 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 para gerenciamento de banco de dados. Uma dessas funções é de Colaborador do SQL Server, que permite o gerenciamento de servidores e bancos de dados SQL. Outra função é de Colaborador do Banco de Dados SQL, que permite o gerenciamento de bancos de dados SQL, mas não do servidor em si. Além disso, você pode criar funções personalizadas que tenham permissões específicas para atender a requisitos exclusivos.
Você pode atribuir funções em escopos diferentes, incluindo:
- No nível da assinatura, onde as funções se aplicam a todos os recursos dentro da assinatura.
- No nível do grupo de recursos, onde as funções se aplicam a todos os recursos dentro do grupo de recursos especificado.
- No nível de recursos, onde você pode atribuir funções diretamente a bancos de dados ou servidores individuais. Esta abordagem dá-lhe um controlo preciso.
As permissões definem as ações que uma função pode executar, como leitura, gravação, exclusão ou gerenciamento de configurações de segurança. Essas permissões são agrupadas em funções para simplificar o gerenciamento.
No Banco de Dados SQL do Azure, você pode atribuir funções a usuários, grupos ou aplicativos para controlar o acesso. Por exemplo, um administrador de banco de dados pode receber a função de Colaborador do SQL Server para gerenciar o servidor e os bancos de dados. Funções como Colaborador da Base de Dados SQL permitem que os usuários criem, atualizem e excluam bases de dados, enquanto a função SQL Security Manager se concentra nas configurações de segurança.
No Azure Cosmos DB, você pode atribuir funções para gerenciar o acesso a contas, bancos de dados e contêineres do Azure Cosmos DB. Funções internas, como Conta do Cosmos DB Leitor e Conta do Cosmos DB Colaborador, proporcionam diferentes níveis de acesso.
No Banco de Dados do Azure para MySQL, Banco de Dados do Azure para PostgreSQLe Banco de Dados do Azure para MariaDB, você pode atribuir funções para gerenciar servidores de banco de dados e bancos de dados individuais. Você pode usar funções como de Colaborador e de Leitor para controlar o acesso.
Para obter mais informações, consulte funções internas do Azure para bancos de dados.
Controle de acesso no armazenamento Data Lake
O RBAC do Azure permite conceder acesso geral, como acesso de leitura ou gravação, a todos os dados da conta de armazenamento. As ACLs permitem conceder acesso refinado, como acesso de gravação a um diretório ou arquivo específico.
Em muitos cenários, você pode usar RBAC e ACLs juntos para fornecer controle de acesso abrangente no Armazenamento Data Lake. Você pode usar o RBAC para gerenciar o acesso de alto nível aos dados, o que ajuda a garantir que apenas usuários autorizados possam acessar o serviço. Em seguida, você pode aplicar ACLs dentro da conta de armazenamento para controlar o acesso a arquivos e diretórios específicos, o que melhora a segurança.
O controle de acesso baseado em atributos 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 função 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 tenham uma marca específica.
As funções a seguir permitem que uma principal de segurança aceda aos dados numa conta de armazenamento.
Funções | Descrição |
---|---|
Proprietário de Dados do Blob de Armazenamento | Essa função dá acesso total a contêineres e dados de armazenamento de blob. Esse acesso permite que a entidade de segurança defina o proprietário de um item e modifique as ACLs de todos os itens. |
do Contribuidor de Dados de Blob de Armazenamento | Essa função dá acesso de leitura, gravação e exclusão a armazenamento de contêineres e 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 que a entidade de segurança possui. |
Leitor de dados de Blob de armazenamento | Essa função pode ler e listar contentores e blobs de armazenamento de objetos. |
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 fornecem acesso aos dados dessa conta. No entanto, essas funções, excluindo Reader, 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 Data Lake Storage.
Controle de acesso no Azure Databricks
O Azure Databricks fornece sistemas de controle de acesso para gerenciar o acesso no ambiente do Azure Databricks. Esses sistemas se concentram em objetos protegíveis e governança de dados. Os três principais sistemas de controle de acesso no Azure Databricks são:
- ACLs, que você pode usar para configurar a permissão para acessar objetos de espaço de trabalho, como blocos de anotações. Para obter mais informações, consulte Visão geral do controle de acesso.
- Conta RBAC, que pode ser usada para configurar permissões para usar objetos ao nível da conta, como principais de serviço e grupos.
- Unity Catalog, que você pode usar para proteger e controlar objetos de dados.
Além do controle de acesso em objetos, o Azure Databricks fornece funções internas na plataforma. Você pode atribuir funções a usuários, entidades de serviço e grupos. Para obter mais informações, consulte Funções de administrador e direitos de espaço de trabalho.
Práticas recomendadas para autorização em análises em escala de nuvem
Este guia discute as práticas recomendadas para implementar o RBAC em ambientes de análise em escala de nuvem. Ele inclui princípios gerais do RBAC, controle de acesso ao banco de dados e práticas recomendadas de controle de acesso ao data lake para ajudar a garantir o gerenciamento seguro e eficiente de recursos.
Práticas recomendadas gerais do RBAC para análise em escala de nuvem
As seguintes práticas recomendadas podem ajudá-lo a começar a usar o RBAC:
Use funções RBAC para gerenciamento e operações de serviço e use funções específicas de serviço para acesso a dados e tarefas específicas da carga de trabalho. Use funções RBAC nos 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á-lo. Em vez disso, conceda permissão diretamente a objetos de dados. Por exemplo, conceda acesso de leitura a uma pasta no Armazenamento Data Lake ou conceda permissões de usuário e tabela do banco de dados contido em um banco de dados no Banco de dados SQL.
Use funções RBAC integradas. Primeiro, use as funções de recurso internas do RBAC Azure para gerenciar serviços e atribuir funções 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 às suas necessidades específicas.
Use grupos para gerenciar o acesso. Atribua acesso a grupos do Microsoft Entra e gerencie associações de grupo para gerenciamento contínuo de acesso.
Considere os escopos de assinatura e grupo de recursos. Em ambientes que não sejam de produção, conceda acesso no escopo do grupo de recursos para separar o gerenciamento de serviços e as necessidades de acesso às operações, em vez de conceder acesso a recursos individuais. Essa abordagem faz sentido porque, em ambientes que não são de produção, desenvolvedores e testadores precisam gerenciar recursos. Por exemplo, eles podem precisar criar um pipeline de ingestão do Azure Data Factory ou um contêiner no Armazenamento Data Lake.
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. Essa abordagem faz sentido em ambientes de produção porque os usuários só precisam usar recursos como exibir o status de um pipeline de ingestão agendada do Data Factory ou ler arquivos de dados no Armazenamento Data Lake.
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 certa e única para o trabalho.
Práticas recomendadas de controle de acesso ao banco de dados
A implementação de RBAC eficaz é crucial para manter a segurança e a capacidade de gerenciamento em seu ambiente de análise. Esta seção fornece práticas recomendadas para usar grupos do Microsoft Entra e funções internas e para evitar permissões diretas de usuário para ajudar a garantir um processo de gerenciamento de acesso simplificado e seguro.
Os ambientes de análise em escala de nuvem geralmente contêm vários tipos de soluções de armazenamento, incluindo PostgreSQL, MySQL, Banco de Dados SQL, Instância Gerenciada SQL do Azure e Azure Synapse Analytics.
Use 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 grupos do Microsoft Entra para autenticar usuários e proteger objetos de banco de dados. Semelhante ao padrão data lake, podes usar o teu processo de integração de aplicativos de dados para criar esses grupos.
Use funções internas para gerenciar o acesso. Crie funções personalizadas somente se precisar atender a requisitos específicos ou se as funções internas concederem muitas permissões.
Abster-se de atribuir permissões a usuários individuais. Em vez disso, use funções, como funções de banco de dados ou servidor, de forma consistente. As funções ajudam no relatório e na resolução de problemas de permissões. O RBAC do Azure só dá suporte à atribuição de permissões por meio de funções.
Observação
Os aplicativos de dados podem armazenar produtos de dados confidenciais no Banco de Dados SQL, na Instância Gerenciada SQL ou nos pools do Azure Synapse Analytics. Para obter mais informações, consulte Privacidade de dados para análises em escala de nuvem no Azure.
Práticas recomendadas de controle de acesso ao Data Lake Storage
Em ambientes de dados modernos, o controle de acesso seguro e eficiente é fundamental. O Armazenamento Data Lake fornece mecanismos robustos para gerenciar o acesso por meio de ACLs. Esta seção descreve as práticas recomendadas para implementar o RBAC no Armazenamento Data Lake e aplicar ACLs, grupos de segurança do Microsoft Entra e o princípio do menor privilégio para manter um ambiente de data lake mais seguro e gerenciável. Além disso, ele destaca a importância de alinhar ACLs com esquemas de particionamento de dados e usar o Unity Catalog for Azure Databricks users para ajudar a garantir segurança e governança abrangentes.
Use ACLs para controle de acesso refinado. As ACLs desempenham um papel importante na definição de acesso em um nível granular. No Armazenamento Data Lake, as ACLs trabalham com entidades de segurança para gerenciar o acesso refinado a arquivos e diretórios.
Aplique ACLs nos níveis de arquivo e pasta. Para controlar o acesso aos dados no data lake, recomendamos que você use ACLs no nível de arquivos e pastas. O Data Lake Storage também adota um modelo de ACL semelhante ao Portable Operating System Interface (POSIX). POSIX é um grupo de padrões para sistemas operacionais. Um padrão define uma estrutura de permissão simples, mas poderosa, para acessar arquivos e pastas. POSIX é amplamente utilizado para compartilhamentos de arquivos de rede e computadores Unix.
Use os grupos de segurança do Microsoft Entra como o principal atribuído numa entrada de ACL. Em vez de atribuir diretamente usuários individuais ou entidades de serviço, use essa abordagem para adicionar e remover usuários ou entidades de serviço sem a necessidade de reaplicar ACLs a uma estrutura de diretórios inteira. Você pode simplesmente adicionar ou remover usuários e entidades de serviço do grupo de segurança apropriado do Microsoft Entra.
Atribua acesso a grupos do Microsoft Entra e gerencie a associação de grupos para gerenciamento contínuo de acesso. Para obter mais informações, consulte modelo de controle de acesso no Data Lake Storage.
Aplique o princípio do menor privilégio às ACLs. Na maioria das vezes, os utilizadores só devem ter 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.
Alinhe ACLs com esquemas de particionamento de dados. As ACLs e o design de partição de dados devem ser alinhados para ajudar a garantir um controle de acesso aos dados eficaz. Para obter mais informações, consulte a divisão do Data Lake em .
Para usuários do Azure Databricks, controle exclusivamente o acesso a objetos de dados com o Unity Catalog. A concessão de acesso direto ao nível de armazenamento para o armazenamento de local externo no Data Lake Storage não respeita quaisquer permissões concedidas ou auditorias realizadas pelo Unity Catalog. O acesso direto ao Unity Catalog contorna a auditoria, a rastreabilidade e outros recursos de segurança e monitorização, incluindo: controlo de acesso e permissões. Portanto, você não deve conceder aos usuários do Azure Databricks acesso direto no nível de armazenamento às tabelas e volumes gerenciados do Catálogo Unity.