Principais - Amazon Simple Storage Service

Principais

O elemento Principal especifica o usuário, a conta, o serviço ou outra entidade que tem o acesso permitido ou negado a um recurso. Veja a seguir exemplos de especificação de Principal. Para obter mais informações, consulte Principal no Guia do usuário do IAM.

Conceder permissões a uma Conta da AWS

Para conceder permissões a uma Conta da AWS, identifique a conta usando o formato a seguir.

"AWS":"account-ARN"

Veja os exemplos a seguir.

"Principal":{"AWS":"arn:aws:iam::AccountIDWithoutHyphens:root"}
"Principal":{"AWS":["arn:aws:iam::AccountID1WithoutHyphens:root","arn:aws:iam::AccountID2WithoutHyphens:root"]}

O Amazon S3 também é compatível com um ID de usuário canônico, que é uma forma complexa de ID de Conta da AWS. Você pode especificar esse ID usando o formato a seguir.

"CanonicalUser":"64-digit-alphanumeric-value"

Veja um exemplo a seguir.

"Principal":{"CanonicalUser":"64-digit-alphanumeric-value"}

Para obter informações sobre como encontrar o ID de usuário canônico da conta, consulte Encontrar o ID de usuário canônico da conta.

Importante

Quando você usa um ID de usuário canônico em uma política, o Amazon S3 pode alterar o ID canônico para o ID da Conta da AWS correspondente. Isso afeta a política, pois os dois IDs identificam a mesma conta.

Conceder permissões a um usuário do IAM

Para conceder permissão para um usuário do IAM na sua conta, você deve fornecer um par de nome-valor "AWS":"user-ARN".

"Principal":{"AWS":"arn:aws:iam::account-number-without-hyphens:user/username"}

Para obter exemplos detalhados que fornecem instruções passo a passo, consulte Exemplo 1: Proprietário do bucket que concede permissões do bucket aos usuários e Exemplo 3: O proprietário do bucket concede permissões para objetos que não possui.

Conceder permissões anônimas

Para conceder permissão a todos, também denominada acesso anônimo, defina o curinga ("*") como o valor Principal. Por exemplo, se você configura seu bucket como um site, quer que todos os objetos no bucket sejam publicamente acessíveis.

"Principal":"*"
"Principal":{"AWS":"*"}

Usar "Principal": "*" com um efeito Allow em uma política baseada em recursos permite que qualquer pessoa, mesmo que não esteja conectada à AWS, acesse seu recurso.

Usar "Principal" : { "AWS" : "*" } com um efeito Allow em uma política baseada em recursos permite que qualquer usuário raiz, usuário do IAM, sessão de função assumida ou usuário federado em qualquer conta na mesma partição acesse seu recurso. Para obter mais informações, consulte Todas as entidades principais no Guia do usuário do IAM.

Não é possível usar um curinga para fazer a correspondência de parte de um nome de entidade principal ou ARN.

Importante

Como qualquer pessoa pode criar uma Conta da AWS, o nível de segurança desses dois métodos é equivalente, mesmo que funcionem de maneira diferente.

Atenção

Tenha cuidado ao conceder acesso anônimo ao bucket do Amazon S3. Quando você concede acesso anônimo, qualquer pessoa no mundo pode acessar seu bucket. É altamente recomendável que você nunca conceda nenhum tipo de acesso anônimo de gravação ao seu bucket do S3.

Exigir acesso por URLs do CloudFront

Você pode exigir que os usuários acessem seu conteúdo do Amazon S3 usando URLs do Amazon CloudFront em vez de URLs do Amazon S3. Para fazer isso, crie uma identidade de acesso de origem (OAI) do CloudFront. Em seguida, altere as permissões no bucket ou nos objetos em seu bucket. O formato para especificar a OAI em uma instrução Principal é o descrito a seguir.

"Principal":{"CanonicalUser":"Amazon S3 Canonical User ID assigned to origin access identity"}

Para obter mais informações, consulte Como usar uma identidade de acesso de origem para restringir o acesso ao conteúdo do Amazon S3 no Guia do desenvolvedor do Amazon CloudFront.