Anunciamos
Gerenciar chaves de acesso do IAM
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:
Instale o Node.js. Para obter mais informações sobre como instalar Node.js, consulte o website de Node.js
. Crie um arquivo de configurações compartilhado com as credenciais de usuário. Para obter mais informações sobre como fornecer um arquivo de credenciais compartilhadas, consulte Carregar credenciais em Node.js do arquivo de credenciais compartilhado.
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