

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
<a name="limit-access-to-dags"></a>

O Amazon MWAA gerencia o acesso ao seu ambiente mapeando suas entidades principais do IAM para um ou mais [perfis padrão](https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html#default-roles) do Apache Airflow. Use o tutorial a seguir para restringir usuários individuais do Amazon MWAA a acessar e interagir somente 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.

**Topics**
+ [Pré-requisitos](#limit-access-to-dags-prerequisites)
+ [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.](#limit-access-to-dags-apply-public-access)
+ [Etapa dois: criar um novo perfil personalizado do Apache Airflow](#limit-access-to-dags-create-new-airflow-role)
+ [Etapa três: atribuir o perfil que você criou ao seu usuário do Amazon MWAA](#limit-access-to-dags-assign-role)
+ [Próximas etapas](#limit-access-to-dags-next-up)
+ [Recursos relacionados](#limit-access-to-dags-related-resources)

## Pré-requisitos
<a name="limit-access-to-dags-prerequisites"></a>

Para concluir os passos deste tutorial, você precisará do seguinte:
+ Um [ambiente Amazon MWAA com vários DAGs](get-started.md)
+ Um diretor do IAM, `Admin` com [AdministratorAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AdministratorAccess$jsonEditor)permissões, e um usuário do IAM`MWAAUser`, como principal para o qual você pode limitar o acesso ao DAG. Para obter mais informações sobre perfis de administrador, consulte [Função de trabalho de administrador](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator) no *Guia do usuário do IAM*
**nota**  
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](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install) instalada.

## 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.
<a name="limit-access-to-dags-apply-public-access"></a>

**Para conceder permissão usando o Console de gerenciamento da AWS**

1. Faça login no seu Conta da AWS com uma `Admin` função e abra o [console do IAM](https://console.aws.amazon.com/iam/).

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

1. 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**.

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

1. 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.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "airflow:CreateWebLoginToken",
               "Resource": [
               "arn:aws:airflow:us-east-1:111122223333:role/YOUR_ENVIRONMENT_NAME/Public"
               ]
           }
       ]
   }
   ```

------

## Etapa dois: criar um novo perfil personalizado do Apache Airflow
<a name="limit-access-to-dags-create-new-airflow-role"></a>

**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](https://console.aws.amazon.com/mwaa/home) e inicie a interface de usuário do Apache Airflow do seu ambiente.

1. 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.

1. 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.

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

1. 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 DAGs` e`can 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ê tem uma nova função que limita o acesso a um subconjunto dos DAGs disponíveis em seu ambiente 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
<a name="limit-access-to-dags-assign-role"></a>

**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 Web do ambiente.

   ```
   aws mwaa get-environment --name YOUR_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"
   ```

1. Com `MWAAUser` login no Console de gerenciamento da AWS, abra uma nova janela do navegador e acesse o seguinte URl. Substitua `Webserver-URL` por suas informações.

   ```
   https://<Webserver-URL>/home
   ```

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

1. Depois de fazer `Admin` login no Console de gerenciamento da AWS, abra o console do Amazon MWAA novamente e inicie a interface do Apache Airflow do seu ambiente.

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

1. 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`.

1. 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 obtê-la. 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
<a name="limit-access-to-dags-next-up"></a>
+ 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](access-policies.md)

## Recursos relacionados
<a name="limit-access-to-dags-related-resources"></a>
+ [Controle de acesso](https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html) (documentação do Apache Airflow): saiba mais sobre os perfis padrão do Apache Airflow no site de documentação do Apache Airflow.