Como resolvo o erro “Has prohibited field Principal” que recebo quando crio ou atualizo uma política do IAM?

2 minuto de leitura
0

Quero resolver o erro “Has prohibited field Principal” (Possui campo proibido principal) que recebo quando crio ou atualizo minha política do AWS Identity and Access Management (AWS IAM).

Resolução

Se sua política baseada em identidade do IAM incluir o Elemento de entidade principal, você receberá o erro “Has prohibited field Principal”. É possível usar o Elemento de entidade principal somente em políticas baseadas em recursos para controlar a identidade do IAM que tem permissão para acessar o recurso. Você não precisa usar o Elemento de entidade principal em uma política baseada em identidade porque você anexa a política às identidades do IAM.

Certifique-se de criar sua política baseada em recursos no serviço da AWS associado ao seu recurso. Para verificar se um serviço da AWS usa políticas baseadas em recursos, consulte Serviços da AWS que funcionam com o IAM.

A única política baseada em recursos que é possível criar para um perfil no IAM é uma política de confiança. Para adicionar ou remover permissões do perfil do IAM, certifique-se de atualizar a política de confiança do perfil em vez da política de permissões.

Exemplo de política de confiança do perfil:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

Exemplo de política de permissões:

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::111122223333/Test"
  }
}

Informações relacionadas

Políticas baseadas em identidade e baseadas em recursos

Como faço para usar o IAM para acessar recursos em outra conta da AWS?

Conceder a um usuário permissões para trocar de perfil