Tutorial: Restringir 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
nota
As etapas deste tutorial podem ser concluídas usando o acesso federado, desde que as perfis do IAM possam ser assumidas.
Tópicos
Pré-requisitos
Para concluir os passos deste tutorial, você precisará do seguinte:
-
Uma entidade principal do IAM,
Admin, com permissões de AdministratorAccess, e um usuário do IAM MWAAUser, como entidade principal para a qual é possível limitar o acesso ao DAG. Para obter mais informações sobre perfis de administrador, consulte Função de trabalho de administrador no Guia do usuário do IAMnota
Não vincule políticas de permissão diretamente aos seus usuários do IAM. Recomendamos configurar perfis do IAM que os usuários possam assumir para obter acesso temporário aos seus recursos do Amazon MWAA.
-
AWS Command Line Interface versão 2 instalado.
Etapa 1: forneça acesso ao servidor Web do Amazon MWAA à sua entidade principal do IAM com o perfil padrão Public do Apache Airflow.
Para conceder permissão usando Console de gerenciamento da AWS
-
Faça login em sua Conta da AWS com o perfil
Admine abra o console do IAM. -
No painel de navegação à esquerda, selecione Usuários e escolha o usuário do Amazon MWAA IAM.
-
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.
-
Na seção Definir permissões, escolha Anexar políticas existentes diretamente e escolha Criar política.
-
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
Publicdo Apache Airflow.
Etapa dois: criar um novo perfil personalizado do Apache Airflow
Para criar um novo perfil usando a IU do Apache Airflow
-
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. -
No painel de navegação na parte superior, passe o mouse sobre Segurança para abrir a lista suspensa e escolha Listar perfis para acessar os perfis padrão do Apache Airflow.
-
Na lista de perfis, selecione Usuário e, no início 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.
-
Localize a nova função que você criou na tabela e escolha Editar registro.
-
Na página Switch Role, faça o seguinte:
-
Em Nome, digite um novo nome para o perfil no campo de texto. Por exemplo,
Restricted. -
Para obter a lista de Permissões, remova
can read on DAGsecan edit on DAGs, adicione as permissões de leitura e gravação para o conjunto de DAGs aos quais você deseja fornecer acesso. Por exemplo, para um DAG,example_dag.py, adicioneecan read on DAG:example_dag.can edit on DAG:example_dag
Escolha Salvar. Agora você tem um novo perfil que limita o acesso a um subconjunto de DAGs disponíveis em seu ambiente do Amazon MWAA. Você pode 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
-
Usando as credenciais de acesso para
MWAAUser, execute o comando da CLI a seguir para recuperar o URL do servidor Web do ambiente.aws mwaa get-environment --nameYOUR_ENVIRONMENT_NAME| jq '.Environment.WebserverUrl'Se isso for feito corretamente, você terá o seguinte resultado:
"ab1b2345-678a-90a1-a2aa-34a567a8a901.c13.us-west-2.airflow.amazonaws.com"
-
Com
MWAAUserfeito login no Console de gerenciamento da AWS, abra uma nova janela do navegador e acesse o seguinte URL. SubstituaWebserver-URLpor suas informações.https://<Webserver-URL>/homeSe isso for feito corretamente, você verá uma página de erro
Forbiddenporque oMWAAUserainda não recebeu permissão para acessar a IU do Apache Airflow. -
Quando
Adminfizer login para Console de gerenciamento da AWS, abra o console do Amazon MWAA novamente e inicie a IU do Apache Airflow do seu ambiente. -
No painel da interface do usuário, expanda a lista suspensa Segurança e, desta vez, escolha Listar usuários.
-
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 -
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.
A entidade principal
Publicdo IAM concede aoMWAAUserpermissão para acessar a IU do Apache Airflow, enquanto o novo perfil fornece as permissões adicionais necessárias para obter os DAGs.
Importante
Qualquer um dos 5 perfis padrão (como Admin) não autorizados 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 do Amazon MWAA e ver exemplos de políticas do IAM de JSON que podem ser usadas para os usuários do seu ambiente, consulte Como acessar um ambiente do Amazon MWAA
Recursos relacionados
-
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.