Gerenciar a segurança do aplicativo/middleware

Concluído

Grandes organizações têm vários usuários de vários grupos de negócios que precisam:

  • Faça login no cluster de forma segura
  • Aplicar o princípio do menor privilégio (PLOP) quando se trata de acessar os dados subjacentes
  • Registre os eventos que têm significado de segurança.

O objetivo da segurança de aplicativos no HDInsight é fornecer maneiras de autenticar com segurança vários usuários no HDInsight, impondo a prática de limitar os direitos de acesso para usuários em dados às permissões mínimas de que precisam para executar seu trabalho e, finalmente, registrar eventos que tenham importância de segurança, como um login, uma tentativa de executar uma ação privilegiada, uma modificação de um registo importante.

Autenticação

A autenticação é o processo que estabelece a identidade de uma pessoa que leva à validação de que os utilizadores são quem afirmam ser. Os clusters HDInsight em cenários de produção normalmente precisam permitir que uma ampla gama de usuários de diferentes grupos de negócios se autentiquem no cluster para executar atividades como configurar, enviar, executar e monitorar cargas de trabalho. Habilitar o recurso "Pacote de Segurança Empresarial" (ESP) durante a criação do cluster HDInsight permite que os clusters ingressem no domínio e que os usuários do domínio usem suas credenciais de domínio para se autenticar no cluster. Os grupos do Ative Directory podem ser usados para criar grupos de usuários individuais que representam uma função ou departamento dentro de uma organização e vários desses grupos podem ser sincronizados com o cluster no momento da criação. Os clusters devem ter um administrador de cluster de domínio e um ou vários grupos de usuários com acesso restrito. Abaixo está uma representação dos componentes e partes envolvidas no processo de autenticação do HDInsight.

Processo de autenticação do HDInsight

Os componentes abaixo no domínio Enterprise Identity participam do processo de configuração e autenticação de um cluster ESP.

  • Ative Directory do Windows Server: controlador de domínio no local e armazena o Nome Principal do Usuário (também conhecido como UPN) (por exemplo: user@Contoso.com) e suas respetivas senhas de domínio.
  • Ative directory Connect (AD Connect): ferramenta da Microsoft projetada para realizar a configuração de identidade híbrida. As funcionalidades como a sincronização hash de palavras-passe são fundamentais na configuração do ESP no HDInsight.
  • Diretório de atividades do Azure (Microsoft Entra ID): serviço de gerenciamento de identidade e acesso baseado no Microsoft Azure.
  • Serviços de Domínio Microsoft Entra (Serviços de Domínio Microsoft Entra): fornece serviços de domínio gerenciados, como ingresso no domínio, política de grupo, protocolo LDAP (lightweight directory access protocol) e autenticação Kerberos/NTLM que é totalmente compatível com o Ative Directory do Windows Server. Você usa esses serviços de domínio sem a necessidade de implantar, gerenciar e corrigir controladores de domínio na nuvem. Os Serviços de Domínio do Microsoft Entra integram-se com o locatário existente do Microsoft Entra, o que possibilita que os usuários entrem usando suas credenciais existentes. Você também pode usar grupos e contas de usuário existentes para proteger o acesso aos recursos, o que fornece uma transferência mais suave de recursos locais para o Azure.

O HDInsight suporta dois tipos de cenários de autenticação

  • Quando hashes de senha são sincronizados no Microsoft Entra ID.
  • Quando hashes de senha são retidos controladores de domínio locais. Observe que o usuário pode optar por criar o cluster HDInsight com o Windows Azure Storage Blob (WASB) ou o armazenamento ADLS Gen2 e o processo de autenticação difere ligeiramente em cada um deles. Embora todas as etapas do processo de autenticação sejam realizadas automaticamente e sejam abstraídas do usuário, isso ajuda a entender, em alto nível, a sequência de eventos que entram na autenticação de um usuário.

Autenticação: quando hashes de senha são sincronizados com o Microsoft Entra ID

Autenticação: Quando hashes de senha são sincronizados com o ID do Microsoft Entra

  1. O usuário John Doe se autentica em um serviço HDInsight (por exemplo, Ambari, ssh, Zeppelin, etc.) com suas credenciais user@contoso.onmicrosoft.com de domínio (conhecidas como nome principal de usuário ou UPN) e senha. O gateway contém o nome de usuário e a senha.
  2. O Gateway HDInsight envia o UPN e a senha fornecidos pelo usuário para a ID do Microsoft Entra usando o fluxo de credenciais de senha do proprietário do recurso (ROPC) e solicita uma solicitação de acesso OAuth. O Microsoft Entra ID confirma a identidade do usuário e emite um token de atualização que é salvo no serviço de credenciais, que é executado no nó principal. Em clusters com contas de armazenamento ADLS Gen 2, os drivers de armazenamento se comunicam com o serviço de credenciais para recuperar o token OAuth para fins de autenticação de passagem para ADLS.
  3. Em seguida, o gateway autentica o usuário com os Serviços de Domínio Microsoft Entra e obtém um tíquete Kerberos. Em seguida, o gateway passa o tíquete Kerberos para os nós principais e autentica o usuário no cluster.

Autenticação MFA: quando hashes de senha não são sincronizados com o ID do Microsoft Entra

Nota

Essa configuração também é chamada de HDInsight Identity Broker (HIB) e oferece suporte à autenticação multifator (MFA). Nessa configuração, se os hashes de senha não forem sincronizados com o ID do Microsoft Entra, o usuário ainda poderá se autenticar no gateway.

Quando hashes de senha não são sincronizados com o ID do Microsoft Entra

  1. O usuário John Doe inicia um serviço HDInsight baseado na Web, como Ambari ou Zeppelin. A página redireciona o usuário para uma tela de login interativa. O cliente é redirecionado para o ID do Microsoft Entra para que o usuário se autentique usando seu UPN user@contoso.onmicrosoft.com.
  2. Ao entrar no UPN, o cliente é redirecionado para o servidor ADFS local, onde o usuário insere sua senha. A autenticação MFA, se habilitada, agora é executada. Após a autenticação bem-sucedida, um token OAuth é emitido para o cliente.
  3. O cliente apresenta o token OAuth ao gateway HDInsight.
  4. O gateway HDInsight usa o token OAuth para adquirir um tíquete Kerberos do nó HIB.
  5. O gateway usa o tíquete Kerberos e registra o token OAuth no serviço de credenciais dos nós principais e se autentica no cluster.

Nota

Se os hashes de senha não forem sincronizados com o ID do Microsoft Entra, os usuários do domínio não poderão ssh para os nós principais. Somente o usuário ssh local poderá fazer atividades ssh. A orientação sobre como configurar mecanismos de autenticação para ambos os cenários é explicada em Usar o ID Broker para gerenciamento de credenciais.

Autorização

A autorização no HDInsight lida com a determinação e imposição de privilégios de usuário nos conjuntos de dados subjacentes. A autorização refinada em ações e/ou operações específicas está disponível nos serviços HDInsight do Hive, HBase e Kafka e é gerenciada por meio do Apache Ranger. A Ranger fornece controle de acesso baseado em função, controle de acesso baseado em atributos e centraliza a auditoria de acesso do usuário e ações administrativas. Normalmente, você se autentica no Apache Ranger com as credenciais de domínio do administrador do cluster e, em seguida, configura políticas para grupos restritos ou usuários no Ranger. No exemplo abaixo, mostramos maneiras pelas quais você pode criar uma política de ranger para definir permissões em uma tabela Hive de exemplo no Ranger.

  1. Inicie o Apache Ranger usando o URL: https://CLUSTERNAME.azurehdinsight.net/Ranger/. Substitua "CLUSTERNAME" pelo nome do cluster. Use o administrador do domínio do cluster e a senha correspondente para fazer login.

    Definindo permissões com o Apache Ranger

  2. Clique em Adicionar nova política para adicionar uma nova política de ranger.

    Adicionar uma nova política Ranger

  3. Preencha os detalhes da política com as seguintes informações:

    1. Nome da política: nome da política.
    2. Banco de dados: escolha o banco de dados do Hive.
    3. Tabela: escolha a tabela Hive no banco de dados selecionado.
    4. Coluna Hive: escolha a coluna Hive na qual a política seria aplicada.
    5. Defina o log de auditoria como Sim para habilitar o registro de todos os acessos.
    6. Condições permitidas:
      • As políticas podem ser aplicadas a usuários ou grupos de domínio do Ative Directory (AD) na seção Permitir Condições. Se pretender aplicar a política a todos os utilizadores num grupo do AD, adicione esse grupo do AD à secção Selecionar Grupo.
      • Como alternativa, se desejar que a política se aplique a usuários individuais ou a um conjunto escolhido de grupos diferentes do AD, você pode adicionar todas as IDs de domínio individuais dos usuários no campo Selecionar usuário.
      • Escolha entre um conjunto de permissões na barra de caixa de seleção Permissões.
  4. Role para baixo e clique em Adicionar.

    Adicionar uma política

  5. Após a configuração disso, essa regra será aplicada para todos os usuários que foram incluídos na política.

As configurações de políticas de ranger para HBase e Kafka são descritas nos respetivos hiperlinks na seção.

Auditoria

A auditoria no HDInsight de uma perspetiva de segurança lida com o registro e monitoramento de solicitações de autenticação e autorização que acontecem durante o tempo de vida operacional do cluster e mesmo depois que o cluster é excluído.

A auditoria no HDInsight é habilitada usando logs do Azure Monitor e pode ser usada para exibir logs que são críticos para a segurança do cluster. Algumas tabelas de log que contêm informações críticas para a segurança do cluster estão listadas abaixo.

Nome da tabela de log Propósito
ranger_audit_logs_CL Logs de auditoria do Apache Ranger em clusters ESP
log_gateway_audit_CL Auditar logs do gateway para mostrar tentativas bem-sucedidas e fracassadas
log_ambari_audit_CL Logs de auditoria do Ambari
log_auth_CL Logs SSH para tentativas bem-sucedidas e fracassadas

O Monitoramento do Azure é habilitado no portal do Azure usando alguns cliques.

  1. No cluster HDInsight, clique em Azure Monitor na folha esquerda. Selecione Integração do Azure Monitor como True e, em Selecionar um espaço de trabalho, escolha um espaço de trabalho pré-criado do Log Analytics na lista suspensa.

    Utilizar o Azure Monitor

  2. Inicie o espaço de trabalho de análise de log e importe as soluções de monitoramento do HDInsight relevantes para seu tipo de cluster. Inicie a solução e clique em Logs.

    Ver registos

  3. As tabelas de logs relevantes para a segurança podem ser encontradas na seção Logs personalizados à esquerda. Estes podem então ser consultados para extrair informações de acesso relevantes.

    Visualizando logs personalizados