Perfis do IAM para aplicações que são executadas em instâncias do Amazon EC2
Aplicações executadas em instâncias do Amazon EC2 precisam de credenciais para acessar outros Serviços da AWS. Para fornecer essas credenciais de uma maneira segura, use um perfil do IAM. A função fornece permissões temporárias que a aplicação pode usar ao acessar outros recursos da AWS. As permissões da função determinam o que a aplicação tem permissão para fazer.
Para instâncias em um grupo do Auto Scaling, é necessário criar uma configuração de execução ou um modelo de execução e escolher um perfil de instância para associar às instâncias. Um perfil de instância é um contêiner para um perfil do IAM que permite ao Amazon EC2 passar o perfil do IAM para uma instância quando ela é iniciada. Primeiro, crie um perfil do IAM que tenha todas as permissões necessárias para acessar os recursos da AWS. Depois, crie o perfil da instância e atribua a função a ele.
nota
Como melhor prática, é altamente recomendável criar a função para que ela tenha as permissões mínimas para outros Serviços da AWS que sua aplicação exige.
Pré-requisitos
Crie o perfil do IAM que a aplicação em execução no Amazon EC2 pode assumir. Escolha as permissões apropriadas para que a aplicação que receber a função possa fazer as chamadas de API específicas necessárias.
Quando você usa o console do IAM em vez da AWS CLI ou um dos AWS SDKs, o console cria automaticamente um perfil de instância e atribui a ele o mesmo nome da função correspondente.
Para criar um perfil do IAM (console)
Abra o console do IAM, em https://console.aws.amazon.com/iam/
. -
No painel de navegação à esquerda, escolha Roles (Funções).
-
Selecione Criar perfil.
-
Em Select trusted entity (Selecionar entidade confiável), escolha AWS Service (Serviço).
-
Para seu caso de uso, escolha EC2 e escolha Next (Próximo).
-
Se possível, selecione a política a ser usada para a política de permissões ou escolha Create policy (Criar política) para abrir uma nova guia no navegador e criar uma nova política a partir do zero. Para obter mais informações, consulte Creating IAM policies (Criar políticas do IAM) no IAM User Guide (Guia do usuário do IAM). Depois de criar a política, feche essa guia e retorne à guia original. Marque a caixa de seleção ao lado das políticas de permissões que você deseja que o serviço tenha.
-
(Opcional) Defina um limite de permissões. Este é um recurso avançado que está disponível para funções de serviço. Para obter mais informações sobre limites de permissões, consulte Limites de permissões para identidades do IAM no Guia do usuário do IAM.
-
Escolha Próximo.
-
Na página Name, review, and create (Nomear, revisar e criar), em Role name (Nome do perfil), insira um nome de função para ajudar você a identificar a finalidade desse perfil. Esse nome deve ser exclusivo em sua Conta da AWS. Como outros recursos da AWS podem fazer referência à função, não é possível editar o nome da função depois que ela é criada.
-
Reveja a função e escolha Criar função.
permissões do IAM
Use uma política baseada em identidade do IAM para controlar o acesso ao novo perfil do IAM. A permissão iam:PassRole é necessária na identidade do IAM (usuário ou perfil) que cria ou atualiza um grupo do Auto Scaling usando um modelo de execução que especifica um perfil de instância.
O exemplo de política a seguir concede permissões para passar somente perfis do IAM cujo nome comece com . qateam-
Importante
Para obter informações sobre como o Amazon EC2 Auto Scaling valida permissões para a ação iam:PassRole de um grupo do Auto Scaling que usa um modelo de execução, consulte Validação de permissões para ec2:RunInstances e iam:PassRole.
Criar um modelo de execução
Ao criar o modelo de execução usando o Console de gerenciamento da AWS, na seção Advanced Details (Detalhes avançados), selecione a função no IAM instance profile (Perfil de instância do IAM). Para obter mais informações, consulte Criar um modelo de execução usando configurações avançadas.
Ao criar o modelo de execução usando o comando create-launch-template
aws ec2 create-launch-template --launch-template-namemy-lt-with-instance-profile--version-descriptionversion1\ --launch-template-data '{"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro","IamInstanceProfile":{"Name":"my-instance-profile"}}'
Consulte também
Para obter mais informações para começar a aprender e usar perfis do IAM para Amazon EC2, consulte:
-
Políticas do IAM para o Amazon EC2 no Guia do usuário do Amazon EC2.
-
Uso de perfis de instância e Uso de perfis do IAM para conceder permissões a aplicações em execução nas instâncias do Amazon EC2 no Manual do usuário do IAM