Estou confuso quanto ao objetivo do AssumeRolePolicyDocument.
Parece criar uma função, tudo o que você precisa é um nome pai ao qual você pode anexar políticas. Parece que AssumeRolePolicyDocument é esse nome pai, mas de alguma forma há mais do que isso. O que isso está fazendo?
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"lambda.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
},
amazon-web-services
aws-iam
mutant_city
fonte
fonte
O objetivo do documento de diretiva de função é conceder permissão a uma entidade do IAM para assumir uma função . Também é conhecido como uma "política de confiança de função".
Em outras palavras, para determinadas permissões definidas, ele permite que usuários de determinadas contas da AWS assumam essa função e acessem essa conta .
É recomendável que você atualize a política de confiança da função para restringir o acesso apenas a usuários autorizados, caso contrário, qualquer conta da AWS poderá assumir a função e acessar essa conta.
Ao especificar Principal usando o Amazon Resource Name (ARN) da conta da AWS, usuário do IAM, função do IAM, usuário federado ou usuário da função assumida, você permite ou nega o acesso para assumir essa função (
sts:AssumeRole
).fonte
Para quem está coçando a cabeça na convenção de nomenclatura:
AssumeRolePolicyDocument (em CloudFormation yaml) = Relações de confiança (na GUI da web do AWS Console)
Políticas (no CloudFormation yaml) = Permissões (na GUI da web do AWS Console)
fonte
Eu acho que é muito mais claro quando considerar o usuário que cria uma função não é necessariamente aquele que a anexa para uso em algum lugar:
AssumeRolePolicyDocument
é uma restrição colocada pelo usuário que cria a função - por exemplo, possivelmente um administrador. Impede que outros usuários o anexem a qualquer serviço / usuário da AWS que desejarem. Além disso, não diz nada sobre onde é realmente usado. É uma proteção no lado da Função (tratando a Função como um recurso que também deve ser protegido).OTOH, na verdade atribuindo uma função a um serviço / usuário, é feito por usuários que atualmente precisam de algum serviço para ter permissões. E eles só podem fazer isso se a função
AssumeRolePolicyDocument
permitir.É verdade que, quando você é o único usuário, pode não se importar muito com isso. Porém, adiciona mais segurança e documentos (à força :)) como a função deve ser usada.
fonte