IAM 사용자 보안 인증 정보와 사용자 쿼리를 사용하여 Amazon WorkDocs에 연결 - 아마존 WorkDocs

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

IAM 사용자 보안 인증 정보와 사용자 쿼리를 사용하여 Amazon WorkDocs에 연결

다음 코드는 IAM 사용자의 API 보안 인증 정보를 사용하여 API 직접 호출을 수행하는 방법을 보여줍니다. 이 경우 API 사용자와 Amazon WorkDocs 사이트는 동일한 AWS 계정에 속합니다.

참고

보안을 강화하려면 가급적 IAM 사용자 대신 페더레이션 사용자를 생성하십시오.

적절한 IAM 정책을 통해 IAM 사용자에게 Amazon WorkDocs API 액세스가 허용되었는지 확인하십시오.

코드 샘플은 DescribeUsers API를 사용하여 사용자를 검색하고 사용자에 대한 메타데이터를 얻습니다. 사용자 메타데이터에는 이름, 성, 사용자 ID, 루트 폴더 ID 같은 세부 정보가 들어 있습니다. 루트 폴더 ID는 사용자 대신 콘텐츠를 업로드하거나 다운로드하는 작업을 수행하려고 할 때 특히 유용합니다.

이 코드를 사용하려면 Amazon WorkDocs 조직 ID를 얻어야 합니다.

AWS 콘솔에서 Amazon WorkDocs 조직 ID를 얻으려면 다음 단계를 따르십시오.

조직 ID를 가져오려면
  1. AWS Directory Service 콘솔 탐색 창에서 디렉터리를 선택합니다.

  2. Amazon WorkDocs 사이트에 해당하는 디렉터리 ID 값을 기록해 둡니다. 이것이 사이트의 조직 ID입니다.

다음 예시는 IAM 보안 인증 정보를 사용하여 API 직접 호출을 수행하는 방법을 보여줍니다.

import java.util.ArrayList; import java.util.List; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.regions.Regions; import com.amazonaws.services.workdocs.AmazonWorkDocs; import com.amazonaws.services.workdocs.AmazonWorkDocsClient; import com.amazonaws.services.workdocs.model.DescribeUsersRequest; import com.amazonaws.services.workdocs.model.DescribeUsersResult; import com.amazonaws.services.workdocs.model.User; public class GetUserDemo { public static void main(String[] args) throws Exception { AWSCredentials longTermCredentials = new BasicAWSCredentials("accessKey", "secretKey"); AWSStaticCredentialsProvider staticCredentialProvider = new AWSStaticCredentialsProvider(longTermCredentials); AmazonWorkDocs workDocs = AmazonWorkDocsClient.builder().withCredentials(staticCredentialProvider) .withRegion(Regions.US_WEST_2).build(); List<User> wdUsers = new ArrayList<>(); DescribeUsersRequest request = new DescribeUsersRequest(); // The OrganizationId used here is an example and it should be replaced // with the OrganizationId of your WorkDocs site. request.setOrganizationId("d-123456789c"); request.setQuery("joe"); String marker = null; do { request.setMarker(marker); DescribeUsersResult result = workDocs.describeUsers(request); wdUsers.addAll(result.getUsers()); marker = result.getMarker(); } while (marker != null); System.out.println("List of users matching the query string: joe "); for (User wdUser : wdUsers) { System.out.printf("Firstname:%s | Lastname:%s | Email:%s | root-folder-id:%s\n", wdUser.getGivenName(), wdUser.getSurname(), wdUser.getEmailAddress(), wdUser.getRootFolderId()); } } }