Usar perfis do IAM com aplicações que chamam diretamente os serviços da AWS
Aplicativos executados nas instâncias do EC2 de um cluster podem usar o perfil de instância do EC2 para obter credenciais de segurança temporárias ao chamarem serviços da AWS.
As versões do Hadoop disponíveis com a versão 2.3.0 e posteriores do Amazon EMR já foram atualizadas para usar perfis do IAM. Se sua aplicação for executada estritamente na arquitetura do Hadoop e não chama diretamente nenhum serviço da AWS, ele deverá funcionar com perfis do IAM sem nenhuma modificação.
Se a aplicação chamar serviços na AWS diretamente, você precisará atualizá-la para aproveitar os perfis do IAM. Isso significa que, em vez de obter credenciais de conta de /etc/hadoop/conf/core-site.xml
nas instâncias do EC2 no cluster, sua aplicação usa um SDK para acessar os recursos usando perfis do IAM ou chama os metadados de instâncias do EC2 para obter as credenciais temporárias.
Acessar os recursos da AWS com perfis do IAM usando um SDK
-
Os tópicos a seguir mostram como usar vários dos AWS SDKs para acessar credenciais temporárias usando perfis do IAM. Cada tópico começa com uma versão de uma aplicação que não usa perfis do IAM e depois percorre o processo de conversão dessa aplicação para usar perfis do IAM.
-
Using IAM roles for Amazon EC2 instances with the SDK for Java no Guia do usuário do AWS SDK for Java
-
Using IAM roles for Amazon EC2 instances with the SDK for .NET no Guia do usuário do AWS SDK for .NET
-
Using IAM roles for Amazon EC2 instances with the SDK for PHP no Guia do usuário do AWS SDK for PHP
-
Using IAM roles for Amazon EC2 instances with the SDK for Ruby no Guia do usuário do AWS SDK for Ruby
-
Para obter credenciais temporárias de metadados de instâncias do EC2
-
Chame a seguinte URL de uma instância do EC2 que está sendo executada com o perfil do IAM especificado, que retorna as credenciais de segurança temporárias associadas (AccessKeyId, SecretAccessKey, SessionToken e Expiration). O exemplo a seguir usa o perfil de instância padrão para o Amazon EMR,
EMR_EC2_DefaultRole
.GET http://169.254.169.254/latest/meta-data/iam/security-credentials/
EMR_EC2_DefaultRole
Para obter mais informações sobre como gravar aplicações que usam perfis do IAM, consulte Granting applications that run on Amazon EC2 instances access to AWS resources.
Para obter mais informações sobre credenciais de segurança temporárias, consulte Using temporary security credentials no guia Using Temporary Security Credentials.