Para configurar o acesso federado ao Amazon Athena para usuários do Microsoft Active Directory Federation Services (AD FS) usando um cliente ODBC, primeiro estabeleça a confiança entre o AD FS e sua conta da AWS. Com essa confiança estabelecida, os usuários do AD podem se federar na AWS usando as credenciais do AD e assumir permissões de um perfil do AWS Identity and Access Management
Para criar essa confiança, você adiciona o AD FS como um provedor SAML à sua Conta da AWS e cria um perfil do IAM que os usuários federados podem assumir. No lado do AD FS, você adiciona a AWS como parte confiável e grava regras de declaração SAML para enviar os atributos de usuário adequados à AWS para autorização (especificamente, do Athena e do Amazon S3).
A configuração do acesso do AD FS ao Athena envolve as seguintes etapas principais:
1. Configuração de um provedor e de um perfil SAML do IAM
3. Criação de usuários e grupos do Active Directory
4. Configuração da conexão ODBC do AD FS para o Athena
1. Configuração de um provedor e de um perfil SAML do IAM
Nesta seção, você adicionará o AD FS como um provedor SAML à sua conta da AWS e criará um perfil do IAM que seus usuários federados poderão assumir.
Para configurar um provedor SAML
Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação, escolha Identity providers (Provedores de identidade).
-
Escolha Add provider (Adicionar provedor).
-
Em Provider type (Tipo de provedor), escolha SAML.
-
Em Provider name (Nome do provedor), insira
adfs-saml-provider
. -
Em um navegador, insira o endereço a seguir para baixar do arquivo XML de federação para seu servidor do AD FS. Para executar essa etapa, o navegador deve ter acesso ao servidor do AD FS.
https://
adfs-server-name
/federationmetadata/2007-06/federationmetadata.xml -
No console do IAM, em Metadata document (Documentos de metadados), escolha Choose file (Escolher arquivo) e, em seguida, realize o upload do arquivo de metadados da federação para a AWS.
-
Para finalizar, escolha Add provider (Adicionar provedor).
Em seguida, você criará o perfil do IAM que seus usuários federados poderão assumir.
Para criar um perfil do IAM para usuários federados
-
No painel de navegação do console do IAM, escolha Roles (Perfis).
-
Selecione Criar função.
-
Em Trusted entity type (Tipo de entidade confiável), escolha SAML 2.0 federation (Federação SAML 2.0).
-
Em SAML 2.0-based provider (Provedor baseado em SAML 2.0), escolha o provedor adfs-saml-provider que você criou.
-
Escolha Permitir acesso programático e ao Console de Gerenciamento da AWS e escolha Próximo.
-
Na página Add permissions (Adicionar permissões), filtre as políticas de permissões do IAM necessárias para o perfil e, em seguida, marque as caixas de seleção correspondentes. Este tutorial anexa as políticas
AmazonAthenaFullAccess
eAmazonS3FullAccess
. -
Escolha Próximo.
-
Na página Name, review, and create (Nomear, analisar e criar), em para Role name (Nome do perfil), insira um nome para o perfil. Este tutorial usa o nome adfs-data-access.
Em Step 1: Select trusted entities (Etapa 1: selecionar entidades confiáveis), o campo Principal (Entidade principal) deve ser preenchido automaticamente com
"Federated:" "arn:aws:iam::
. O campoaccount_id
:saml-provider/adfs-saml-provider"Condition
deve conter"SAML:aud"
e"https://signin.aws.amazon.com/saml"
.Em Step 2: Add permissions (Etapa 2: adicionar permissões) é apresentado as políticas vinculadas ao perfil.
-
Selecione Criar função. Uma mensagem da barra de notificação confirma a criação do perfil.
-
Na página Roles (Perfis), escolha o nome do perfil que você acabou de criar. A página de resumo do perfil mostra as políticas que foram vinculadas.
2. Configuração do AD FS
Agora está tudo pronto para você adicionar a AWS como parte confiável e gravar regras de declaração SAML para poder enviar os atributos de usuário adequados à AWS para autorização.
A federação baseada em SAML tem duas partes participantes: o IdP (Active Directory) e a parte confiável (AWS), que é o serviço ou aplicação que usará a autenticação do IdP.
Para configurar o AD FS, primeiro é necessário adicionar um objeto de confiança de terceira parte confiável e, em seguida, configurar as regras de declaração SAML para a parte confiável. O AD FS usa regras de declaração para formar uma declaração SAML que é enviada para uma parte confiável. A asserção SAML afirma que as informações sobre o usuário do AD são verdadeiras e que o usuário foi autenticado.
Como adicionar um objeto de confiança de terceira parte confiável
Para adicionar um objeto de confiança de terceira parte confiável no AD FS, use o gerenciador de servidores do AD FS.
Para adicionar um objeto de confiança de terceira parte confiável no AD FS
-
Entre no servidor do AD FS.
-
No menu Start (Iniciar), abra Server Manager (Gerenciador do Servidor).
-
Escolha Tools (Ferramentas) e, em seguida, selecione AD FS Management (Gerenciamento do AD FS).
-
No painel de navegação, em Trust Relationships (Relações de confiança), escolha Relying Party Trusts (Objeto de confiança de terceira parte confiável).
-
Em Actions (Ações), escolha Add Relying Party Trust (Adicionar objeto de confiança de terceira parte confiável).
-
Na página Add Relying Party Trust Wizard (Assistente para adicionar confiança da parte dependente) escolha Start (Iniciar).
-
Na tela Select Data Source (Selecionar fonte de dados), selecione a opção Import data about the relying party published online or on a local network (Importar dados sobre a parte confiável publicados online ou em uma rede local).
-
Em Federation metadata address (host name or URL) (Endereço de metadados de federação [nome do host ou URL]), insira o URL
https://signin.aws.amazon.com/static/saml-metadata.xml
. -
Escolha Next (próximo).
-
Na página Specify Display Name (Especificar nome de exibição), em Display name (Nome de exibição), insira um nome de exibição para a parte confiável e, em seguida, escolha Next (Avançar).
-
Na página Configure Multi-factor Authentication Now (Configurar autenticação multifator agora), este tutorial seleciona I do not want to configure multi-factor authentication for this relying party trust at this time (Não desejo configurar a autenticação multifator para esse objeto de confiança de terceira parte confiável no momento).
Para obter mais segurança, recomendamos que você configure a autenticação multifator para ajudar a proteger seus recursos da AWS. Como é usado um conjunto de dados de amostra, este tutorial não habilita a autenticação multifator.
-
Escolha Próximo.
-
Na página Choose Issuance Authorization Rules (Escolher regras de autorização de emissão), selecione Permit all users to access this relying party (Permitir que todos os usuários acessem esta parte confiável).
Essa opção permite que todos os usuários no Active Directory usem o AD FS com a AWS como parte confiável. Você deve considerar seus requisitos de segurança e ajustar essa configuração em conformidade.
-
Escolha Próximo.
-
Na página Ready to Add Trust (Pronto para adicionar confiança), escolha Next (Avançar) para adicionar o objeto de confiança de terceira parte confiável ao banco de dados de configuração do AD FS.
-
Na página Finish (Concluir), escolha Close (Fechar).
Configuração de regras de declaração SAML para a parte confiável
Nesta tarefa, você criará dois conjuntos de regras de declaração.
O primeiro conjunto, as regras de 1 a 4, contém regras de declaração do AD FS que são necessárias para assumir um perfil do IAM com base na associação ao grupo do AD. Essas são regras semelhantes as que você cria se desejar estabelecer acesso federado ao AWS Management Console
O segundo conjunto, as regras 5 e 6, são regras de declaração necessárias para o controle de acesso do Athena.
Para criar regras de declaração do AD FS
-
No painel de navegação do console AD FS Management, escolha Trust Relationships (Relações de confiança) e Relying Party Trusts (Objetos de confiança de terceira parte confiável).
-
Localize a parte confiável criada na seção anterior.
-
Clique com o botão direito do mouse na parte confiável e escolha Edit Claim Rules (Editar regras de declaração) ou escolha Edit Claim Rules (Editar regras de declaração) no menu Actions (Ações).
-
Escolha Add Rule.
-
Na página Configure Rule (Configurar regra) do Assistente para adição de uma regra de declaração de transformação, insira as informações a seguir para criar a regra de declaração 1 e, em seguida, escolha Finish (Concluir).
-
Em Claim rule name (Nome da regra de declaração), insira
NameID
. -
Em Rule template (Modelo de regra), use Transform an Incoming Claim (Transformar uma declaração de entrada).
-
Em Incoming claim type (Tipo da declaração de entrada), escolha Windows Account Name (Nome da conta do Windows).
-
Em Outgoing claim type (Tipo da declaração de saída), escolha Name ID (ID do nome).
-
Em Outgoing name ID format (Formato de ID de nome de saída), escolha Persistent Identifier (Identificador persistente).
-
Selecione Pass through all claim values (Transmitir todos os valores de declaração).
-
-
Escolha Add Rule (Adicionar regra), insira as informações a seguir para criar a regra de declaração 2 e, em seguida, escolha Finish (Concluir).
-
Em Claim rule name (Nome da regra de declaração), insira
RoleSessionName
. -
Em Rule template (Modelo de regra), use Send LDAP Attribute as Claims (Enviar atributo LDAP como declarações).
-
Em Attribute store (Armazenamento de atributos), escolha Active Directory.
-
Em Mapping of LDAP attributes to outgoing claim types (Mapeamento de atributos LDAP para tipos de declaração de saída), adicione o atributo
E-Mail-Addresses
. Em Outgoing Claim Type (Tipo da declaração de saída), insirahttps://aws.amazon.com/SAML/Attributes/RoleSessionName
.
-
-
Escolha Add Rule (Adicionar regra), insira as informações a seguir para criar a regra de declaração 3 e, em seguida, escolha Finish (Concluir).
-
Em Claim rule name (Nome da regra de declaração), insira
Get AD Groups
. -
Em Rule template (Modelo de regra), use Send Claims Using a Custom Rule (Enviar declarações usando uma regra personalizada).
-
Em Custom rule (Regra personalizada), insira o código a seguir:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]=> add(store = "Active Directory", types = ("http://temp/variable"), query = ";tokenGroups;{0}", param = c.Value);
-
-
Escolha Add Rule. Insira as informações a seguir para criar a regra de declaração 4 e escolha Finish (Concluir).
-
Em Claim rule name (Nome da regra de declaração), insira
Role
. -
Em Rule template (Modelo de regra), use Send Claims Using a Custom Rule (Enviar declarações usando uma regra personalizada).
-
Em Custom rule (Regra personalizada), insira o código a seguir com o número da sua conta e o nome do provedor SAML que você criou anteriormente:
c:[Type == "http://temp/variable", Value =~ "(?i)^aws-"]=> issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "aws-", "arn:aws:iam::AWS_ACCOUNT_NUMBER:saml-provider/adfs-saml-provider,arn:aws:iam:: AWS_ACCOUNT_NUMBER:role/"));
-
3. Criação de usuários e grupos do Active Directory
Agora está tudo pronto para que você crie usuários do AD que acessarão o Athena e grupos do AD para posicioná-los para que você possa controlar os níveis de acesso por grupo. Após a criação de grupos do AD que categorizam padrões de acesso a dados, você adicionará seus usuários a esses grupos.
Para criar usuários do AD que acessem o Athena
-
No painel Gerenciador do servidor, escolha Tools (Ferramentas) e, em seguida, selecione Active Directory Users and Computers (Usuários e computadores do Active Directory).
-
No painel de navegação, escolha Users.
-
Na barra de ferramentas Active Directory Users and Computers (Usuários e computadores do Active Directory), escolha a opção Create user (Criar usuário).
-
Na caixa de diálogo New Object – User (Novo objeto: usuário), em First name (Nome), Last name (Sobrenome) e Full name (Nome completo), insira um nome. Este tutorial usa
Jane Doe
. -
Escolha Próximo.
-
Em Password (Senha), insira uma senha e digite-a novamente para confirmar.
Para simplificar, este tutorial desmarca User must change password at next sign on (O usuário deve alterar a senha no próximo login). Em cenários reais, você deve requerer que os usuários recém-criados alterem suas senhas.
-
Escolha Próximo.
-
Escolha Terminar.
-
Em Active Directory Users and Computers (Usuários e computadores do Active Directory), escolha o nome de usuário.
-
Na caixa de diálogo Properties (Propriedades) para o usuário, em E-mail, insira um endereço de e-mail. Este tutorial usa
jane@example.com
. -
Escolha OK.
Criação de grupos do AD para representar padrões de acesso a dados
É possível criar grupos do AD cujos membros assumem o perfil do IAM adfs-data-access
ao fazerem login na AWS. O exemplo a seguir criará um grupo AD chamado aws-adfs-data-access.
Para criar um grupo do AD
-
No Painel do gerenciador do servidor, no menu Tools (Ferramentas), escolha Active Directory Users and Computers (Usuários e computadores do Active Directory).
-
Na barra de ferramentas, escolha a opção Create new group (Criar novo grupo).
-
Na caixa de diálogo New Object - Group (Novo objeto: grupo), insira as informações a seguir:
-
Em Group name (Nome do grupo), digite
aws-adfs-data-access
. -
Em Group scope (Escopo do grupo), selecione Global (Global).
-
Em Group type (Tipo de grupo), selecione Security (Segurança).
-
-
Escolha OK.
Adição de usuários do AD aos grupos apropriados
Agora que você criou um usuário AD e um grupo do AD, poderá adicionar o usuário ao grupo.
Para adicionar um usuário do AD a um grupo do AD
-
No Painel do gerenciador do servidor, no menu Tools (Ferramentas), escolha Active Directory Users and Computers (Usuários e computadores do Active Directory).
-
Em First name (Nome) e Last name (Sobrenome), escolha um usuário (por exemplo, Jane Doe).
-
Na caixa de diálogo Properties (Propriedades) para o usuário, na guia Member Of (Membro de), escolha Add (Adicionar).
-
Adicione um ou mais grupos do AD FS de acordo com os seus requisitos. Este tutorial adiciona o grupo aws-adfs-data-access.
-
Na caixa de diálogo Select Groups (Selecionar grupos), em Enter the object names to select (Digitar os nomes dos objetos a serem selecionados), digite o nome do grupo AD FS que você criou (por exemplo,
aws-adfs-data-access
) e, em seguida, escolha Check Names (Verificar nomes). -
Escolha OK.
Na caixa de diálogo Properties (Propriedades) para o usuário, o nome do grupo do AD aparecerá na lista Member of (Membro de).
-
Escolha Apply (Aplicar) e, em seguida, escolha OK.
4. Configuração da conexão ODBC do AD FS para o Athena
Após a criação dos usuários e grupos do AD, está tudo pronto para você usar o programa de fontes de dados do ODBC no Windows para configurar sua conexão ODBC do Athena para o AD FS.
Para configurar a conexão ODBC do AD FS para o Athena
-
Instale o driver ODBC para Athena. Para obter os links para baixar, consulte Conectar ao Amazon Athena com ODBC.
-
No Windows, escolha Start (Iniciar) e ODBC Data Sources (Fontes de dados do ODBC).
-
No programa ODBC Data Source Administrator, escolhaAdd (Adicionar).
-
Na caixa de diálogo Create New Data Source (Criar nova fonte de dados), escolha Simba Athena ODBC Driver (Driver ODBC do Simba Athena) e, em seguida, selecione Finish (Concluir).
-
Na caixa de diálogo Simba Athena ODBC Driver DSN Setup (Configuração de DNS do driver ODBC do Simba Athena), insira os valores a seguir:
-
Para Data Source Name (Nome da fonte de dados), insira um nome para a fonte de dados (por exemplo,
Athena-odbc-test
). -
Em Description (Descrição), insira uma descrição para a origem dos dados.
-
Para Região da AWS, insira a Região da AWS que você está usando (por exemplo,
us-west-1
). -
Para S3 Output Location, (Local de saída do S3), insira o caminho do Amazon S3 onde deseja que sua saída seja armazenada.
-
-
Escolha Authentication Options (Opções de autenticação).
-
Na caixa de diálogo Authentication Options (Opções de autenticação), especifique os valores a seguir:
-
Em Authentication Type (Tipo de autenticação), escolha ADFS.
-
Em User (Usuário), insira o endereço de e-mail do usuário (por exemplo,
jane@example.com
). -
Em Password (Senha), insira a senha do ADFS do usuário.
-
Em IdP Host (Host do IdP), insira o nome do servidor do AD FS (por exemplo,
adfs.example.com
). -
Em IdP Port (Porta do IdP), use o valor padrão 443.
-
Selecione a opção SSL Insecure.
-
-
Escolha OK para fechar as Authentication Options (Opções de autenticação).
-
Selecione Test (Testar) para testar a conexão ou OK para finalizar.