

La versión 2 de AWS SDK para JavaScript ha llegado al final del soporte. Se recomienda que migre a [AWS SDK para JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Para ver detalles e información adicionales sobre cómo realizar la migración, consulte este [anuncio](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

# Administración de permisos de acceso a los buckets de Amazon S3
<a name="s3-example-access-permissions"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/es_es/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Este ejemplo de código de Node.js muestra:**
+ Cómo recuperar o definir la lista de control de acceso de un bucket de Amazon S3.

## El escenario
<a name="w2aac20c25c27c13b9"></a>

En este ejemplo, se utiliza un módulo Node.js para mostrar la lista de control de acceso (ACL) de un bucket seleccionado y aplicar cambios a la ACL de un bucket seleccionado. El módulo de Node.js usa el SDK para JavaScript para administrar permisos de acceso a buckets de Amazon S3 mediante estos métodos de la clase de cliente de Amazon S3:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getBucketAcl-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getBucketAcl-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketAcl-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketAcl-property)

Para obtener más información acerca de las listas de control de acceso de buckets de Amazon S3, consulte [Administración de acceso con ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3_ACLs_UsingACLs.html) en la *Guía del usuario de Amazon Simple Storage Service*.

## Tareas previas necesarias
<a name="w2aac20c25c27c13c11"></a>

Para configurar y ejecutar este ejemplo, primero debe completar estas tareas:
+ Instale Node.js. Para obtener más información acerca de la instalación de Node.js consulte el [sitio web de Node.js](https://nodejs.org).
+ Cree un archivo de configuraciones compartidas con sus credenciales de usuario. Para obtener más información acerca de cómo crear un archivo de credenciales compartidas, consulte [Carga de credenciales en Node.js desde el archivo de credenciales compartidas](loading-node-credentials-shared.md).

## Configuración del SDK
<a name="s3-example-access-permissions-configure-sdk"></a>

Configure el SDK para JavaScript creando un objeto de configuración global y luego configurando la región para su código. En este ejemplo, la región está establecida en `us-west-2`.

```
// Load the SDK for JavaScript
var AWS = require('aws-sdk');
// Set the Region 
AWS.config.update({region: 'us-west-2'});
```

## Recuperación de la lista de control de acceso de un bucket actual
<a name="s3-example-access-permissions-get-acl"></a>

Cree un módulo de Node.js con el nombre de archivo `s3_getbucketacl.js`. El módulo tomará un argumento de línea de comandos único para especificar el bucket cuya configuración de ACL desea. Configure el SDK como le hemos mostrado anteriormente. 

Cree un objeto de servicio `AWS.S3`. El único parámetro que necesita pasar es el nombre del bucket seleccionado al llamar al método `getBucketAcl`. Amazon S3 devuelve la configuración de la lista de control de acceso en el parámetro `data` que se pasa a la función de devolución de llamada.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

var bucketParams = { Bucket: process.argv[2] };
// call S3 to retrieve policy for selected bucket
s3.getBucketAcl(bucketParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else if (data) {
    console.log("Success", data.Grants);
  }
});
```

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

```
node s3_getbucketacl.js BUCKET_NAME
```

Este código de ejemplo se puede encontrar [aquí en GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_getbucketacl.js).