Ir para o conteúdo

Por que recebo o erro “Invalid principal in policy” quando tento atualizar minha política de bucket do Amazon S3?

5 minuto de leitura
0

Quando tento adicionar ou editar minha política de bucket do Amazon Simple Storage Service (Amazon S3), recebo o erro “Invalid principal in policy”.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Se sua política de bucket do Amazon S3 contiver um valor inválido do elemento da Entidade principal, você receberá a mensagem de erro “Invalid principal in policy”. Para resolver esse erro, siga estas etapas de solução de problemas.

Verificar se a política de bucket usa valores compatíveis com o elemento de entidade principal

Certifique-se de especificar os seguintes valores compatíveis com o elemento de Entidade principal em sua política de bucket do S3:

Observação: todos os usuários autenticados e anônimos terão acesso se você usar o caractere asterisco curinga (*) como elemento de entidade principal.

Verificar se o valor de entidade principal está formatado corretamente

Verifique se os elementos de Entidade principal na política de bucket estão formatados corretamente. Se o elemento de Entidade principal incluir um usuário, use o seguinte formato:

"Principal": {    "AWS": "arn:aws:iam::111111111111:user/user-name1"
}

Observação: substitua user-name1 pelo nome do seu usuário do IAM.

Se o elemento de Entidade principal incluir mais de um usuário ou perfil do IAM, use o seguinte formato:

"Principal": {  "AWS": [
    "arn:aws:iam::111111111111:user/user-name1",
    "arn:aws:iam::111111111111:role/role-name1"
  ]
}

Observação: substitua user-name1 pelo nome do seu usuário do IAM e role-name1 pelo nome do seu perfil do IAM.

Se o elemento de Entidade principal incluir todos os usuários, use o seguinte formato:

{  "Principal": "*"
}

Observação: a prática recomendada é não usar um curinga (*) no elemento de Entidade principal de uma política baseada em recursos com um efeito de Permitir. Use o curinga (*) somente para conceder acesso público ou anônimo. Especifique as entidades principais, serviços ou contas da AWS pretendidos no elemento Entidade principal. Em seguida, use o elemento Condição para restringir o acesso.

Observação: quando você concede acesso anônimo, qualquer pessoa pode acessar seu bucket. Recomendamos que você não conceda acesso anônimo de gravação ao seu bucket do S3. Para obter mais informações, consulte Como o Amazon S3 funciona com o IAM.

Certificar-se de que o usuário ou o perfil do IAM não tenham sido excluídos

Se você tentar salvar a política de bucket com um identificador exclusivo como elemento Entidade principal, obterá o erro “Invalid principal in policy”. Isso ocorre porque o elemento Entidade principal oferece suporte somente a ARNs do IAM válidos. Para resolver esse erro, você deve remover qualquer identificador exclusivo do elemento Entidade principal.

Se sua política de bucket incluir usuários ou perfis do IAM no elemento Entidade principal, verifique se essas identidades do IAM não foram excluídas. Para identificar os usuários e perfis do IAM excluídos em sua política de bucket, especifique os identificadores exclusivos em vez dos ARNs completos no elemento Entidade principal.

Exemplo:

"Principal": {  "AWS": [
    "arn:aws:iam::111111111111:user/user-name1",
    "AIDAJQABLZS4A3QDU576Q",
    "arn:aws:iam::111111111111:user/user-name2"
  ]
}

Observação: substitua user-name1 e user-name2 pelos nomes dos seus usuários do IAM.

Verificar se a conta da entidade principal do IAM tem uma região ativada

Quando você aplica uma política de bucket do S3, a AWS verifica se as regiões da AWS necessárias estão disponíveis na conta da entidade principal do IAM. Seu bucket pode estar em uma região da AWS que a AWS não ativa por padrão. Nesse caso, confirme que você ativou a região na conta da entidade principal do IAM. Em um cenário entre contas, ative a região da AWS para ambas as contas da AWS. Para obter mais informações, consulte Ativar ou desativar regiões da AWS em sua conta.

Use o IAM Access Analyzer para validar seu acesso ao bucket

Para validar o acesso aos seus buckets do S3 antes de implantar as permissões, use o AWS Identity and Access Management Access Analyzer. É possível revisar as políticas de bucket do S3 que lhe concedem recursos de outra conta da AWS.

Também é possível usar o Analisador de Acesso do IAM para analisar seus eventos do AWS CloudTrail e gerar uma política do IAM com base nessa atividade. Para mais informações, consulte Geração de políticas do Analisador de Acesso do IAM.

Para ativar o Analisador de Acesso IAM, consulte Introdução ao Analisador de Acesso do AWS Identity and Access Management.

Observação: a AWS cobra por qualquer análise de acesso não utilizada que você criar por mês. Para mais informações, consulte Preços do Analisador de Acesso do IAM.

Para solucionar problemas de permissões do Analisador de Acesso do IAM, consulte Como resolvo problemas de permissão com políticas geradas pelo Analisador de Acesso do IAM?

AWS OFICIALAtualizada há 4 meses