

# Adicionar ou editar uma política para um bucket do Amazon S3 on Outposts
<a name="S3OutpostsBucketPolicyEdit"></a>

Uma política de bucket é baseada em recursos do AWS Identity and Access Management (IAM) que você pode usar para conceder permissões de acesso ao bucket e aos objetos nele contidos. Só o proprietário do bucket pode associar uma política a um bucket. As permissões anexadas ao bucket se aplicam a todos os objetos do bucket que pertencem ao proprietário do bucket. As políticas de bucket são limitadas a 20 KB. Para obter mais informações, consulte [Política de bucket](S3onOutposts.md#S3OutpostsBucketPolicies).

Os tópicos a seguir mostram como atualizar sua política de bucket do Amazon S3 on Outposts usando o Console de gerenciamento da AWS, a AWS Command Line Interface (AWS CLI) ou o AWS SDK para Java. 

## Usar o console do S3
<a name="s3-outposts-bucket-edit-policy"></a>

**Para criar ou editar uma política de bucket**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Outposts buckets** (Buckets do Outposts).

1. Escolha o bucket do Outposts cuja política de bucket você deseja editar.

1. Escolha a aba **Permissões**.

1. Na seção **Outposts bucket policy** (Política de bucket do Outposts), para criar ou editar uma nova política, escolha **Edit** (Editar).

   Agora, você pode adicionar ou editar a política de bucket do S3 on Outposts. Para obter mais informações, consulte [Configurar o IAM com o S3 on Outposts](S3OutpostsIAM.md).

## Usar a AWS CLI
<a name="S3OutpostsPutBucketPolicyCLI"></a>

O exemplo da AWS CLI a seguir coloca uma política em um bucket do Outposts.

1. Salve a política de bucket a seguir em um arquivo JSON. Neste exemplo, o nome do arquivo é `policy1.json`. Substitua os `user input placeholders` por suas próprias informações.

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Id":"testBucketPolicy",
      "Statement":[
         {
            "Sid":"st1",
            "Effect":"Allow",
            "Principal":{
               "AWS":"arn:aws:iam::123456789012:root"
            },
            "Action":[
               "s3-outposts:GetObject",
               "s3-outposts:PutObject",
               "s3-outposts:DeleteObject",
               "s3-outposts:ListBucket"
            ],
            "Resource":"arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01ac5d28a6a232904/bucket/amzn-s3-demo-bucket"
         }
      ]
   }
   ```

------

1. Envie o arquivo JSON como parte do comando `put-bucket-policy` da CLI. Para executar esse comando, substitua os `user input placeholders` por suas próprias informações.

   ```
   aws s3control put-bucket-policy --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/bucket/example-outposts-bucket --policy file://policy1.json
   ```

## Usar o AWS SDK para Java
<a name="S3OutpostsPutBucketPolicyJava"></a>

O exemplo do SDK for Java a seguir coloca uma política em um bucket do Outposts.

```
import com.amazonaws.services.s3control.model.*;

public void putBucketPolicy(String bucketArn) {

    String policy = "{\"Version\":\"2012-10-17\",\"Id\":\"testBucketPolicy\",\"Statement\":[{\"Sid\":\"st1\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"" + AccountId+ "\"},\"Action\":\"s3-outposts:*\",\"Resource\":\"" + bucketArn + "\"}]}";

    PutBucketPolicyRequest reqPutBucketPolicy = new PutBucketPolicyRequest()
            .withAccountId(AccountId)
            .withBucket(bucketArn)
            .withPolicy(policy);

    PutBucketPolicyResult respPutBucketPolicy = s3ControlClient.putBucketPolicy(reqPutBucketPolicy);
    System.out.printf("PutBucketPolicy Response: %s%n", respPutBucketPolicy.toString());

}
```