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á.
Como acessar um ambiente do Amazon MWAA
Para usar o Amazon Managed Workflows for Apache Airflow, você deve usar uma conta e entidades do IAM com as permissões necessárias. Esta página descreve as políticas de acesso que você pode anexar à sua equipe de desenvolvimento do Apache Airflow e aos usuários do Apache Airflow para seu ambiente Amazon Managed Workflows for Apache Airflow.
Recomendamos usar credenciais temporárias e configurar identidades federadas com grupos e perfis para acessar seus recursos do Amazon MWAA. Como prática recomendada, evite anexar políticas diretamente aos usuários do IAM e, em vez disso, defina grupos ou funções para fornecer acesso temporário aos AWS recursos.
Um perfil do IAM é uma identidade do IAM que você pode criar em sua conta que tem permissões específicas. Uma função do IAM é semelhante à de um usuário do IAM, pois é uma AWS identidade com políticas de permissões que determinam o que a identidade pode ou não fazer AWS. No entanto, em vez de ser exclusivamente associada a uma pessoa, o propósito do perfil é ser assumido por qualquer pessoa que precisar dele. Além disso, um perfil não tem credenciais de longo prazo padrão associadas a ele, como senha ou chaves de acesso. Em vez disso, quando você assumir um perfil, ele fornecerá credenciais de segurança temporárias para sua sessão de perfil.
Para atribuir permissões a identidades federadas, você pode criar um perfil e definir permissões para o perfil. Quando uma identidade federada é autenticada, essa identidade é associada ao perfil e recebe as permissões definidas pelo mesmo. Para obter mais informações sobre perfis para federação, consulte Criando um Perfil para um Provedor de Identidades Terceirizado no Guia do Usuário do IAM. Se você usa o IAM Identity Center, configure um conjunto de permissões. Para controlar o que suas identidades podem acessar após a autenticação, o IAM Identity Center correlaciona o conjunto de permissões a um perfil no IAM. Para obter informações sobre conjuntos de permissões, consulte Conjuntos de Permissões no AWS IAM Identity Center Manual do Usuário.
Você pode usar uma função do IAM em sua conta para conceder outras Conta da AWS permissões para acessar os recursos da sua conta. Para ver um exemplo, consulte Tutorial: Delegar acesso ao Contas da AWS uso de funções do IAM no Guia do usuário do IAM.
Seções
- Como funciona
- Política completa de acesso ao console: FullConsole AmazonMWAA Access
- Política completa de acesso à API e ao console: FullApi AmazonMWAA Access
- Política de acesso somente para leitura ao console: AmazonMWAA Access ReadOnly
- Política de acesso ao Apache Airflow UI: AmazonMWA Access WebServer
- Política de CLI do Apache Airflow: Acesso ao AmazonMWAA AirflowCli
- Como criar uma política JSON
- Exemplo de caso de uso para anexar políticas a um grupo de desenvolvedores
- Próximas etapas
Como funciona
Os recursos e serviços usados em um ambiente Amazon MWAA não estão acessíveis a todas as entidades AWS Identity and Access Management (IAM). Você deve criar uma política que conceda permissão aos usuários do Apache Airflow para acessar esses recursos. Por exemplo, é preciso conceder acesso à sua equipe de desenvolvimento do Apache Airflow.
O Amazon MWAA usa essas políticas para validar se um usuário tem as permissões necessárias para realizar uma ação no AWS console ou por meio das APIs usadas por um ambiente.
Você pode usar as políticas JSON desse tópico para criar uma política para seus usuários do Apache Airflow no IAM e, em seguida, anexar a política a um usuário, grupo ou perfil no IAM.
-
FullConsoleAcesso ao AmazonMWAA — Use essa política para conceder permissão para configurar um ambiente no console do Amazon MWAA.
-
Acesso ao AmazonMWAA — Use essa política para conceder FullApi acesso a todas as APIs do Amazon MWAA usadas para gerenciar um ambiente.
-
ReadOnlyAcesso ao AmazonMWAA — Use essa política para conceder acesso e visualizar os recursos usados por um ambiente no console do Amazon MWAA.
-
WebServerAcesso ao AmazonMWAA — Use essa política para conceder acesso ao servidor web Apache Airflow.
-
Acesso ao AmazonMWAA — Use essa política para conceder AirflowCli acesso para executar comandos da CLI do Apache Airflow.
Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
-
Usuários e grupos em AWS IAM Identity Center:
Crie um conjunto de permissões. Siga as instruções em Criação de um conjunto de permissões no Guia do usuário do AWS IAM Identity Center .
-
Usuários gerenciados no IAM com provedor de identidades:
Crie um perfil para a federação de identidades. Siga as instruções em Criar um perfil para um provedor de identidades de terceiros (federação) no Guia do usuário do IAM.
-
Usuários do IAM:
-
Crie um perfil que seu usuário possa assumir. Siga as instruções em Criação de um perfil para um usuário do IAM no Guia do usuário do IAM.
-
(Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em Adição de permissões a um usuário (console) no Guia do usuário do IAM.
-
Política completa de acesso ao console: FullConsole AmazonMWAA Access
Um usuário pode precisar acessar a política de permissões AmazonMWAAFullConsoleAccess
se precisar configurar um ambiente no console do Amazon MWAA.
nota
Sua política completa de acesso ao console deve incluir permissões para executar iam:PassRole
. Isso permite que o usuário transfira perfis vinculados a serviços e perfis de execução ao Amazon MWAA. O Amazon MWAA assume cada função para chamar outros AWS serviços em seu nome. O exemplo a seguir usa a chave de condição iam:PassedToService
para especificar a entidade principal de serviço do Amazon MWAA (airflow.amazonaws.com
) como o serviço para o qual um perfil pode ser transferido.
Para obter mais informações sobre issoiam:PassRole
, consulte Conceder permissões a um usuário para passar uma função para um AWS serviço no Guia do usuário do IAM.
Use a política a seguir se quiser criar e gerenciar seus ambientes do Amazon MWAA usando uma Chave pertencente à AWS para criptografia em repouso.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"airflow:*", "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:PassRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:PassedToService":"airflow.amazonaws.com" } } }, { "Effect":"Allow", "Action":[ "iam:ListRoles" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:CreatePolicy" ], "Resource":"arn:aws:iam::
YOUR_ACCOUNT_ID
:policy/service-role/MWAA-Execution-Policy*" }, { "Effect":"Allow", "Action":[ "iam:AttachRolePolicy", "iam:CreateRole" ], "Resource":"arn:aws:iam::YOUR_ACCOUNT_ID
:role/service-role/AmazonMWAA*" }, { "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"arn:aws:iam::*:role/aws-service-role/airflow.amazonaws.com/AWSServiceRoleForAmazonMWAA" }, { "Effect":"Allow", "Action":[ "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:ListBucketVersions" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:CreateBucket", "s3:PutObject", "s3:GetEncryptionConfiguration" ], "Resource":"arn:aws:s3:::*" }, { "Effect":"Allow", "Action":[ "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeRouteTables" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateSecurityGroup" ], "Resource":"arn:aws:ec2:*:*:security-group/airflow-security-group-*" }, { "Effect":"Allow", "Action":[ "kms:ListAliases" ], "Resource":"*" }, { "Effect":"Allow", "Action":"ec2:CreateVpcEndpoint", "Resource":[ "arn:aws:ec2:*:*:vpc-endpoint/*", "arn:aws:ec2:*:*:vpc/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateNetworkInterface" ], "Resource":[ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*" ] } ] }
Use a política a seguir se quiser criar e gerenciar seus ambientes do Amazon MWAA usando uma chave gerenciada pelo cliente para criptografia em repouso. Para usar uma chave gerenciada pelo cliente, o diretor do IAM deve ter permissão para acessar AWS KMS recursos usando a chave armazenada em sua conta.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"airflow:*", "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:PassRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:PassedToService":"airflow.amazonaws.com" } } }, { "Effect":"Allow", "Action":[ "iam:ListRoles" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:CreatePolicy" ], "Resource":"arn:aws:iam::
YOUR_ACCOUNT_ID
:policy/service-role/MWAA-Execution-Policy*" }, { "Effect":"Allow", "Action":[ "iam:AttachRolePolicy", "iam:CreateRole" ], "Resource":"arn:aws:iam::YOUR_ACCOUNT_ID
:role/service-role/AmazonMWAA*" }, { "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"arn:aws:iam::*:role/aws-service-role/airflow.amazonaws.com/AWSServiceRoleForAmazonMWAA" }, { "Effect":"Allow", "Action":[ "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:ListBucketVersions" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:CreateBucket", "s3:PutObject", "s3:GetEncryptionConfiguration" ], "Resource":"arn:aws:s3:::*" }, { "Effect":"Allow", "Action":[ "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeRouteTables" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateSecurityGroup" ], "Resource":"arn:aws:ec2:*:*:security-group/airflow-security-group-*" }, { "Effect":"Allow", "Action":[ "kms:ListAliases" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "kms:DescribeKey", "kms:ListGrants", "kms:CreateGrant", "kms:RevokeGrant", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource":"arn:aws:kms:*:YOUR_ACCOUNT_ID
:key/YOUR_KMS_ID
" }, { "Effect":"Allow", "Action":"ec2:CreateVpcEndpoint", "Resource":[ "arn:aws:ec2:*:*:vpc-endpoint/*", "arn:aws:ec2:*:*:vpc/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateNetworkInterface" ], "Resource":[ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*" ] } ] }
Política completa de acesso à API e ao console: FullApi AmazonMWAA Access
Um usuário pode precisar acessar a política de permissões de AmazonMWAAFullApiAccess
se precisar de acesso a todas as APIs do Amazon MWAA usadas para gerenciar um ambiente. Ela não concede permissões para acesso da IU do Apache Airflow.
nota
Uma política de acesso completa à API deve incluir permissões para executar iam:PassRole
. Isso permite que o usuário transfira perfis vinculados a serviços e perfis de execução ao Amazon MWAA. O Amazon MWAA assume cada função para chamar outros AWS serviços em seu nome. O exemplo a seguir usa a chave de condição iam:PassedToService
para especificar a entidade principal de serviço do Amazon MWAA (airflow.amazonaws.com
) como o serviço para o qual um perfil pode ser transferido.
Para obter mais informações sobre issoiam:PassRole
, consulte Conceder permissões a um usuário para passar uma função para um AWS serviço no Guia do usuário do IAM.
Use a política a seguir se quiser criar e gerenciar seus ambientes Amazon MWAA usando uma Chave pertencente à AWS para criptografia em repouso.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"airflow:*", "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:PassRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:PassedToService":"airflow.amazonaws.com" } } }, { "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"arn:aws:iam::*:role/aws-service-role/airflow.amazonaws.com/AWSServiceRoleForAmazonMWAA" }, { "Effect":"Allow", "Action":[ "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeRouteTables" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:GetEncryptionConfiguration" ], "Resource":"arn:aws:s3:::*" }, { "Effect":"Allow", "Action":"ec2:CreateVpcEndpoint", "Resource":[ "arn:aws:ec2:*:*:vpc-endpoint/*", "arn:aws:ec2:*:*:vpc/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateNetworkInterface" ], "Resource":[ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*" ] } ] }
Use a política a seguir se quiser criar e gerenciar seus ambientes do Amazon MWAA usando uma chave gerenciada pelo cliente para criptografia em repouso. Para usar uma chave gerenciada pelo cliente, o diretor do IAM deve ter permissão para acessar AWS KMS recursos usando a chave armazenada em sua conta.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"airflow:*", "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:PassRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:PassedToService":"airflow.amazonaws.com" } } }, { "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"arn:aws:iam::*:role/aws-service-role/airflow.amazonaws.com/AWSServiceRoleForAmazonMWAA" }, { "Effect":"Allow", "Action":[ "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeRouteTables" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "kms:DescribeKey", "kms:ListGrants", "kms:CreateGrant", "kms:RevokeGrant", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource":"arn:aws:kms:*:
:key/
YOUR_ACCOUNT_ID
" }, { "Effect":"Allow", "Action":[ "s3:GetEncryptionConfiguration" ], "Resource":"arn:aws:s3:::*" }, { "Effect":"Allow", "Action":"ec2:CreateVpcEndpoint", "Resource":[ "arn:aws:ec2:*:*:vpc-endpoint/*", "arn:aws:ec2:*:*:vpc/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateNetworkInterface" ], "Resource":[ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*" ] } ] }
YOUR_KMS_ID
Política de acesso somente para leitura ao console: AmazonMWAA Access ReadOnly
Um usuário pode precisar acessar a política de permissões de AmazonMWAAReadOnlyAccess
se precisar visualizar os recursos usados por um ambiente na página de detalhes do ambiente do console do Amazon MWAA. Ele não permite que um usuário crie novos ambientes, edite ambientes existentes ou permita que um usuário visualize a IU do Apache Airflow.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "airflow:ListEnvironments", "airflow:GetEnvironment", "airflow:ListTagsForResource" ], "Resource": "*" } ] }
Política de acesso ao Apache Airflow UI: AmazonMWA Access WebServer
Um usuário pode precisar acessar a política de permissões de AmazonMWAAWebServerAccess
se precisar acessar a IU do Apache Airflow. Ele não permite que o usuário visualize ambientes no console do Amazon MWAA nem use as APIs do Amazon MWAA para realizar nenhuma ação. Especifique o perfil Admin
, Op
, User
, Viewer
ou Public
em {airflow-role}
para personalizar o nível de acesso do usuário do token da web. Para obter mais informações, consulte Perfis padrão
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "airflow:CreateWebLoginToken", "Resource": [ "arn:aws:airflow:
{your-region}
::role/
YOUR_ACCOUNT_ID
{your-environment-name}
/{airflow-role}
" ] } ] }
nota
O Amazon MWAA fornece integração do IAM com os cinco perfis padrão de controle de acesso baseado em perfil (RBAC) do Apache Airflow
Política de CLI do Apache Airflow: Acesso ao AmazonMWAA AirflowCli
Um usuário pode precisar acessar a política de permissões de AmazonMWAAAirflowCliAccess
se precisar executar comandos de CLI do Apache Airflow (como trigger_dag
). Ele não permite que o usuário visualize ambientes no console do Amazon MWAA nem use as APIs do Amazon MWAA para realizar nenhuma ação.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "airflow:CreateCliToken" ], "Resource": "*" } ] }
Como criar uma política JSON
Você pode criar a política JSON e anexar a política ao seu usuário, perfil ou grupo no console do IAM. As etapas a seguir descrevem como criar uma política JSON no IAM.
Para criar política de JSON
-
Abra a página de Políticas
no console do IAM. -
Escolha Criar política.
-
Escolha a guia JSON.
-
Adicione sua política JSON.
-
Escolha Revisar política.
-
Insira um valor no campo de texto para Nome e Descrição.
Por exemplo, você pode nomear a política
AmazonMWAAReadOnlyAccess
. -
Escolha Criar política.
Exemplo de caso de uso para anexar políticas a um grupo de desenvolvedores
Digamos que você esteja usando um grupo no IAM chamado AirflowDevelopmentGroup
para aplicar permissões a todos os desenvolvedores da sua equipe de desenvolvimento do Apache Airflow. Esses usuários precisam acessar as políticas de permissão AmazonMWAAFullConsoleAccess
, AmazonMWAAAirflowCliAccess
e AmazonMWAAWebServerAccess
. Esta seção descreve como criar um grupo no IAM, criar e anexar essas políticas, e associar o grupo a um usuário do IAM. As etapas pressupõem que você esteja usando uma chave pertencente àAWS.
Para criar a política do AmazonMWAA FullConsoleAccess
-
Baixe a política de acesso do AmazonMWAA FullConsoleAccess .
-
Abra a página de Políticas
no console do IAM. -
Escolha Criar política.
-
Escolha a guia JSON.
-
Cole a política JSON para
AmazonMWAAFullConsoleAccess
. -
Substitua os seguintes valores:
-
{your-account-id} — ID
da sua AWS conta (como)0123456789
-
{your-kms-id}
: o identificador exclusivo de uma chave gerenciada pelo cliente, aplicável somente se você usar uma chave gerenciada pelo cliente para criptografia em repouso.
-
-
Escolha Revisar política.
-
Digite
AmazonMWAAFullConsoleAccess
em Nome. -
Escolha Criar política.
Para criar a política do AmazonMWAA WebServerAccess
-
Baixe a política de acesso do AmazonMWAA WebServerAccess .
-
Abra a página de Políticas
no console do IAM. -
Escolha Criar política.
-
Escolha a guia JSON.
-
Cole a política JSON para
AmazonMWAAWebServerAccess
. -
Substitua os seguintes valores:
-
{your-region}
: a região do seu ambiente do Amazon MWAA (comous-east-1
) -
{your-account-id} — o ID
da sua AWS conta (como)0123456789
-
{your-environment-name}
: o nome do seu ambiente do Amazon MWAA (comoMyAirflowEnvironment
) -
{airflow-role}
: o Perfil padrãodo Apache Airflow Admin
-
-
Escolha Revisar política.
-
Digite
AmazonMWAAWebServerAccess
em Nome. -
Escolha Criar política.
Para criar a política do AmazonMWAA AirflowCliAccess
-
Baixe a política de acesso do AmazonMWAA AirflowCliAccess .
-
Abra a página de Políticas
no console do IAM. -
Escolha Criar política.
-
Escolha a guia JSON.
-
Cole a política JSON para
AmazonMWAAAirflowCliAccess
. -
Escolha Revisar política.
-
Digite
AmazonMWAAAirflowCliAccess
em Nome. -
Escolha Criar política.
Para criar o grupo
-
Abra a página Grupos
no console do IAM. -
Digite um nome de
AirflowDevelopmentGroup
. -
Escolha Next Step.
-
Digite
AmazonMWAA
para filtrar os resultados em Filtro. -
Selecione as três políticas que você criou.
-
Escolha Next Step.
-
Selecione Create Group.
Para associar a um usuário
-
Abra a página Usuários
no console do IAM. -
Escolha um usuário.
-
Selecione Grupos.
-
Escolha Adicionar usuário aos grupos.
-
Selecione o AirflowDevelopmentGrupo.
-
Selecione Add to Groups (Adicionar a grupos).
Próximas etapas
-
Saiba como gerar um token para acessar a interface do Apache Airflow em Acessando o Apache Airflow.
-
Saiba mais sobre a criação de políticas do IAM em Como criar políticas do IAM.