Compartilhar via


Gerenciamento de identidade e acesso para o acelerador de zona de destino do Azure Spring Apps

Este artigo descreve considerações de design e recomendações para autenticar usuários em Aplicativos Spring do Azure e conceder aos usuários o nível necessário de acesso a recursos de carga de trabalho.

A equipe de plataforma centralizada e as equipes de aplicativos devem ter um bom entendimento sobre:

  • Quais equipes exigem acesso à carga de trabalho do aplicativo Azure Spring implantada na zona de aterrissagem do aplicativo.
  • Os papéis e a responsabilidade dos usuários e de quem precisa de acesso.
  • O nível mínimo de privilégio necessário para realizar essas responsabilidades.

Para obter informações sobre o design da plataforma, consulte Área de design de gerenciamento de acesso e identidade do Azure.

Como proprietário da carga de trabalho, siga estas práticas recomendadas para garantir que os recursos do aplicativo não violem a segurança organizacional ou os limites de governança. O objetivo é garantir que o aplicativo Azure Spring implantado e os recursos relacionados da carga de trabalho sejam seguros e acessíveis apenas por usuários autorizados. Ao seguir essas práticas, você protege dados confidenciais e evita o uso indevido do aplicativo e de seus recursos.

Considerações sobre o design

  • Acesso do aplicativo a outros serviços. O aplicativo deve autenticar-se quando se conecta a serviços de back-end que fazem parte da carga de trabalho. Essa autenticação protege os serviços contra acesso não autorizado. Considere o uso de recursos do Microsoft Entra ID para evitar a sobrecarga de armazenamento e gerenciamento de credenciais.

  • Acesso ao aplicativo. Os usuários podem enviar solicitações para o aplicativo pela Internet pública. Ou as solicitações podem vir de redes privadas ou locais. Em ambos os casos, o acesso deve ser autenticado com base em certificados de cliente ou por meio do Microsoft Entra ID.

    Considere as opções de tecnologia para o mecanismo de descoberta de serviço que invoca chamadas entre aplicativos. As opções variam com base na camada do Azure Spring Apps.

  • Acesso do operador aos recursos. Membros da equipe com responsabilidades diferentes podem acessar sua carga de trabalho. Por exemplo, talvez seja necessário conceder acesso a:

    • Membros da equipe da plataforma que precisam de acesso operacional.
    • Membros da equipe de aplicativos que desenvolvem aplicativos.
    • Engenheiros de DevOps que criam e liberam pipelines para implantar a carga de trabalho e configurar usando infraestrutura como código (IaC).
    • Engenheiros de confiabilidade do site para solução de problemas.

    Com base na finalidade do acesso, decida o nível de controle que você deseja fornecer ao usuário. Comece pelo princípio do menor privilégio. As atribuições de função RBAC podem garantir que os usuários tenham o conjunto certo de privilégios para suas responsabilidades e mantenham limites. Considere funções RBAC internas antes de criar funções personalizadas.

  • Acesso a dados de configuração. Com base na sua escolha de camada para os Aplicativos Spring do Azure (Básico/Standard ou Enterprise), você precisa decidir as opções do servidor de configuração.

    Para o Básico, considere o suporte para o lado do servidor e do cliente. Para armazenar seus arquivos do servidor de configuração, escolha uma configuração externalizada em um sistema distribuído, como Azure DevOps, GitHub, GitLab ou Bitbucket.

    Você pode usar repositórios públicos ou privados e escolher seu mecanismo de autenticação. Os Aplicativos Spring do Azure dão suporte à autenticação básica baseada em senha ou token e SSH.

    Para o Enterprise, considere o uso do Application Configuration Service for VMware Tanzu, que permite o gerenciamento de recursos ConfigMap nativos do Kubernetes que são preenchidos a partir de propriedades definidas em um ou mais repositórios Git.

Recomendações sobre design

Identidades gerenciadas

Use identidades gerenciadas para o aplicativo para que ele seja autenticado por meio do Microsoft Entra ID. Nem todos os serviços oferecem suporte a esse recurso do Microsoft Entra ID. Para obter mais informações, consulte Serviços do Azure que dão suporte à autenticação do Microsoft Entra.

Decida qual tipo de identidade gerenciada é apropriado para seu caso de uso. Considere as compensações com facilidade de gerenciamento. Por exemplo, se o aplicativo precisar acessar vários recursos, identidades gerenciadas atribuídas pelo usuário serão recomendadas. Mas se você quiser permissões vinculadas ao ciclo de vida do aplicativo, as identidades gerenciadas pelo sistema podem ser mais adequadas.

Para obter mais informações, consulte Escolher identidades gerenciadas atribuídas pelo sistema ou pelo usuário.

Use funções RBAC internas do Azure para simplificar o gerenciamento das permissões necessárias para uma identidade gerenciada.

  • Use sua própria identidade gerenciada para os Aplicativos Spring do Azure.
  • Use identidades gerenciadas atribuídas pelo sistema e pelo usuário separadamente. Para obter mais informações, consulte Práticas recomendadas ao usar identidades gerenciadas.
  • Use o Gerenciamento de Identidades Privilegiadas no Microsoft Entra ID.

Comunicação segura via internet

  • Use certificados emitidos por uma autoridade de certificação, certificados de validação estendida ou certificados curinga.
  • Use certificados autoassinados somente para ambientes de pré-produção.
  • Carregue certificados com segurança do Cofre de Chaves do Azure.

RBAC (Controle de Acesso Baseado em Função)

  • Considere a criação de funções personalizadas. Siga o princípio de privilégio mínimo quando funções prontas para uso exigirem modificações em permissões existentes.
  • Escolha o armazenamento de segurança aprimorada para chaves, segredos, certificados e configuração de aplicativos.
  • Para implantação automatizada, configure uma entidade de serviço que tenha as permissões mínimas necessárias para implantar a partir do pipeline de CI/CD.
  • Habilite o log de diagnóstico para o console do aplicativo, logs do sistema, logs de entrada, logs de compilação e logs de eventos de contêiner. Você pode usar esses logs detalhados para diagnosticar problemas com seu aplicativo e monitorar solicitações de acesso. Quando você habilita esses logs, um log de atividades do Monitor do Azure fornece informações sobre eventos no nível de assinatura.

Próximas etapas

Topologia de rede e conectividade