O AWS SDK for Java 1.x chegou end-of-support em 31 de dezembro de 2025. Recomendamos que você migre para o AWS SDK for Java 2.x para continuar recebendo novos recursos, melhorias de disponibilidade e atualizações de segurança.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Gerenciar chaves de acesso do IAM
Criar uma chave de acesso
Para criar uma chave de acesso do IAM, chame o método createAccessKey do AmazonIdentityManagementClient com um objeto CreateAccessKeyRequest.
CreateAccessKeyRequest tem dois construtores: um que utiliza um nome de usuário e outro sem parâmetros. Se usar a versão que não utiliza parâmetros, você deverá definir o nome de usuário usando o método setter withUserName para passá-lo ao método createAccessKey.
Importações
import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.CreateAccessKeyRequest; import com.amazonaws.services.identitymanagement.model.CreateAccessKeyResult;
Código da
final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); CreateAccessKeyRequest request = new CreateAccessKeyRequest() .withUserName(user); CreateAccessKeyResult response = iam.createAccessKey(request);
Veja o exemplo completo
Listar chave de acesso
Para listar as chaves de acesso de um determinado usuário, crie um objeto ListAccessKeysRequest que contenha o nome de usuário cujas chaves listar e passe para o método listAccessKeys do AmazonIdentityManagementClient.
nota
Se você não fornecer um nome de usuário para listAccessKeys, ele tentará listar chaves de acesso associadas à Conta da AWS que assinou a solicitação.
Importações
import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.AccessKeyMetadata; import com.amazonaws.services.identitymanagement.model.ListAccessKeysRequest; import com.amazonaws.services.identitymanagement.model.ListAccessKeysResult;
Código da
final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); boolean done = false; ListAccessKeysRequest request = new ListAccessKeysRequest() .withUserName(username); while (!done) { ListAccessKeysResult response = iam.listAccessKeys(request); for (AccessKeyMetadata metadata : response.getAccessKeyMetadata()) { System.out.format("Retrieved access key %s", metadata.getAccessKeyId()); } request.setMarker(response.getMarker()); if (!response.getIsTruncated()) { done = true; } }
Os resultados de listAccessKeys são paginados (com um máximo de 100 registros por chamada). Você pode chamar getIsTruncated no objeto ListAccessKeysResult retornado para ver se a consulta retornou menos resultados então disponíveis. Dessa forma, chame setMarker no ListAccessKeysRequest e repasse para a próxima invocação de listAccessKeys.
Veja o exemplo completo
Recuperar a hora do uso mais recente de uma chave de acesso
Para obter a hora em que uma chave de acesso foi usada pela última vez, chame o método getAccessKeyLastUsed do AmazonIdentityManagementClient com o ID da chave de acesso, que pode ser passado usando um objeto GetAccessKeyLastUsedRequest ou diretamente para a sobrecarga que utiliza o ID de chave de acesso diretamente.
Depois disso, é possível usar o objeto GetAccessKeyLastUsedResult retornado para recuperar a hora em que a chave foi usada mais recentemente.
Importações
import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.GetAccessKeyLastUsedRequest; import com.amazonaws.services.identitymanagement.model.GetAccessKeyLastUsedResult;
Código da
final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); GetAccessKeyLastUsedRequest request = new GetAccessKeyLastUsedRequest() .withAccessKeyId(access_id); GetAccessKeyLastUsedResult response = iam.getAccessKeyLastUsed(request); System.out.println("Access key was last used at: " + response.getAccessKeyLastUsed().getLastUsedDate());
Veja o exemplo completo
Ativar ou desativar chaves de acesso
É possível ativar ou desativar uma chave de acesso criando um objeto UpdateAccessKeyRequest, fornecendo o ID de chave de acesso, como opção o nome do usuário e o Status desejado e passando o objeto de solicitação para o método updateAccessKey do AmazonIdentityManagementClient.
Importações
import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.UpdateAccessKeyRequest; import com.amazonaws.services.identitymanagement.model.UpdateAccessKeyResult;
Código da
final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); UpdateAccessKeyRequest request = new UpdateAccessKeyRequest() .withAccessKeyId(access_id) .withUserName(username) .withStatus(status); UpdateAccessKeyResult response = iam.updateAccessKey(request);
Veja o exemplo completo
Excluir uma chave de acesso
Para excluir permanentemente uma chave de acesso, chame o método deleteKey do AmazonIdentityManagementClient, fornecendo um DeleteAccessKeyRequest que contenha o ID e o nome de usuário da chave de acesso.
nota
Depois de excluída, uma chave não poderá mais ser recuperada ou usada. Para desativar temporariamente uma chave de maneira que ela possa ser reativado mais tarde, use o método updateAccessKey em seu lugar.
Importações
import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.DeleteAccessKeyRequest; import com.amazonaws.services.identitymanagement.model.DeleteAccessKeyResult;
Código da
final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); DeleteAccessKeyRequest request = new DeleteAccessKeyRequest() .withAccessKeyId(access_key) .withUserName(username); DeleteAccessKeyResult response = iam.deleteAccessKey(request);
Veja o exemplo completo
Mais informações
-
CreateAccessKey na Referência de API do IAM
-
ListAccessKeys na Referência de API do IAM
-
GetAccessKeyLastUsed na Referência de API do IAM
-
UpdateAccessKey na Referência de API do IAM
-
DeleteAccessKey na Referência de API do IAM