Gerenciar chaves de acesso do IAM - 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 chaves de acesso do IAM

JavaScript code example that applies to Node.js execution

Este exemplo de código Node.js mostra:

  • Como gerenciar as chaves de acesso dos seus usuários.

O cenário

Os usuários precisam de suas próprias chaves de acesso para fazer chamadas programáticas à AWS no SDK para JavaScript. Para atender a essa necessidade, você pode criar, modificar, exibir ou mudar chaves de acesso (IDs de chave de acesso e chaves de acesso secretas) para os usuários do IAM. Por padrão, quando você cria uma chave de acesso, o status dela é Active, o que significa que o usuário pode usar a chave de acesso para chamadas de API.

Neste exemplo, é usada uma série de módulos do Node.js para gerenciar chaves de acesso no IAM. Os módulos do Node.js usam o SDK para JavaScript para gerenciar as chaves de acesso do IAM usando estes métodos da classe de cliente AWS.IAM:

Para obter mais informações sobre as chaves de acesso, consulte Chaves de acesso no Manual do usuário do IAM.

Tarefas de pré-requisito

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

Criar chaves de acesso para um usuário

Crie um módulo do Node.js com o nome de arquivo iam_createaccesskeys.js. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o IAM, crie um objeto de serviço do AWS.IAM. Crie um objeto JSON contendo os parâmetros necessários para criar novas chaves de acesso, que incluem o nome do usuário do IAM. Chame o método createAccessKey do objeto de serviço do AWS.IAM.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the IAM service object var iam = new AWS.IAM({ apiVersion: "2010-05-08" }); iam.createAccessKey({ UserName: "IAM_USER_NAME" }, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.AccessKey); } });

Para executar o exemplo, digite o seguinte na linha de comando. Redirecione os dados retornados para um arquivo de texto para não perder a chave secreta, que só pode ser fornecida uma vez.

node iam_createaccesskeys.js > newuserkeys.txt

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

Listar as chaves de acesso de um usuário

Crie um módulo do Node.js com o nome de arquivo iam_listaccesskeys.js. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o IAM, crie um objeto de serviço do AWS.IAM. Crie um objeto JSON contendo os parâmetros necessários para recuperar as chaves de acesso do usuário, que incluem o nome do usuário do IAM e, opcionalmente, o número máximo de pares de chave de acesso que você deseja listar. Chame o método listAccessKeys do objeto de serviço do AWS.IAM.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the IAM service object var iam = new AWS.IAM({ apiVersion: "2010-05-08" }); var params = { MaxItems: 5, UserName: "IAM_USER_NAME", }; iam.listAccessKeys(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

Para executar o exemplo, digite o seguinte na linha de comando.

node iam_listaccesskeys.js

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

Fazer o último uso das chaves de acesso

Crie um módulo do Node.js com o nome de arquivo iam_accesskeylastused.js. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o IAM, crie um objeto de serviço do AWS.IAM. Crie um objeto JSON contendo os parâmetros necessários para criar novas chaves de acesso, que é o ID de chave de acesso para o qual você deseja que a informação de último uso. Chame o método getAccessKeyLastUsed do objeto de serviço do AWS.IAM.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the IAM service object var iam = new AWS.IAM({ apiVersion: "2010-05-08" }); iam.getAccessKeyLastUsed( { AccessKeyId: "ACCESS_KEY_ID" }, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.AccessKeyLastUsed); } } );

Para executar o exemplo, digite o seguinte na linha de comando.

node iam_accesskeylastused.js

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

Atualizar o status de uma chave de acesso

Crie um módulo do Node.js com o nome de arquivo iam_updateaccesskey.js. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o IAM, crie um objeto de serviço do AWS.IAM. Crie um objeto JSON contendo os parâmetros necessários para atualizar o status de chaves de acesso, que inclui o ID da chave de acesso e o status atualizado. O status pode ser Active ou Inactive. Chame o método updateAccessKey do objeto de serviço do AWS.IAM.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the IAM service object var iam = new AWS.IAM({ apiVersion: "2010-05-08" }); var params = { AccessKeyId: "ACCESS_KEY_ID", Status: "Active", UserName: "USER_NAME", }; iam.updateAccessKey(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

Para executar o exemplo, digite o seguinte na linha de comando.

node iam_updateaccesskey.js

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

Excluir chaves de acesso

Crie um módulo do Node.js com o nome de arquivo iam_deleteaccesskey.js. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o IAM, crie um objeto de serviço do AWS.IAM. Crie um objeto JSON contendo os parâmetros necessários para excluir chaves de acesso, que inclui o ID da chave de acesso e o nome do usuário. Chame o método deleteAccessKey do objeto de serviço do AWS.IAM.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the IAM service object var iam = new AWS.IAM({ apiVersion: "2010-05-08" }); var params = { AccessKeyId: "ACCESS_KEY_ID", UserName: "USER_NAME", }; iam.deleteAccessKey(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

Para executar o exemplo, digite o seguinte na linha de comando.

node iam_deleteaccesskey.js

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