Como posso resolver o erro da política de confiança do IAM "Falha ao atualizar a política de confiança. Entidade principal inválida na política"?
Eu recebo o erro "Falha ao atualizar a política de confiança. Entidade principal inválida na apólice." ao tentar editar a política de confiança do meu perfil do AWS Identity and Access Management (IAM) usando o Console de Gerenciamento da AWS.
Breve descrição
Essa mensagem de erro indica que o valor de um elemento Entidade principal na sua política de confiança do IAM não é válido. Para resolver esse erro, confirme o seguinte:
- Sua política de confiança de perfil do IAM usa valores compatíveis com a formatação correta para o elemento Entidade principal.
- Se a política de confiança de perfil do IAM usar identidades do IAM (usuários, grupos de usuários e funções) como entidades principais, confirme se o usuário ou o perfil não foi excluído.
Observação: as contas da AWS GovCloud (EUA) também podem receber esse erro se a conta padrão da AWS tentar adicionar o número da conta da AWS GovCloud (EUA). Você não pode criar um perfil para delegar acesso entre uma conta AWS GovCloud (EUA) e uma conta padrão da AWS. Para obter mais informações, consulte Como o IAM difere para a AWS GovCloud (EUA).
Resolução
Verificar os valores suportados para o elemento Entidade principal
O elemento Entidade principal na política de confiança do IAM de seu perfil deve incluir os seguintes valores aceitos.
1. Certifique-se de que a política do IAM inclua o ID correto da conta AWS de 12 dígitos, semelhante ao seguinte:
"Principal": { "AWS": "123456789012" }
Observação: a conta da AWS também pode ser especificada usando o usuário raiz nome do recurso da Amazon (ARN). Por exemplo, arn:aws:iam::123456789012:root.
2. Se as entidades principais da política de confiança do IAM forem usuários do IAM, perfis ou federados, todo o ARN deverá ser especificado de forma semelhante à seguinte:
"Principal": { "AWS": [ "arn:aws:iam::123456789012:user/user-name", "arn:aws:iam::123456789012:role/role-name", "arn:aws:sts::123456789012:assumed-role/role-name/role-session-name", "arn:aws:sts::123456789012:federated-user/user-name" ] }
3. Se a política de confiança do IAM incluir curingas, siga estas diretrizes.
Observação: você não pode usar um curinga "*" para corresponder a parte de um nome principal ou ARN.
O exemplo a seguir mostra um uso incorreto de um curinga em uma política de confiança do IAM:
"Principal": { "AWS": "arn:aws:iam::123456789012:user/user-*" }
Para combinar parte do nome principal usando um curinga, use um elemento Condição com a chave de condição global aws:PrincipalArn.Em seguida, especifique um ARN com o curinga.
Para especificar identidades de todas as contas da AWS, use um caractere curinga semelhante ao seguinte:
"Principal": { "AWS": "*" }
Importante: você pode usar um curinga no elemento Entidade principal com um efeito Permitir em uma política de confiança. No entanto, isso permite que qualquer usuário do IAM, sessão de função assumida ou usuário federado em qualquer conta da AWS na mesma partição acesse eu perfil. As entidades principais de usuário e perfil do IAM em sua conta da AWS não exigem nenhuma outra permissão. Entidades principais em outras contas da AWS devem ter permissões baseadas em identidade para assumir seu perfil do IAM.
Esse método não permite que entidades principais de sessão de identidade da Web, entidades principais de sessão SAML ou entidades principais de serviço acessem seus recursos.
Como prática recomendada, use esse método somente com o elemento Condição e uma chave de condição, como aws:PrincipalArn, para limitar as permissões. Por exemplo, seu arquivo pode ser semelhante ao seguinte:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "aws:PrincipalArn": "arn:aws:iam::123456789012:user/user-*" } } } ] }
Esse exemplo de política de confiança usa a chave de condição aws:PrincipalArn para permitir que somente usuários com nomes de usuário correspondentes assumam o perfil do IAM.
4. Se seu perfil do IAM for um perfil de serviço da AWS, todo entidade principal do serviço deverá ser especificada de forma semelhante à seguinte:
"Principal": { "Service": "ec2.amazonaws.com" }
5. Você pode usar as Entidades principais de sessão SAML com um provedor de identidade SAML externo para autenticar usuários do IAM. A política de confiança do perfil do IAM deve ter um elemento Entidade principal semelhante ao seguinte:
"Principal": { "Federated": "arn:aws:iam::123456789012:saml-provider/provider-name" }
6. Você pode usar as entidades principais de sessão de identidade da web para autenticar usuários do IAM. A política de confiança do perfil do IAM que fornece acesso deve ter um elemento principal semelhante ao seguinte:
"Principal": { "Federated": "cognito-identity.amazonaws.com" }
7. Se você usar tipos de entidade principal diferentes em uma única instrução, formate a política de confiança do IAM de forma semelhante à seguinte:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/user-name", "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
O usuário ou o perfil do IAM deve ser uma identidade existente
Se a política de confiança de perfil do IAM usar usuários ou perfis do IAM como entidades principais, confirme se essas identidades do IAM não foram excluídas. O erro "Entidade principal inválida na política" ocorre quando você modifica a política de confiança do IAM e a entidade principal é excluída.
Observação: se a entidade principal foi excluída, anote a ID exclusiva da entidade principal na política de confiança do IAM, e não o ARN.
Informações relacionadas
Como uso o IAM para permitir o acesso do usuário aos recursos?
Como faço para acessar recursos em outra conta da AWS usando o AWS IAM?
Por que há um formato principal desconhecido em minha política baseada em recursos do IAM?
Conteúdo relevante
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 3 anos