Administración de las claves de acceso de IAM - AWS SDK for Java 1.x

La AWS SDK for Java 1.x se alcanzó end-of-support el 31 de diciembre de 2025. Le recomendamos que migre a AWS SDK for Java 2.x para seguir recibiendo nuevas características, mejoras de disponibilidad y actualizaciones de seguridad.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administración de las claves de acceso de IAM

Creación de una clave de acceso

Para crear una clave de acceso de IAM, llame al método createAccessKey de AmazonIdentityManagementClient con un objeto CreateAccessKeyRequest.

CreateAccessKeyRequest tiene dos constructores: uno que toma un nombre de usuario y otro sin parámetros. Si utiliza la versión que no toma parámetros, debe definir el nombre de usuario mediante el método setter withUserName antes de pasarlo al método createAccessKey.

Importaciones

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 de

final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); CreateAccessKeyRequest request = new CreateAccessKeyRequest() .withUserName(user); CreateAccessKeyResult response = iam.createAccessKey(request);

Consulte el ejemplo completo en GitHub.

Mostrar claves de acceso

Para enumerar las claves de acceso de un determinado usuario, cree un objeto ListAccessKeysRequest que contenga el nombre de usuario cuyas claves desea enumerar y páselo al método listAccessKeys de AmazonIdentityManagementClient.

nota

Si no proporciona un nombre de usuario a listAccessKeys, intentará enumerar las claves de acceso asociadas a la Cuenta de AWS que firmó la solicitud.

Importaciones

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 de

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; } }

Los resultados de listAccessKeys están paginados (con un máximo de 100 registros por llamada). Puede llamar a getIsTruncated en el objeto ListAccessKeysResult devuelto para saber si la consulta ha devuelto menos resultados de los que están disponibles. En tal caso, llame a setMarker en el objeto ListAccessKeysRequest y vuelva a pasarlo a la siguiente invocación de listAccessKeys.

Consulte el ejemplo completo en GitHub.

Recuperar el momento en que se usó por última vez una clave de acceso

Para obtener el momento en el que se usó por última vez una clave de acceso, llame al método getAccessKeyLastUsed de AmazonIdentityManagementClient con el ID de la clave de acceso (que se puede pasar mediante un objeto GetAccessKeyLastUsedRequest) o directamente a la sobrecarga que toma el ID de clave de acceso.

A continuación, puede utilizar el objeto GetAccessKeyLastUsedResult devuelto para recuperar el momento en que se usó por última vez la clave.

Importaciones

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 de

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());

Consulte el ejemplo completo en GitHub.

Activación o desactivación de claves de acceso

Puede activar o desactivar una clave de acceso creando un objeto UpdateAccessKeyRequest, proporcionando el ID de clave de acceso, el nombre de usuario (de forma opcional) y el estado deseado y, a continuación, pasando el objeto al método updateAccessKey de AmazonIdentityManagementClient.

Importaciones

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 de

final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); UpdateAccessKeyRequest request = new UpdateAccessKeyRequest() .withAccessKeyId(access_id) .withUserName(username) .withStatus(status); UpdateAccessKeyResult response = iam.updateAccessKey(request);

Consulte el ejemplo completo en GitHub.

Eliminación de una clave de acceso

Para eliminar de forma permanente una clave de acceso, llame al método deleteKey de AmazonIdentityManagementClient, proporcionando un objeto DeleteAccessKeyRequest que contenga el ID de clave de acceso y el nombre de usuario.

nota

Una vez eliminada una clave, ya no se puede recuperar ni utilizar. Para desactivar temporalmente una clave de forma que pueda activarse de nuevo más adelante, utilice el método updateAccessKey en su lugar.

Importaciones

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 de

final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); DeleteAccessKeyRequest request = new DeleteAccessKeyRequest() .withAccessKeyId(access_key) .withUserName(username); DeleteAccessKeyResult response = iam.deleteAccessKey(request);

Consulte el ejemplo completo en GitHub.

Más información