Usar grupos de trabalho do Athena habilitados para o IAM Identity Center - Amazon Athena

Usar grupos de trabalho do Athena habilitados para o IAM Identity Center

O recurso de propagação de identidade confiável do AWS IAM Identity Center permite que as identidades da força de trabalho sejam usadas nos serviços de análise da AWS. A propagação de identidade confiável evita que você precise executar configurações específicas de serviço para o provedor de identidades ou definições para o perfil do IAM.

Com o Centro de Identidade do IAM, é possível gerenciar a segurança de login para as identidades da força de trabalho, também conhecidas como usuários da força de trabalho. O Centro de Identidade do IAM oferece um local no qual é possível criar ou conectar usuários da força de trabalho e gerenciar de forma centralizada o acesso deles em todas as contas e aplicações da AWS. É possível usar permissões de várias contas para atribuir acesso a Contas da AWS a esses usuários. Você pode usar as atribuições de aplicações para atribuir aos seus usuários acesso a aplicações habilitadas para o Centro de Identidade do IAM, aplicações em nuvem e aplicações do Security Assertion Markup Language (SAML 2.0) do cliente. Para obter mais informações, consulte Trusted identity propagation across applications no Guia do usuário do AWS IAM Identity Center.

No momento, o suporte do Athena SQL para a propagação de identidade confiável permite usar a mesma identidade para o Amazon EMR Studio e para a interface do Athena SQL no EMR Studio. Para usar as identidades do Centro de Identidade do IAM com o Athena SQL no EMR Studio, é necessário criar grupos de trabalho habilitados para o Centro de Identidade do IAM no Athena. Em seguida, é possível usar o console ou a API do Centro de Identidade do IAM para atribuir usuários ou grupos do Centro de Identidade do IAM aos grupos de trabalho do Athena habilitados para o Centro de Identidade do IAM. As consultas de um grupo de trabalho do Athena que usa propagação de identidade confiável devem ser executadas na interface do Athena SQL em um EMR Studio que tenha o Centro de Identidade do IAM habilitado.

Considerações e limitações

Ao usar a propagação de identidade confiável com o Amazon Athena, considere os seguintes pontos:

  • Não é possível alterar o método de autenticação para o grupo de trabalho após sua criação.

    • Os grupos de trabalho do Athena SQL existentes não podem ser modificados para oferecer suporte aos grupos de trabalho habilitados para o Centro de Identidade do IAM.

    • Os grupos de trabalho habilitados para o Centro de Identidade do IAM não podem ser modificados para oferecer suporte a permissões do IAM em nível de recurso ou a políticas do IAM baseadas em identidade.

  • Para acessar grupos de trabalho habilitados para a propagação de identidade confiável, os usuários do Centro de Identidade do IAM devem ser atribuídos ao IdentityCenterApplicationArn que é retornado pela resposta da ação de API GetWorkGroup do Athena.

  • As concessões de acesso do Amazon S3 devem ser configuradas para usar identidades de propagação de identidade confiável. Para obter mais informações, consulte S3 Access Grants and corporate directory identities no Guia do usuário do Amazon S3.

  • Os grupos de trabalho do Athena habilitados para o Centro de Identidade do IAM requerem que o Lake Formation seja configurado para usar as identidades do Centro de Identidade do IAM. Para obter informações sobre a configuração, consulte Integrating IAM Identity Center no Guia do desenvolvedor do AWS Lake Formation.

  • Por padrão, as consultas atingem o tempo limite após 30 minutos em grupos de trabalho que usam a propagação de identidade confiável. É possível solicitar um aumento para o tempo limite da consulta, mas o tempo limite máximo em que uma consulta pode ser executada em grupos de trabalho de propagação de identidade confiável é de uma hora.

  • As alterações de direitos de usuários ou de grupos em grupos de trabalho de propagação de identidade confiável podem demorar até uma hora para entrar em vigor.

  • As consultas em um grupo de trabalho do Athena que usa propagação de identidade confiável não podem ser executadas usando o console do Athena de forma direta. As consultas devem ser executadas usando a interface do Athena em um EMR Studio que tenha o Centro de Identidade do IAM habilitado. Para obter mais informações sobre como usar o Athena no EMR Studio, consulte Use the Amazon Athena SQL editor in EMR Studio no Guia de gerenciamento do Amazon EMR.

  • A propagação de identidade confiável não é compatível com os recursos do Athena apresentados a seguir.

    • Chaves de contexto aws:CalledVia.

    • Grupos de trabalho do Athena para Spark.

    • Acesso federado à API do Athena.

    • Acesso federado ao Athena usando o Lake Formation e os drivers JDBC e ODBC do Athena.

  • É possível usar a propagação de identidade confiável com o Athena somente nas seguintes Regiões da AWS:

    • us-east-2: Leste dos EUA (Ohio)

    • us-east-1: Leste dos EUA (Norte da Virgínia)

    • us-west-1: Oeste dos EUA (Norte da Califórnia)

    • us-west-2: Oeste dos EUA (Oregon)

    • af-south-1: África (Cidade do Cabo)

    • ap-east-1: Ásia-Pacífico (Hong Kong)

    • ap-southeast-3: Ásia-Pacífico (Jacarta)

    • ap-south-1: Ásia-Pacífico (Mumbai)

    • ap-northeast-3: Asia Pacific (Osaka)

    • ap-northeast-2: Ásia-Pacífico (Seul)

    • ap-southeast-1: Ásia-Pacífico (Singapura)

    • ap-southeast-2: Ásia-Pacífico (Sydney)

    • ap-northeast-1: Ásia-Pacífico (Tóquio)

    • ca-central-1: Canadá (Central)

    • eu-central-1: Europa (Frankfurt)

    • eu-west-1: Europa (Irlanda)

    • eu-west-2: Europa (Londres)

    • eu-south-1: Europa (Milão)

    • eu-west-3: Europa (Paris)

    • eu-north-1: Europa (Estocolmo)

    • me-south-1: Oriente Médio (Bahrein)

    • sa-east-1: América do Sul (São Paulo)

O usuário do IAM do administrador que cria o grupo de trabalho habilitado para o Centro de Identidade do IAM no console do Athena deve ter as políticas apresentadas a seguir anexadas.

  • A política gerenciada AmazonAthenaFullAccess. Para obter detalhes, consulte Política gerenciada pela AWS: AmazonAthenaFullAccess.

  • A seguinte política em linha que permite ações do IAM e do Centro de Identidade do IAM:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:createRole", "iam:CreatePolicy", "iam:AttachRolePolicy", "iam:ListRoles", "iam:PassRole", "identitystore:ListUsers", "identitystore:ListGroups", "identitystore:CreateUser", "identitystore:CreateGroup", "sso:ListInstances", "sso:CreateInstance", "sso:DeleteInstance", "sso:DescribeUser", "sso:DescribeGroup", "sso:ListTrustedTokenIssuers", "sso:DescribeTrustedTokenIssuer", "sso:ListApplicationAssignments", "sso:DescribeRegisteredRegions", "sso:GetManagedApplicationInstance", "sso:GetSharedSsoConfiguration", "sso:PutApplicationAssignmentConfiguration", "sso:CreateApplication", "sso:DeleteApplication", "sso:PutApplicationGrant", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationAccessScope", "sso:ListDirectoryAssociations", "sso:CreateApplicationAssignment", "sso:DeleteApplicationAssignment", "organizations:ListDelegatedAdministrators", "organizations:DescribeAccount", "organizations:DescribeOrganization", "organizations:CreateOrganization", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:CreateUser" ], "Effect": "Allow", "Resource": [ "*" ] } ] }

Criação de um grupo de trabalho do Athena habilitado para o Centro de Identidade do IAM

O procedimento apresentado a seguir mostra as etapas e as opções relacionadas à criação de um grupo de trabalho do Athena habilitado para o Centro de Identidade do IAM. Para obter uma descrição das outras opções de configuração disponíveis para grupos de trabalho do Athena, consulte Criar um grupo de trabalho.

Como criar um grupo de trabalho habilitado para o SSO no console do Athena
  1. Abra o console do Athena em https://console.aws.amazon.com/athena/.

  2. No painel de navegação do console do Athena, escolha Workgroups (Grupos de trabalho).

  3. Na página Workgroups (Grupos de trabalho), escolha Create workgroup (Criar grupo de trabalho).

  4. Na página Criar grupo de trabalho, em Nome do grupo de trabalho, insira um nome para o grupo de trabalho.

  5. Em Mecanismo de análise, use o padrão Athena SQL.

  6. Em Autenticação, escolha Centro de Identidade do IAM.

  7. Em Perfil de serviço para acesso ao Centro de Identidade do IAM, escolha um perfil de serviço existente ou crie um perfil novo.

    O Athena requer permissões para acessar o Centro de Identidade do IAM para você. Um perfil de serviço é necessário para que o Athena faça isso. Um perfil de serviço corresponde a um perfil do IAM gerenciado por você que autoriza um serviço da AWS a acessar outros serviços da AWS em seu nome. Para obter mais informações, consulte Criação de uma função para delegar permissões a um AWS serviço no Guia do usuário do IAM.

  8. Expanda Configuração do resultado da consulta e, em seguida, insira ou escolha um caminho do Amazon S3 para Localização do resultado da consulta.

  9. (Opcional) Escolha Criptografar resultados da consulta.

  10. (Opcional) Escolha Criar prefixo do S3 baseado na identidade do usuário.

    Ao criar um grupo de trabalho habilitado para o Centro de Identidade do IAM, a opção Habilitar concessões de acesso ao S3 é selecionada por padrão. É possível usar as concessões de acesso do Amazon S3 para controlar o acesso às localizações dos resultados das consultas do Athena (prefixos) no Amazon S3. Para obter mais informações sobre as concessões de acesso do Amazon S3, consulte Managing access with Amazon S3 Access Grants.

    Em grupos de trabalho do Athena que usam a autenticação do Centro de Identidade do IAM, é possível habilitar a criação de localizações dos resultados das consultas baseados em identidade que são controlados pelas concessões de acesso do Amazon S3. Esses prefixos do Amazon S3 baseados na identidade do usuário permitem que os usuários em um grupo de trabalho do Athena mantenham os resultados de suas consultas isolados de outros usuários no mesmo grupo de trabalho.

    Quando você habilita a opção de prefixo do usuário, o Athena anexa o ID do usuário como um prefixo de caminho do Amazon S3 à localização de saída do resultado da consulta para o grupo de trabalho (por exemplo, s3://amzn-s3-demo-bucket/${user_id}). Para usar esse recurso, você deve configurar concessões de acesso para permitir somente ao usuário a permissão para o local que tem o prefixo user_id. Para obter um exemplo da política de função de localização do Amazon S3 Access Grants que restringe o acesso aos resultados das consultas do Athena, consulte Exemplo de política de função.

    nota

    A seleção da opção de prefixo do S3 da identidade do usuário habilita automaticamente a opção de substituição de configurações do lado do cliente para o grupo de trabalho, conforme descrito na próxima etapa. A opção de substituir configurações do lado do cliente é um requisito para o recurso de prefixo da identidade do usuário.

  11. Expanda Configurações e, em seguida, confirme se a opção Substituir configurações do lado do cliente está selecionada.

    Quando você seleciona Substituir configurações do lado do cliente, as configurações do grupo de trabalho são aplicadas no nível do grupo de trabalho para todos os clientes do grupo de trabalho. Para ter mais informações, consulte Override client-side settings (Substituir configurações no lado do cliente).

  12. (Opcional) Faça quaisquer outras configurações necessárias, conforme descrito em Criar um grupo de trabalho.

  13. Escolha Create workgroup (Criar grupo de trabalho).

  14. Use a seção Grupos de trabalho do console do Athena para atribuir usuários ou grupos do seu diretório do IAM Identity Center ao seu grupo de trabalho do Athena habilitado para o IAM Identity Center.

O exemplo a seguir mostra uma política para uma função a ser anexada a um local do Amazon S3 Access Grants que restringe o acesso aos resultados da consulta do Athena.

{ "Statement": [{ "Action": ["s3:*"], "Condition": { "ArnNotEquals": { "s3:AccessGrantsInstanceArn": "arn:aws:s3:${region}:${account}:access-grants/default" }, "StringNotEquals": { "aws:ResourceAccount": "${account}" } }, "Effect": "Deny", "Resource": "*", "Sid": "ExplicitDenyS3" }, { "Action": ["kms:*"], "Effect": "Deny", "NotResource": "arn:aws:kms:${region}:${account}:key/${keyid}", "Sid": "ExplictDenyKMS" }, { "Action": ["s3:ListMultipartUploadParts", "s3:GetObject"], "Condition": { "ArnEquals": { "s3:AccessGrantsInstanceArn": "arn:aws:s3:${region}:${account}:access-grants/default" }, "StringEquals": { "aws:ResourceAccount": "${account}" } }, "Effect": "Allow", "Resource": "arn:aws:s3:::ATHENA-QUERY-RESULT-LOCATION/${identitystore:UserId}/*", "Sid": "ObjectLevelReadPermissions" }, { "Action": ["s3:PutObject", "s3:AbortMultipartUpload"], "Condition": { "ArnEquals": { "s3:AccessGrantsInstanceArn": "arn:aws:s3:${region}:${account}:access-grants/default" }, "StringEquals": { "aws:ResourceAccount": "${account}" } }, "Effect": "Allow", "Resource": "arn:aws:s3:::ATHENA-QUERY-RESULT-LOCATION/${identitystore:UserId}/*", "Sid": "ObjectLevelWritePermissions" }, { "Action": "s3:ListBucket", "Condition": { "ArnEquals": { "s3:AccessGrantsInstanceArn": "arn:aws:s3:${region}:${account}:access-grants/default" }, "StringEquals": { "aws:ResourceAccount": "${account}" }, "StringLikeIfExists": { "s3:prefix": ["${identitystore:UserId}", "${identitystore:UserId}/*"] } }, "Effect": "Allow", "Resource": "arn:aws:s3:::ATHENA-QUERY-RESULT-LOCATION", "Sid": "BucketLevelReadPermissions" }, { "Action": ["kms:GenerateDataKey", "kms:Decrypt"], "Effect": "Allow", "Resource": "arn:aws:kms:${region}:${account}:key/${keyid}", "Sid": "KMSPermissions" }], "Version": "2012-10-17" }