Eu tenho uma função anexada a um LaunchConfiguration para uma instância do EC2, que fornece privilégios à instância do EC2 para fazer certas coisas, como fazer logs do Cloudwatch (o contexto não é importante para a pergunta). No Cloudformation, o papel se parece com:
Type: 'AWS::IAM::Role'
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service: 'ec2.amazonaws.com'
Action: 'sts:AssumeRole'
Policies: ...
Se eu visualizar a função no console da AWS, em "Relações de confiança", ele diz "Entidades confiáveis: o(s) provedor(es) de identidade ec2.amazonaws.com" :
Presumo que o Cloudformation AssumeRolePolicyDocument.Principal.Service
mapeia para a "Trusted Entity" no console (que, aliás, é uma maneira estranha de nomear as coisas, porque li "Principal" como tendo um significado diferente no IAM, mas enfim... ). Estou forçando meu cérebro tentando juntar o que está acontecendo. Minhas perguntas são:
- O que exatamente é uma "entidade confiável" do IAM?
- Como é que a entidade 'ec2.amazonaws.com' "assume o papel"? O conceito do serviço 'ec2.amazonaws.com' assumindo que o rolo simplesmente não funciona comigo.
- Em que sentido a entidade 'ec2.amazonaws.com' está "fornecendo identidades"?
- Onde posso encontrar uma lista completa dessas chamadas entidades confiáveis?