IAM アクセスキーの管理 - AWS SDK for Java 1.x

AWS SDK for Java (v1) の近日発表 end-of-support しました。AWS SDK for Java v2 に移行することをお勧めします。日付、その他の詳細、移行方法については、リンク先の発表内容を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

IAM アクセスキーの管理

アクセスキーの作成

IAM アクセスキーを作成するには、AmazonIdentityManagementClientcreateAccessKey メソッドを CreateAccessKeyRequest オブジェクトを使用して呼び出します。

CreateAccessKeyRequest には 2 つのコンストラクタ、すなわち、ユーザー名を取るものとパラメータのないものとがあります。パラメータを取らないバージョンを使用する場合、createAccessKey メソッドに渡す前に withUserName setter メソッドを使用してユーザー名を設定する必要があります。

インポート

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;

Code

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

GitHub で完全な例をご覧ください。

アクセスキーの一覧表示

特定のユーザーのアクセスキーを一覧表示するには、キーの一覧表示の対象となるユーザー名を含む ListAccessKeysRequest オブジェクトを作成し、それを AmazonIdentityManagementClient の listAccessKeys メソッドに渡します。

注記

ユーザー名を listAccessKeys に渡さない場合は、リクエストに署名した AWS アカウント に関連付けられているアクセスキーの一覧表示を試行します。

インポート

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;

Code

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

listAccessKeys の結果はページ分割されます (デフォルトで最大 1 回の呼び出しごとに 100 レコード)。返された ListAccessKeysResult オブジェクトで getIsTruncated を呼び出し、より少ない結果を返されたクエリが利用可能かどうか確認することができます。利用可能な場合は、ListAccessKeysRequestsetMarker を呼び出し、それを listAccessKeys の次の呼び出しに返します。

GitHub で完全な例をご覧ください。

アクセスキーの最終使用時刻の取得

アクセスキーが最後に使用された時刻を取得するには、そのアクセスキーの ID で AmazonIdentityManagementClient の getAccessKeyLastUsed メソッドを呼び出します。アクセスキーの ID は GetAccessKeyLastUsedRequest オブジェクトを使用して、またはアクセスキー ID を直接取るオーバーロードへ直接渡すことができます。

その後返された GetAccessKeyLastUsedResult オブジェクトを使用して、キーの最終使用時刻を取得できます。

インポート

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;

Code

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

GitHub で完全な例をご覧ください。

アクセスキーのアクティブ化や非アクティブ化

アクセスキーをアクティブ化または非アクティブ化するには、UpdateAccessKeyRequest オブジェクトを作成し、アクセスキー ID、オプションでユーザー名、また目的のステータスを渡して、次にそのリクエストオブジェクトを AmazonIdentityManagementClient の updateAccessKey メソッドに渡します。

インポート

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;

Code

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

GitHub で完全な例をご覧ください。

アクセスキーの削除

アクセスキーを完全に削除するには、AmazonIdentityManagementClient の deleteKey メソッドを呼び出し、それにアクセスキーの ID とユーザーネームを含む DeleteAccessKeyRequest を渡します。

注記

削除してしまうと、キーは取得することも使用することもできなくなります。後で再度アクティブ化できるようキーを一時的に非アクティブ化するには、代わりに updateAccessKey メソッドを使用します。

インポート

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;

Code

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

GitHub で完全な例をご覧ください。

詳細情報