Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Gérer les clés IAM d'accès
Créer une clé d'accès
Pour créer une clé d' IAM accès, appelez la IamClient’s
createAccessKey
méthode avec un CreateAccessKeyRequest
Note
Vous devez définir la région sur AWS_GLOBALpour que les IamClient
appels fonctionnent, car il IAM s'agit d'un service mondial.
Importations
import software.amazon.awssdk.services.iam.model.CreateAccessKeyRequest; import software.amazon.awssdk.services.iam.model.CreateAccessKeyResponse; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.iam.IamClient; import software.amazon.awssdk.services.iam.model.IamException;
Code
public static String createIAMAccessKey(IamClient iam,String user) { try { CreateAccessKeyRequest request = CreateAccessKeyRequest.builder() .userName(user).build(); CreateAccessKeyResponse response = iam.createAccessKey(request); String keyId = response.accessKey().accessKeyId(); return keyId; } catch (IamException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
Consultez l'exemple complet
Répertorier des clés d'accès
Pour répertorier les clés d'accès d'un utilisateur donné, créez un ListAccessKeysRequest
IamClient’s
listAccessKeys
méthode.
Note
Si vous ne fournissez pas de nom d'utilisateur àlistAccessKeys
, il tentera de répertorier les clés d'accès associées au Compte AWS signataire de la demande.
Importations
import software.amazon.awssdk.services.iam.model.AccessKeyMetadata; import software.amazon.awssdk.services.iam.model.IamException; import software.amazon.awssdk.services.iam.model.ListAccessKeysRequest; import software.amazon.awssdk.services.iam.model.ListAccessKeysResponse; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.iam.IamClient;
Code
public static void listKeys( IamClient iam,String userName ){ try { boolean done = false; String newMarker = null; while (!done) { ListAccessKeysResponse response; if(newMarker == null) { ListAccessKeysRequest request = ListAccessKeysRequest.builder() .userName(userName).build(); response = iam.listAccessKeys(request); } else { ListAccessKeysRequest request = ListAccessKeysRequest.builder() .userName(userName) .marker(newMarker).build(); response = iam.listAccessKeys(request); } for (AccessKeyMetadata metadata : response.accessKeyMetadata()) { System.out.format("Retrieved access key %s", metadata.accessKeyId()); } if (!response.isTruncated()) { done = true; } else { newMarker = response.marker(); } } } catch (IamException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
Les résultats de listAccessKeys
sont paginés par défaut (avec un maximum de 100 enregistrements par appel). Vous pouvez faire appel isTruncated
à l'ListAccessKeysResponse
marker
sur l'objet ListAccessKeysResponse
et utilise-la lors de la création d'une nouvelle demande. Utilisez cette nouvelle demande dans le prochain appel de listAccessKeys
.
Consultez l'exemple complet
Extraire l'heure de la dernière utilisation d'une clé d'accès
Pour connaître l'heure à laquelle une clé d'accès a été utilisée pour la dernière fois, appelez la IamClient’s
getAccessKeyLastUsed
méthode avec l'ID de la clé d'accès (qui peut être transmis à l'aide d'un GetAccessKeyLastUsedRequest
Vous pouvez ensuite utiliser l'GetAccessKeyLastUsedResponse
Importations
import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.iam.IamClient; import software.amazon.awssdk.services.iam.model.GetAccessKeyLastUsedRequest; import software.amazon.awssdk.services.iam.model.GetAccessKeyLastUsedResponse; import software.amazon.awssdk.services.iam.model.IamException;
Code
public static void getAccessKeyLastUsed(IamClient iam, String accessId ){ try { GetAccessKeyLastUsedRequest request = GetAccessKeyLastUsedRequest.builder() .accessKeyId(accessId).build(); GetAccessKeyLastUsedResponse response = iam.getAccessKeyLastUsed(request); System.out.println("Access key was last used at: " + response.accessKeyLastUsed().lastUsedDate()); } catch (IamException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } System.out.println("Done"); }
Consultez l'exemple complet
Activer ou désactiver des clés d'accès
Vous pouvez activer ou désactiver une clé d'accès en créant un UpdateAccessKeyRequest
status
IamClient’s
updateAccessKey
méthode.
Importations
import software.amazon.awssdk.services.iam.model.IamException; import software.amazon.awssdk.services.iam.model.StatusType; import software.amazon.awssdk.services.iam.model.UpdateAccessKeyRequest; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.iam.IamClient;
Code
public static void updateKey(IamClient iam, String username, String accessId, String status ) { try { if (status.toLowerCase().equalsIgnoreCase("active")) { statusType = StatusType.ACTIVE; } else if (status.toLowerCase().equalsIgnoreCase("inactive")) { statusType = StatusType.INACTIVE; } else { statusType = StatusType.UNKNOWN_TO_SDK_VERSION; } UpdateAccessKeyRequest request = UpdateAccessKeyRequest.builder() .accessKeyId(accessId) .userName(username) .status(statusType) .build(); iam.updateAccessKey(request); System.out.printf( "Successfully updated the status of access key %s to" + "status %s for user %s", accessId, status, username); } catch (IamException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
Consultez l'exemple complet
Supprimer une clé d'accès
Pour supprimer définitivement une clé d'accès, appelez la IamClient’s
deleteKey
méthode en lui fournissant un DeleteAccessKeyRequest
Note
Une fois supprimée, une clé ne peut plus être récupérée ou utilisée. Pour désactiver temporairement une clé afin qu'elle puisse être réactivée ultérieurement, utilisez plutôt la updateAccessKeyméthode.
Importations
import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.iam.IamClient; import software.amazon.awssdk.services.iam.model.DeleteAccessKeyRequest; import software.amazon.awssdk.services.iam.model.IamException;
Code
public static void deleteKey(IamClient iam ,String username, String accessKey ) { try { DeleteAccessKeyRequest request = DeleteAccessKeyRequest.builder() .accessKeyId(accessKey) .userName(username) .build(); iam.deleteAccessKey(request); System.out.println("Successfully deleted access key " + accessKey + " from user " + username); } catch (IamException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
Consultez l'exemple complet
En savoir plus
-
CreateAccessKeydans la référence de IAM l'API
-
ListAccessKeysdans la référence de IAM l'API
-
GetAccessKeyLastUseddans la référence de IAM l'API
-
UpdateAccessKeydans la référence de IAM l'API
-
DeleteAccessKeydans la référence de IAM l'API