Gerenciar permissões de acesso a buckets do Amazon S3 - AWS SDK for JavaScript

Anunciamos o próximo fim do suporte para o AWS SDK for JavaScript v2. Recomendamos migrar para o AWS SDK for JavaScript v3. Para saber as datas e receber detalhes adicionais e informações sobre como migrar, consulte o anúncio vinculado.

Gerenciar permissões de acesso a buckets do Amazon S3

JavaScript code example that applies to Node.js execution

Este exemplo de código Node.js mostra:

  • Como recuperar ou definir a lista de controle de acesso para um bucket do Amazon S3.

O cenário

Neste exemplo, um módulo do Node.js é usado para exibir a lista de controle de acesso (ACL) de um bucket selecionado e aplicar alterações para a ACL de um bucket selecionado. O módulo do Node.js usa o SDK para JavaScript para gerenciar permissões de acesso ao bucket do Amazon S3 usando estes métodos da classe de cliente Amazon S3:

Para obter mais informações sobre listas de controle de acesso dos buckets do Amazon S3, consulte Gerenciar acesso com ACLs no Manual do usuário do Amazon Simple Storage Service.

Tarefas de pré-requisito

Para configurar e executar este exemplo, você deve primeiro concluir estas tarefas:

Como configurar o SDK

Configure o SDK para JavaScript criando um objeto de configuração global e definindo a região do código. Neste exemplo, a região é definida como us-west-2.

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

Recuperar a lista de controle de acesso do bucket atual

Crie um módulo do Node.js com o nome de arquivo s3_getbucketacl.js. O módulo usará um único argumento de linha de comando para especificar o bucket que você deseja para a configuração do ACL. Configure o SDK conforme mostrado anteriormente.

Crie um objeto de serviço do AWS.S3. O único parâmetro que você precisa passar é o nome do bucket selecionado ao chamar o método getBucketAcl. A lista de controle de acesso atual é retornada pelo Amazon S3 no parâmetro data passado para a função de retorno de chamada.

// 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 executar o exemplo, digite o seguinte na linha de comando.

node s3_getbucketacl.js BUCKET_NAME

Este código de exemplo pode ser encontrado aqui no GitHub.