Partilhar via


Gestão de identidades e acessos

Este artigo examina considerações de design e recomendações para gerenciamento de identidade e acesso. Ele se concentra na implantação de uma plataforma de análise em escala de nuvem no Microsoft Azure. Como a análise em escala de nuvem é um elemento de missão crítica, as orientações sobre as áreas de design da zona de aterrissagem do Azure também devem ser incluídas no seu design.

Este artigo baseia-se em considerações e recomendações sobre as zonas de aterrissagem do Azure. Para obter mais informações, consulte Gerenciamento de identidade e acesso.

Projeto da zona de aterrissagem de dados

A análise em escala de nuvem suporta um modelo de controle de acesso usando identidades do Microsoft Entra. O modelo usa o controle de acesso baseado em função do Azure (Azure RBAC) e as listas de controle de acesso (ACLs).

Analise as atividades de administração e gerenciamento do Azure que suas equipes executam. Considere sua análise em escala de nuvem no Azure. Determine a melhor distribuição possível de responsabilidades dentro da sua organização.

Atribuições de funções

Para desenvolver, fornecer e servir produtos de dados de forma autónoma na plataforma de dados, as equipas de aplicações de dados necessitam de poucos direitos de acesso no ambiente do Azure. Antes de discutir os respetivos requisitos do RBAC, é importante destacar que diferentes modelos de acesso devem ser usados para desenvolvimento e ambientes superiores. Além disso, os grupos de segurança devem ser usados sempre que possível para reduzir o número de atribuições de funções e simplificar o processo de gerenciamento e revisão dos direitos RBAC. Esta etapa é crítica, devido ao número limitado de atribuições de função que podem ser criadas por assinatura.

O ambiente de desenvolvimento deve ser acessível para a equipe de desenvolvimento e suas respetivas identidades de usuário. Esse acesso permite que eles iterem mais rapidamente, aprendam acerca de capacidades específicas dos serviços do Azure e solucionem problemas de forma eficaz. O acesso a um ambiente de desenvolvimento ajuda no desenvolvimento ou aprimoramento da infraestrutura como código (IaC) e outros artefatos de código. Depois que uma implementação dentro do ambiente de desenvolvimento funciona conforme o esperado, ela pode ser implementada continuamente para os ambientes superiores. Ambientes de nível superior, como de teste e de produção, devem ser restritos ao acesso da equipa de aplicações de dados. Somente um principal de serviço deve ter acesso a esses ambientes e, portanto, todas as implementações devem ser executadas através da identidade do principal de serviço usando pipelines de CI/CD. Em resumo, no ambiente de desenvolvimento, os direitos de acesso devem ser fornecidos a uma identidade de serviço e identidades de usuário e, em ambientes mais avançados, os direitos de acesso devem ser fornecidos apenas a uma identidade de serviço.

Para poder criar recursos e atribuições de função entre recursos dentro dos grupos de recursos do aplicativo de dados, os direitos de Contributor e User Access Administrator devem ser fornecidos. Esses direitos permitem que as equipes criem e controlem serviços em seu ambiente dentro dos limites de do Azure Policy. A análise em escala de nuvem recomenda o uso de pontos de extremidade privados para superar o risco de exfiltração de dados e, à medida que outras opções de conectividade são bloqueadas pela equipe da plataforma Azure por meio de políticas, as equipes de aplicativos de dados exigem direitos de acesso à rede virtual compartilhada de uma zona de aterrissagem de dados para poder configurar com êxito a conectividade de rede necessária para os serviços que planejam usar. Para seguir o princípio do menor privilégio, superar conflitos entre diferentes equipes de aplicativos de dados e ter uma separação clara das equipes, a análise em escala de nuvem propõe criar uma sub-rede dedicada por equipe de aplicativo de dados e criar uma atribuição de função Network Contributor para essa sub-rede (escopo de recurso filho). Essa atribuição de função permite que as equipes se juntem à sub-rede usando pontos de extremidade privados.

Essas duas primeiras atribuições de função permitem a implantação de autoatendimento de serviços de dados nesses ambientes. Para abordar a preocupação com a gestão de custos, as organizações devem adicionar uma tag de centro de custo aos grupos de recursos para permitir a cobrança cruzada e a responsabilidade de custos distribuídos. Isso aumenta a conscientização dentro das equipes e as obriga a tomar as decisões certas em relação aos SKUs e níveis de serviço necessários.

Para também habilitar o uso autossuficiente de outros recursos compartilhados dentro da zona de receção de dados, são necessárias algumas atribuições de função adicionais. Se o acesso a um ambiente Databricks for necessário, as organizações deverão usar o SCIM Synch do Microsoft Entra ID para fornecer acesso. Isso é importante porque esse mecanismo sincroniza automaticamente usuários e grupos do ID do Microsoft Entra com o plano de dados Databricks e também remove automaticamente os direitos de acesso quando um indivíduo sai da organização ou empresa. No Azure Databricks, as equipes de aplicativos de dados devem receber Can Restart direitos de acesso a um cluster predefinido para poder executar cargas de trabalho no espaço de trabalho.

Equipes individuais precisam de acesso à conta do Microsoft Purview para descobrir ativos de dados dentro das respetivas zonas de aterrissagem de dados. Além disso, na maioria dos casos, as equipes exigirão a opção de editar ativos de dados catalogados de sua propriedade para fornecer detalhes extras, como detalhes de contato de proprietários de dados e especialistas, bem como detalhes mais granulares sobre quais colunas dentro de um conjunto de dados descrevem e quais informações estão incluindo.

Resumo dos requisitos de controle de acesso baseado em função

Para fins de automação da implantação de zonas de aterrissagem de dados, você precisa destas funções:

Nome da função

Descrição

Âmbito de aplicação

Implante todas as zonas DNS privadas para todos os serviços de dados em uma única assinatura e grupo de recursos. A entidade de serviço precisa estar configurada como Private DNS Zone Contributor no grupo de recursos DNS global que foi criado durante a configuração de gerenciamento de dados. Esta função é imprescindível para implantar registos A para os endpoints privados.

(Escopo do grupo de recursos) /subscriptions/{{dataManagement}subscriptionId}/resourceGroups/{resourceGroupName}

Para configurar o emparelhamento de rede virtual entre a rede da zona de aterrissagem de dados e a rede da zona de aterrissagem de gerenciamento de dados, a entidade de serviço precisa de direitos de acesso Network Contributor no grupo de recursos da rede virtual remota.

(Escopo do grupo de recursos) /subscriptions/{{dataManagement}subscriptionId}/resourceGroups/{resourceGroupName}

Essa permissão é necessária para compartilhar o tempo de execução de integração auto-hospedado que é implantado no grupo de recursos integration-rg com outras fábricas de dados. Também é necessário atribuir o acesso às identidades gerenciadas do Azure Data Factory e do Azure Synapse Analytics nos respetivos sistemas de arquivos de conta de armazenamento.

(Escopo do recurso) /subscriptions/{{dataLandingZone}subscriptionId}

Observação

O número de atribuições de função pode ser reduzido em um cenário de produção. A atribuição de função Network Contributor só é necessária para configurar o emparelhamento de rede virtual entre a zona de aterrissagem de gerenciamento de dados e a zona de aterrissagem de dados. Sem essa consideração, a resolução de DNS não funciona. O tráfego de entrada e saída é descartado porque não há linha de visão para o Firewall do Azure.

O Private DNS Zone Contributor também não é necessário se a implementação dos registos DNS A dos pontos de extremidade privados for automatizada através de políticas do Azure, com o efeito deployIfNotExists. O mesmo vale para o User Access Administrator porque a implantação pode ser automatizada usando políticas de deployIfNotExists.

Atribuições de função para produtos de dados

As seguintes atribuições de função são necessárias para implantar um produto de dados em uma zona de aterrissagem de dados:

Nome da função

Descrição

Âmbito de aplicação

Implante todas as zonas DNS privadas para todos os serviços de dados em uma única assinatura e grupo de recursos. A entidade de serviço precisa ser configurada como Private DNS Zone Contributor no grupo de recursos DNS global que foi criado durante a implementação da zona de aterrissagem de gestão de dados. É necessária esta função para implementar os registos A nos respetivos pontos de extremidade privados.

(Escopo do grupo de recursos) /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}

Implante todos os serviços de streaming de integração de dados num único grupo de recursos dentro da assinatura da zona de receção de dados. A entidade de serviço requer uma atribuição de função Contributor nesse grupo de recursos.

(Escopo do grupo de recursos) /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}

Para implantar endpoints privados na sub-rede de Private Link especificada, que foi criada durante a implantação da zona de receção de dados, o service principal requer acesso Network Contributor nessa sub-rede.

(Âmbito do recurso infantil) /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName} /providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}"

Acesso a outros recursos

Fora do Azure, as equipes de aplicativos de dados também exigem acesso a um repositório para armazenar artefatos de código, colaborar de forma eficaz e implantar atualizações e alterações de forma consistente por meio de CI/CD em ambientes superiores. Além disso, um painel de projeto deve ser fornecido para permitir o desenvolvimento ágil, planejamento de sprint, acompanhamento de tarefas e bem como feedback do usuário e solicitações de recursos.

Por fim, a automação de CI/CD requer a configuração de uma conexão com o Azure, o que é feito na maioria dos serviços por meio de princípios de serviço. Assim, as equipes precisam ter acesso a um princípio de serviço para alcançar a automação dentro de seu projeto.

Gerir o acesso aos dados

O gerenciamento do acesso aos dados deve ser feito usando grupos do Microsoft Entra. Adicione nomes principais de utilizador ou nomes principais de entidade de serviço aos grupos do Microsoft Entra. Adicione os grupos aos serviços e conceda permissões ao grupo. Essa abordagem permite um controle de acesso refinado.

Para obter mais informações sobre como promover a segurança para as zonas de receção de gestão de dados e as zonas de receção de dados gerindo o acervo de dados, consulte Authentication for cloud-scale analytics in Azure.

Próximos passos