Tutorial: Restringindo o acesso de um usuário do Amazon MWAA a um subconjunto de DAGs - Amazon Managed Workflows for Apache Airflow

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Tutorial: Restringindo o acesso de um usuário do Amazon MWAA a um subconjunto de DAGs

O Amazon MWAA gerencia o acesso ao seu ambiente mapeando suas entidades principais do IAM para um ou mais perfis padrão do Apache Airflow. O tutorial a seguir mostra como você pode restringir usuários individuais do Amazon MWAA a visualizar e interagir apenas com um DAG específico ou com um conjunto de. DAGs

nota

As etapas deste tutorial podem ser concluídas usando o acesso federado, desde que as perfis do IAM possam ser assumidas.

Pré-requisitos

Para concluir os passos deste tutorial, você precisará do seguinte:

Etapa 1: forneça acesso ao servidor web Amazon MWAA a sua entidade principal do IAM com o perfil padrão Public do Apache Airflow.

Para conceder permissão usando o AWS Management Console
  1. Faça login na sua AWS conta com uma Admin função e abra o console do IAM.

  2. No painel de navegação à esquerda, selecione Usuários e escolha o usuário do Amazon MWAA IAM.

  3. Na página de detalhes do usuário, em Resumo, escolha a guia Permissões e, em seguida, escolha Políticas de permissões para expandir o cartão e escolha Adicionar permissões.

  4. Na seção Definir permissões, escolha Anexar políticas existentes diretamente e escolha Criar política.

  5. Na página Criar política, escolha JSON e, em seguida, copie e cole a seguinte política de permissões JSON no editor de políticas. Essa política concede acesso do servidor web ao usuário com o perfil padrão Public do Apache Airflow.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "airflow:CreateWebLoginToken", "Resource": [ "arn:aws:airflow:YOUR_REGION:YOUR_ACCOUNT_ID:role/YOUR_ENVIRONMENT_NAME/Public" ] } ] }

Etapa dois: criar um novo perfil personalizado do Apache Airflow

Para criar um novo perfil usando a IU do Apache Airflow
  1. Usando sua função de administrador do IAM, abra o console do Amazon MWAA e inicie a interface de usuário do Apache Airflow do seu ambiente.

  2. No painel de navegação na parte superior, passe o mouse sobre Segurança para abrir a lista suspensa e escolha Listar funções para visualizar as funções padrão do Apache Airflow.

  3. Na lista de funções, selecione Usuário e, na parte superior da página, escolha Ações para abrir o menu suspenso. Escolha Copiar função e confirme Ok

    nota

    Copie os perfis Ops ou Viewer para conceder mais ou menos acesso, respectivamente.

  4. Localize a nova função que você criou na tabela e escolha Editar registro.

  5. Na página Switch Role, faça o seguinte:

    • Em Nome, digite um novo nome para a função no campo de texto. Por exemplo, Restricted.

    • Para obter a lista de Permissões, remova can read on DAGs ecan edit on DAGs, em seguida, adicione permissões de leitura e gravação para o conjunto ao qual DAGs você deseja fornecer acesso. Por exemplo, para um DAG, example_dag.py, adicione can read on DAG:example_dag e can edit on DAG:example_dag.

    Escolha Salvar. Agora você deve ter uma nova função que limita o acesso a um subconjunto dos DAGs disponíveis em seu ambiente Amazon MWAA. Agora é possível atribuir esse perfil a qualquer usuário existente do Apache Airflow.

Etapa três: atribuir o perfil que você criou ao seu usuário do Amazon MWAA

Para atribuir o novo perfil
  1. Usando as credenciais de acesso para MWAAUser, execute o comando da CLI a seguir para recuperar o URL do servidor da web do ambiente.

    $ aws mwaa get-environment --name YOUR_ENVIRONMENT_NAME | jq '.Environment.WebserverUrl'

    Se o teste for bem-sucedido, você verá o seguinte resultado:

    "ab1b2345-678a-90a1-a2aa-34a567a8a901.c13.us-west-2.airflow.amazonaws.com"
  2. Com MWAAUser login no AWS Management Console, abra uma nova janela do navegador e acesse o seguinte URl. Substitua Webserver-URL por suas informações.

    https://<Webserver-URL>/home

    Se for bem-sucedido, você verá uma página de erro Forbidden porque o MWAAUser ainda não recebeu permissão para acessar a IU do Apache Airflow.

  3. Com o Admin login no AWS Management Console, abra o console do Amazon MWAA novamente e inicie a interface de usuário do Apache Airflow do seu ambiente.

  4. No painel da interface do usuário, expanda a lista suspensa Segurança e, desta vez, escolha Listar usuários.

  5. Na tabela de usuários, encontre o novo usuário do Apache Airflow e escolha Editar registro. O primeiro nome do usuário corresponderá ao seu nome de usuário do IAM no seguinte padrão: user/mwaa-user.

  6. Na página Editar usuário, na seção Função, adicione a nova função personalizada que você criou e escolha Salvar.

    nota

    O campo Sobrenome é obrigatório, mas um espaço satisfaz o requisito.

    O Public diretor do IAM concede a MWAAUser permissão para acessar a interface do usuário do Apache Airflow, enquanto a nova função fornece as permissões adicionais necessárias para vê-las. DAGs

Importante

Qualquer um dos 5 perfis padrão (como Admin) não autorizadas pelo IAM que são adicionados usando a IU do Apache Airflow será removido no próximo login do usuário.

Próximas etapas

  • Para saber mais sobre como gerenciar o acesso ao seu ambiente Amazon MWAA e ver exemplos de política do IAM JSON que é possível usar para os usuários do seu ambiente, consulte Como acessar um ambiente do Amazon MWAA

  • Controle de acesso (documentação do Apache Airflow): saiba mais sobre os perfis padrão do Apache Airflow no site de documentação do Apache Airflow.