IAM 액세스 키 관리 - AWS SDK for Java 1.x

곧 출시될 end-of-support AWS SDK for Java (v1) 버전을 발표했습니다. AWS SDK for Java V2로 마이그레이션하실 것을 권장합니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 링크된 공지 사항을 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

IAM 액세스 키 관리

액세스 키 생성

IAM 액세스 키를 생성하려면 CreateAccessKeyRequest 객체를 사용하여 AmazonIdentityManagementClient createAccessKey 메서드를 호출하세요.

CreateAccessKeyRequest에는 사용자 이름을 사용하는 생성자와 파라미터를 사용하지 않는 생성자, 이렇게 두 가지 생성자가 있습니다. 파라미터를 사용하지 않는 버전을 사용하는 경우 withUserName 설정자 메서드를 사용하여 사용자 이름을 설정하고 나서 이 이름을 createAccessKey 메서드에 전달해야 합니다.

가져오기

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;

코드

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;

코드

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의 결과가 페이징됩니다(호출당 기본 최대 100개 레코드). 반환된 ListAccessKeysResult 객체를 getIsTruncated를 호출하여 쿼리에서 반환된 결과 수가 사용 가능한 것보다 적은지 확인할 수 있습니다. 거의 반환되지 않으면 ListAccessKeysRequest에 대해 setMarker를 호출하여 listAccessKeys의 다음 번 호출로 다시 전달할 수 있습니다.

GitHub의 전체 예제를 참조하십시오.

액세스 키의 마지막 사용 시간 가져오기

액세스 키가 마지막으로 사용된 시간을 알아보려면 액세스 키의 ID (GetAccessKeyLastUsedRequest 객체를 사용하여 전달하거나 액세스 키 ID를 직접 가져오는 오버로드에 직접 전달할 수 있음)를 사용하여 AmazonIdentityManagementClient의 getAccessKeyLastUsed 메서드를 호출합니다.

그런 다음 반환된 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;

코드

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;

코드

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;

코드

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

GitHub의 전체 예제를 참조하십시오.

추가 정보