

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

# 를 사용하여 대화형 개발 작업을 위한 액세스 자격 증명 AWS SDK for Java 2.x
<a name="credentials-temporary"></a>

보안을 강화하려면 수명이 긴 [자격 증명 대신 임시 자격 증명을 사용하도록](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) Java용 SDK를 구성하는 것이 AWS 좋습니다. 임시 자격 증명은 액세스 키(액세스 키 ID 및 시크릿 액세스 키)와 세션 토큰으로 구성됩니다.

임시 자격 증명으로 작업할 수 있는 몇 가지 접근 방식을 사용할 수 있습니다. 사용하는 접근 방식과 SDK에 제공하는 구성은 사용 사례에 따라 다릅니다.

Java SDK로 대화형 개발 작업을 수행할 때는 AWS 콘솔 로그인 자격 증명을 사용하는 것이 좋습니다.

## 콘솔 로그인 자격 증명 사용
<a name="using-con-login-creds"></a>

기존 AWS Management Console 로그인 자격 증명을 사용하여 AWS 서비스에 프로그래밍 방식으로 액세스할 수 있습니다. 브라우저 기반 인증 흐름 후는 AWS CLI 및 Java 2.x용 SDK와 같은 로컬 개발 도구에서 작동하는 임시 자격 증명을 AWS 생성합니다.

이 프로세스를 사용하면 초기 계정 설정 중에 생성된 루트 자격 증명, IAM 사용자 또는 자격 증명 공급자의 페더레이션 자격 증명을 사용하여 인증할 수 있으며,가 AWS CLI 자동으로 임시 자격 증명을 관리합니다. 이 접근 방식은 장기 자격 증명을 로컬에 저장할 필요가 없으므로 보안이 강화됩니다.

`aws login` 명령을 실행하면 활성 콘솔 세션에서 선택하거나 브라우저 기반 인증 흐름을 통해 로그인할 수 있으며, 그러면 임시 자격 증명이 자동으로 생성됩니다. Java 2.x용 SDK는 최대 12시간 동안 이러한 자격 증명을 자동으로 새로 고칩니다.

**중요**  
모든 프로젝트에서 작동하는 공유 구성 파일에서 설정한 구성 외에도 각 개별 Java 프로젝트에는 Maven `pom.xml` 파일에 다음과 같은 종속성이 필요합니다.  

```
<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>signin</artifactId>
</dependency>
```
`signin` 종속성은 SDK for Java 2.x가 콘솔 로그인 자격 증명에 액세스하고 사용할 수 있도록 하는 코드를 제공합니다.

사전 시퀀스, 로그인 및 로그아웃에 대한 자세한 내용은 *AWS SDK 및 도구 참조 안내서*의 [콘솔 자격 증명을 사용하여 AWS 로컬 개발을 위한 로그인](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html)을 참조하세요.

## Single-sign-on 접근 방식
<a name="single-sign-on-approach"></a>

Java SDK로 대화형 개발 작업을 수행할 때 Single Sign-On 접근 방식을 사용할 수도 있습니다. 이 접근 방식을 사용하려면 다음 설정이 필요합니다.
+ [IAM Identity Center를 통해 설정](get-started-auth.md#setup-auth)
+ [AWS 공유 구성 파일에서 프로필 구성](get-started-auth.md#setup-credentials) 
+ 를 사용하고 명령을 AWS CLI 실행하여 로그인 및 활성 세션 생성 [3. 를 사용하여 로그인 AWS CLI](get-started-auth.md#setup-login-sso) 

### IAM Identity Center 구성
<a name="credentials-temporary-idc"></a>

이 안내서의 [설정 개요](setup.md#setup-overview)에 설명된 대로 IAM Identity Center Single Sign-On 액세스를 사용하도록 SDK를 구성하면 SDK는 임시 자격 증명을 사용합니다.

SDK는 IAM Identity Center 액세스 토큰을 사용하여 `config` 파일의 `sso_role_name` 설정으로 구성된 IAM 역할에 대한 액세스 권한을 얻습니다. SDK는 이 IAM 역할을 맡고 AWS 서비스 요청에 서명할 임시 자격 증명을 검색합니다.

SDK가 구성에서 임시 자격 증명을 가져오는 방법에 대한 자세한 내용은 AWS SDK 및 도구 참조 안내서의 [IAM Identity Center 인증 이해](https://docs.aws.amazon.com/sdkref/latest/guide/understanding-sso.html) 단원을 참조하세요.

**중요**  
모든 프로젝트에서 작동하는 공유 `config` 파일에 설정한 구성 외에도 각 개별 Java 프로젝트에는 Maven `pom.xml` 파일에 다음과 같은 종속성이 필요합니다.  

```
<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>sso</artifactId>
</dependency>
<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>ssooidc</artifactId>
</dependency>
```
`sso` 및 `ssooidc` 종속성은 SDK for Java 2.x가 임시 자격 증명에 액세스할 수 있도록 하는 코드를 제공합니다.

### AWS 액세스 포털에서 임시 자격 증명 검색
<a name="credentials-temporary-from-portal"></a>

IAM Identity Center Single Sign-On 구성의 대안으로 AWS 액세스 포털에서 사용할 수 있는 임시 자격 증명을 복사하고 사용할 수 있습니다. 프로파일에서 임시 보안 인증을 사용하거나 이를 시스템 속성 및 환경 변수의 값으로 사용할 수 있습니다.

**임시 자격 증명 파일을 위한 로컬 자격 증명 파일 설정**

1. [공유 자격 증명 파일 생성](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html)

1. 자격 증명 파일에서 작업 중인 임시 자격 증명을 붙여넣을 때까지 다음 자리 표시자 텍스트를 붙여넣습니다.

   ```
   [default]
   aws_access_key_id=<value from AWS access portal>
   aws_secret_access_key=<value from AWS access portal>
   aws_session_token=<value from AWS access portal>
   ```

1. 파일을 저장합니다. 이제 파일 `~/.aws/credentials`이 로컬 개발 시스템에 존재해야 합니다. 이 파일에는 이름이 지정된 특정 프로필이 지정되지 않은 경우 Java용 SDK에서 사용하는 [[기본] 프로필](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile)이 들어 있습니다.

1. [AWS 액세스 포털에 로그인](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosignin.html)

1. [수동 자격 증명 새로 고침](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html#how-to-get-temp-credentials) 제목 아래의 다음 지침에 따라 AWS 액세스 포털에서 IAM 역할 자격 증명을 복사합니다.

   1. 링크된 설명의 2단계에서 개발 요구 사항에 따라 액세스 권한을 부여하는 IAM 역할 이름에 대해 `Access keys`를 선택합니다. 이 역할은 일반적으로 **PowerUserAccess** 또는 **Developer**와 같은 이름을 갖습니다.

   1. 모달 대화 상자에서 운영 체제를 선택하고 **프로파일 추가의 콘텐츠를 AWS 자격 증명 파일에 복사합니다**.

1. 복사한 자격 증명을 로컬 `credentials` 파일에 붙여넣고 붙여넣은 프로필 이름을 모두 제거합니다. 파일은 다음과 유사해야 합니다.

   ```
   [default]
   aws_access_key_id=AKIAIOSFODNN7EXAMPLE
   aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
   ```

1. `credentials` 파일을 저장합니다.

SDK는 서비스 클라이언트를 생성할 때 이러한 임시 자격 증명에 액세스하여 각 요청에 사용합니다. 5a단계에서 선택한 IAM 역할 설정에 따라 [임시 보안 인증의 유효 기간](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html)이 결정됩니다. 최대 유효 기간은 12시간입니다.

임시 보안 인증이 만료되면 4\$17단계를 반복합니다.