

# Adición o edición de una política de bucket para un bucket de Amazon S3 en Outposts
<a name="S3OutpostsBucketPolicyEdit"></a>

Una política de bucket es una política AWS Identity and Access Management basada en recursos (IAM) que puede utilizar para conceder permisos de acceso al bucket y a los objetos que contiene. Solo el propietario del bucket puede asociar una política a un bucket. Los permisos asociados a un bucket se aplican a todos los objetos del bucket que son propiedad de la cuenta de propietario del bucket. Las políticas de bucket tienen un límite de tamaño de 20 KB. Para obtener más información, consulte [Política de bucket](S3onOutposts.md#S3OutpostsBucketPolicies).

En los siguientes temas, se le mostrará cómo actualizar su política de bucket de Amazon S3 en Outposts mediante la Consola de administración de AWS, AWS Command Line Interface (AWS CLI) o AWS SDK para Java. 

## Uso de la consola de S3
<a name="s3-outposts-bucket-edit-policy"></a>

**Para crear o editar una política de bucket**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En el panel de navegación de la izquierda, elija **Outposts buckets (Buckets de Outposts)**.

1. Elija el bucket de Outposts cuya política de bucket desea editar.

1. Elija la pestaña **Permisos**.

1. En la sección **Outposts bucket policy (Política del bucket de Outposts)**, para crear o editar una nueva política, elija **Edit (Editar)**.

   Ahora puede agregar o editar la política de bucket S3 en Outposts. Para obtener más información, consulte [Configuración de IAM con S3 en Outposts](S3OutpostsIAM.md).

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

En el siguiente ejemplo de la AWS CLI, se aplica una política en un bucket de Outposts.

1. Guarde la política de bucket siguiente en un archivo JSON. En este ejemplo, el archivo se denomina `policy1.json`. Reemplace los `user input placeholders` con su propia información.

------
#### [ 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. Envíe el archivo JSON como parte del comando de la CLI `put-bucket-policy`. Para ejecutar este comando, sustituya los `user input placeholders` con su propia información.

   ```
   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
   ```

## Uso de AWS SDK para Java
<a name="S3OutpostsPutBucketPolicyJava"></a>

En el siguiente ejemplo del SDK para Java, se aplica una política en un bucket de 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());

}
```