AWS SDK for Java (v1) の近日発表
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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
を呼び出し、より少ない結果を返されたクエリが利用可能かどうか確認することができます。利用可能な場合は、ListAccessKeysRequest
で setMarker
を呼び出し、それを 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
詳細情報
-
IAM API リファレンスの CreateAccessKey
-
IAM API リファレンスの ListAccessKeys
-
IAM API リファレンスの GetAccessKeyLastUsed
-
IAM API リファレンスの UpdateAccessKey
-
IAM API リファレンスの DeleteAccessKey