Kelola kunci IAM akses - AWS SDK for Java 2.x

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kelola kunci IAM akses

Buat kunci akses

Untuk membuat kunci IAM akses, panggil IamClient’s createAccessKey metode dengan CreateAccessKeyRequestobjek.

catatan

Anda harus menyetel wilayah ke AWS_GLOBAL agar IamClient panggilan berfungsi karena IAM merupakan layanan global.

Impor

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;

Kode

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

Lihat contoh lengkapnya di GitHub.

Daftar kunci akses

Untuk membuat daftar kunci akses untuk pengguna tertentu, buat ListAccessKeysRequestobjek yang berisi nama pengguna untuk mencantumkan kunci, dan meneruskannya ke IamClient’s listAccessKeys metode.

catatan

Jika Anda tidak memberikan nama pengguna kelistAccessKeys, itu akan mencoba untuk daftar kunci akses yang terkait dengan Akun AWS yang menandatangani permintaan.

Impor

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;

Kode

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

Hasil listAccessKeys paged (dengan maksimum default 100 record per panggilan). Anda dapat memanggil isTruncated ListAccessKeysResponseobjek yang dikembalikan untuk melihat apakah kueri mengembalikan hasil yang lebih sedikit kemudian tersedia. Jika demikian, maka panggil marker ListAccessKeysResponse dan gunakan saat membuat permintaan baru. Gunakan permintaan baru itu dalam pemanggilan berikutnya. listAccessKeys

Lihat contoh lengkapnya di GitHub.

Mengambil waktu terakhir yang digunakan kunci akses

Untuk mendapatkan waktu kunci akses terakhir digunakan, panggil IamClient’s getAccessKeyLastUsed metode dengan ID kunci akses (yang dapat diteruskan menggunakan GetAccessKeyLastUsedRequestobjek.

Anda kemudian dapat menggunakan GetAccessKeyLastUsedResponseobjek yang dikembalikan untuk mengambil waktu terakhir kunci yang digunakan.

Impor

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;

Kode

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

Lihat contoh lengkapnya di GitHub.

Aktifkan atau nonaktifkan tombol akses

Anda dapat mengaktifkan atau menonaktifkan kunci akses dengan membuat UpdateAccessKeyRequestobjek, memberikan ID kunci akses, opsional nama pengguna, dan yang diinginkan status, lalu meneruskan objek permintaan ke metode. IamClient’s updateAccessKey

Impor

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;

Kode

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

Lihat contoh lengkapnya di GitHub.

Hapus kunci akses

Untuk menghapus kunci akses secara permanen, panggil IamClient’s deleteKey metode, berikan dengan ID dan nama pengguna kunci akses yang DeleteAccessKeyRequestberisi.

catatan

Setelah dihapus, kunci tidak dapat lagi diambil atau digunakan. Untuk menonaktifkan sementara kunci sehingga dapat diaktifkan lagi nanti, gunakan updateAccessKeymetode sebagai gantinya.

Impor

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;

Kode

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

Lihat contoh lengkapnya di GitHub.

Informasi lain