

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

# IAM Identity Center를 사용하여 AWS SDK 및 도구 인증
<a name="access-sso"></a>

 AWS IAM Identity Center 는AWS 컴퓨팅이 아닌 서비스 환경에서 애플리케이션을 개발할 AWS 때 AWS 자격 증명을 제공하는 데 사용할 수 있습니다. Amazon Elastic Compute Cloud(Amazon EC2) 또는 같은 AWS 리소스에서 개발하는 경우 대신 해당 서비스에서 자격 증명을 가져오는 AWS Cloud9것이 좋습니다.

 AWS 계정 액세스에 이미 Identity Center를 사용하거나 조직의 액세스를 관리해야 하는 경우 IAM Identity Center 인증을 사용합니다.

이 자습서에서는 IAM Identity Center 액세스를 설정하고 AWS 액세스 포털 및를 사용하여 SDK 또는 도구에 맞게 구성합니다 AWS CLI.
+  AWS 액세스 포털은 IAM Identity Center에 수동으로 로그인하는 웹 위치입니다. URL 형식은 `d-xxxxxxxxxx.awsapps.com/start` 또는 `your_subdomain.awsapps.com/start`입니다. AWS 액세스 포털에 로그인하면 해당 사용자에 대해 구성된 AWS 계정 및 역할을 볼 수 있습니다. 이 절차에서는 AWS 액세스 포털을 사용하여 SDK/도구 인증 프로세스에 필요한 구성 값을 가져옵니다.
+  AWS CLI 는 코드에서 수행한 API 호출에 IAM Identity Center 인증을 사용하도록 SDK 또는 도구를 구성하는 데 사용됩니다. 이 일회성 프로세스는 공유 AWS `config` 파일을 업데이트한 다음 코드를 실행할 때 SDK 또는 도구에서 사용합니다.

## 사전 조건
<a name="prereq-auth"></a>

이 절차를 시작하기 전에, 다음 사항을 완료해야 합니다.
+ 이 없는 경우 AWS 계정[에 가입합니다 AWS 계정](https://portal.aws.amazon.com/billing/signup).
+ 아직 IAM Identity Center를 활성화하지 않았다면, *AWS IAM Identity Center 사용 설명서*의 지침에 따라 [IAM Identity Center를 활성화](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html)합니다.

## IAM Identity Center를 사용하여 프로그래밍 방식 액세스 구성
<a name="idcGettingStarted"></a>

### 1 단계: 액세스 설정 및 적절한 권한 세트 선택
<a name="establishAccess"></a>

자격 AWS 증명에 액세스하려면 다음 방법 중 하나를 선택합니다.

#### IAM ID 센터를 통한 액세스 권한을 설정하지 않았습니다.
<a name="idc-access"></a>

1. AWS IAM Identity Center 사용 설명서의 [기본 IAM Identity Center 디렉터리를 사용하여 사용자 액세스 구성](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) 절차를 따라 사용자를 추가하고 관리자 권한을 부여합니다.**

1. `AdministratorAccess` 권한 세트는 일반적인 개발 작업에는 사용해서는 안 됩니다. 대신, 고용주가 이 목적을 위해 별도의 사용자 지정 권한 세트를 만들어 두지 않았다면, 미리 정의된 `PowerUserAccess` 권한 세트를 사용하는 것을 권장합니다.

   동일한 [기본 IAM Identity Center 디렉터리를 사용하여 사용자 액세스 구성](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) 절차를 다시 따라 진행하되, 이번에는 다음을 수행하세요.
   + `Admin team` 그룹을 생성하는 대신, `Dev team` 그룹을 생성한 다음 지침에서 이를 대체하여 사용합니다.
   + 기존 사용자를 그대로 사용할 수 있지만, 해당 사용자를 새로 만든 `Dev team` 그룹에 추가해야 합니다.
   + `AdministratorAccess` 권한 세트를 생성하는 대신, `PowerUserAccess` 권한 세트를 생성한 다음 지침에서 이를 대체하여 사용합니다.

   완료되면 다음 항목들이 준비되어 있어야 합니다.
   + `Dev team` 그룹.
   + `Dev team` 그룹에 연결된 `PowerUserAccess` 권한 세트.
   + `Dev team` 그룹에 추가된 사용자.

1. 포털을 종료하고 다시 로그인하여 `Administrator` 또는에 대한 AWS 계정 및 옵션을 확인합니다`PowerUserAccess`. 도구나 SDK를 사용하여 작업할 때는 `PowerUserAccess`를 선택하세요.

#### 이미 고용주가 관리하는 페더레이션 ID 제공업체(예: Microsoft Entra 또는 Okta)를 AWS 통해에 액세스할 수 있습니다.
<a name="federated-access"></a>

ID 제공업체의 포털을 AWS 통해에 로그인합니다. 클라우드 관리자가 사용자`PowerUserAccess`(개발자)에게 권한을 부여한 경우 액세스 권한이 AWS 계정 있는 및 권한 세트가 표시됩니다. 권한 집합 이름 옆에는 해당 권한 집합을 사용하여 수동으로 또는 프로그래밍 방식으로 계정에 액세스할 수 있는 옵션이 표시됩니다.

사용자 지정 구현으로 인해 사용 권한 집합 이름이 달라지는 등 다양한 경험이 발생할 수 있습니다. 어떤 권한 세트를 사용할지 확실하지 않은 경우 IT 팀에 문의하세요.

#### 고용주가 관리하는 AWS 액세스 포털을 AWS 통해에 이미 액세스할 수 있음
<a name="accessportal-access"></a>

 AWS 액세스 포털을 AWS 통해에 로그인합니다. 클라우드 관리자가 사용자 `PowerUserAccess`(개발자)에게 권한을 부여한 경우 액세스 권한이 있는 AWS 계정 과 권한 집합이 표시됩니다. 권한 집합 이름 옆에는 해당 권한 집합을 사용하여 수동으로 또는 프로그래밍 방식으로 계정에 액세스할 수 있는 옵션이 표시됩니다.

#### 이미 고용주가 관리하는 페더레이션 사용자 지정 ID 제공업체를 AWS 통해에 액세스할 수 있습니다.
<a name="customfederated-access"></a>

IT 팀에 문의하십시오.

### 2 단계: IAM Identity Center를 사용할 SDK 및 도구 구성
<a name="configureAccess"></a>

1.  사용자 개발 시스템에 최신 AWS CLI을 설치합니다.

   1. 자세한 내용은 *AWS Command Line Interface 사용 설명서*의 [AWS CLI최신 버전의 설치 또는 업데이트](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)를 참조하십시오.

   1.  (선택 사항) AWS CLI 이 작동하는지 확인하려면 명령 프롬프트를 열고 `aws --version` 명령을 실행합니다.

1.  AWS 액세스 포털에 로그인합니다. 사용자의 고용주가 이 URL을 제공할 수도 있으며 **1단계: 액세스 설정** 후 이메일로 받을 수도 있습니다. 그렇지 않은 경우, [https://console.aws.amazon.com/singlesignon/](https://console.aws.amazon.com/singlesignon/)의 **대시보드**에서 **AWS 액세스 포털 URL**을 확인합니다.

   1.  AWS 액세스 포털의 **계정** 탭에서 관리할 개별 계정을 선택합니다. 사용자의 역할이 표시됩니다. **액세스 키**를 선택하여 적절한 권한 세트를 위한 명령줄 또는 프로그래밍 방식의 액세스에 대한 자격 증명을 가져옵니다. 사전 정의된 `PowerUserAccess` 권한 세트를 사용하거나, 사용자 또는 고용주가 개발을 위한 최소 권한을 적용하기 위해 생성한 권한 세트를 사용할 수 있습니다.

   1. **보안 인증 가져오기** 대화 상자에서 운영 체제에 따라 **MacOS 및 Linux** 또는 **Windows**를 선택합니다.

   1. **IAM Identity Center 보안 인증** 방법을 선택하여 다음 단계에 필요한 `Issuer URL` 및 `SSO Region` 값을 가져옵니다. 참고: `SSO Start URL`은 `Issuer URL`과 서로 바꿔 사용될 수 있습니다.

1.  AWS CLI 명령 프롬프트에서 `aws configure sso` 명령을 실행합니다. 메시지가 표시되면 이전 단계에서 수집한 구성 값을 입력합니다. 이 AWS CLI 명령에 대한 자세한 내용은 [`aws configure sso` 마법사를 사용하여 프로필 구성을 참조하세요](https://docs.aws.amazon.com/cli/latest/userguide/sso-configure-profile-token.html#sso-configure-profile-token-auto-sso).

   1. 프롬프트 `SSO Start URL`에 대해 `Issuer URL`에서 얻은 값을 입력합니다.

   1.  **CLI 프로파일 이름**의 경우 시작할 때 *기본값*을 입력하는 것이 좋습니다. 기본이 아닌 (명명된)프로파일 및 관련 환경 변수를 설정하는 방법에 대한 자세한 내용은 [프로파일](file-format.md#file-format-profile)을 참조하십시오. 

1. (선택 사항) AWS CLI 명령 프롬프트에서 `aws sts get-caller-identity` 명령을 실행하여 활성 세션 자격 증명을 확인합니다. 응답에는 구성한 IAM Identity Center 권한 세트가 표시되어야 합니다.

1.  AWS SDK를 사용하는 경우 개발 환경에서 SDK용 애플리케이션을 생성합니다.

   1. 일부 SDK의 경우 IAM Identity Center 인증을 사용하려면 먼저 `SSO`과 `SSOOIDC`와 같은 추가 패키지를 애플리케이션에 추가해야 합니다. 자세한 내용은 특정 SDK를 참조하십시오.

   1.  이전에에 대한 액세스를 구성한 경우 공유 AWS `credentials` 파일에서를 AWS검토합니다[AWS 액세스 키](feature-static-credentials.md). [자격 증명 공급자 체인의 이해](standardized-credentials.md#credentialProviderChain) 우선 순위로 인해 SDK 또는 도구에서 IAM Identity Center 보안 인증을 사용하려면 먼저 정적 보안 인증을 반드시 제거해야 합니다.

 SDK 및 도구가 이 구성을 사용하여 보안 인증을 사용하고 새로 고치는 방법에 대한 자세한 내용은 [AWS SDKs 및 도구에 대한 IAM Identity Center 인증 확인 방법](understanding-sso.md)을 참조하십시오. 

공유 `config` 파일에서 IAM Identity Center 공급자 설정을 직접 구성하려면, 이 안내서의 [IAM 아이덴티티 센터 보안 인증 공급자](feature-sso-credentials.md)를 참고하세요.

## 포털 액세스 세션 새로 고침
<a name="refreshSession"></a>

액세스는 결국 만료되며, 그러면 SDK나 도구에서 인증 오류가 발생하게 됩니다. 이 만료가 발생하는 시기는 구성된 세션 길이에 따라 달라집니다. 필요한 경우 액세스 포털 세션을 다시 새로 고치려면 AWS CLI 를 사용하여 `aws sso login` 명령을 실행합니다.

IAM Identity Center 액세스 포털 세션 기간과 권한 설정 세션 기간을 모두 연장할 수 있습니다. 이렇게 하면 코드를 실행하여 수동으로 다시 로그인해야 하는 시간이 길어집니다. AWS CLI자세한 내용은AWS IAM Identity Center 사용 설명서**에서 다음 주제를 참조하세요.
+ **IAM Identity Center 세션 기간** - [사용자의 AWS 액세스 포털 세션 기간을 구성합니다](https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-user-session.html) 
+ **권한 설정 세션 기간 - 세션 기간을** [설정합니다](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html)

# AWS SDKs 및 도구에 대한 IAM Identity Center 인증 확인 방법
<a name="understanding-sso"></a>



## IAM Identity Center 관련 용어
<a name="ssoterms"></a>

다음 용어는 기본 AWS IAM Identity Center프로세스와 구성을 이해하는 데 도움이 됩니다. AWS SDK APIs 설명서는 이러한 인증 개념 중 일부에 대해 IAM Identity Center와 다른 이름을 사용합니다. 두 이름을 모두 알고 있으면 도움이 됩니다.

다음 표에서는 이름이 서로 연결되는 방식을 보여줍니다.


| IAM Identity Center 이름 | SDK API 이름 | 설명 | 
| --- | --- | --- | 
| Identity Center  | sso  |  AWS Single Sign-On의 이름은 변경되지만 sso API 네임스페이스는 이전 버전과의 호환성을 위해 원래 이름을 유지합니다. 자세한 내용은 AWS IAM Identity Center 사용 설명서의 [IAM Identity Center 이름 변경](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed)을 참조하십시오. | 
| IAM Identity Center 콘솔관리자 콘솔 |   | 싱글 사인온을 구성하는 데 사용하는 콘솔입니다. | 
| AWS 액세스 포털 URL  |  | 사용자 IAM ID 센터 계정의 고유한 URL(예https://xxx.awsapps.com/start:). 사용자 IAM ID 센터 로그인 보안 인증을 사용하여 이 포털에 로그인합니다. | 
| IAM Identity Center 액세스 포털 세션  | 인증 세션  | 발신자에게 베어러 액세스 토큰을 제공합니다. | 
| 권한 집합 세션  |   | SDK가 내부적으로 AWS 서비스 호출하는 데 사용하는 IAM 세션입니다. 비공식 토론에서는 이를 ‘역할 세션’이라고 잘못 지칭하는 것을 볼 수 있습니다. | 
| 권한 세트 보안 인증  | AWS 자격 증명sigv4 보안 인증  | SDK가 실제로 대부분의 AWS 서비스 호출(특히 모든 sigv4 AWS 서비스 호출)에 사용하는 자격 증명입니다. 비공식 토론에서는 이를 ‘역할 보안 인증’이라고 잘못 지칭하는 것을 볼 수 있습니다. | 
| IAM 아이덴티티 센터 보안 인증 공급자  | SSO 보안 인증 공급자  | 기능을 제공하는 클래스 또는 모듈 같은 보안 인증을 얻는 방법. | 

## 에 대한 SDK 자격 증명 확인 이해 AWS 서비스
<a name="idccredres"></a>

IAM ID 센터 API는 베어러 토큰 보안 인증을 sigv4 보안 인증으로 교환합니다. 대부분은 AWS 서비스 및와 같은 몇 가지 예외를 제외하고 Amazon CodeWhisperer sigv4 APIs Amazon CodeCatalyst. 다음은 애플리케이션 코드에 대한 대부분의 AWS 서비스 호출을 지원하기 위한 자격 증명 확인 프로세스를 설명합니다 AWS IAM Identity Center.

### AWS 액세스 포털 세션 시작
<a name="idccredres1"></a>
+ 사용자 보안 인증으로 세션에 로그인하여 프로세스를 시작하십시오.
  +  AWS Command Line Interface ()에서 `aws sso login` 명령을 사용합니다AWS CLI. 아직 활성 세션이 없는 경우 새 IAM Identity Center 세션이 시작됩니다.
+ 새 세션을 시작하면 IAM ID 센터로부터 새로 고침 토큰과 액세스 토큰을 받습니다. AWS CLI 또한는 SSO 캐시 JSON 파일을 새 액세스 토큰 및 새로 고침 토큰으로 업데이트하고 SDKs.
+ 이미 활성 세션이 있는 경우 AWS CLI 명령은 기존 세션을 재사용하고 기존 세션이 만료될 때마다 만료됩니다. IAM Identity Center 세션의 길이를 설정하는 방법을 알아보려면 *AWS IAM Identity Center 사용 설명서*[의 사용자의 AWS 액세스 포털 세션 기간 구성을 참조하세요](https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-user-session.html).
  + 자주 로그인해야 하는 필요성을 줄이기 위해 최대 세션 길이가 90일로 연장되었습니다.

### SDK가 AWS 서비스 호출에 대한 자격 증명을 가져오는 방법
<a name="idccredres2"></a>

SDKs 서비스당 클라이언트 객체를 인스턴스화할 AWS 서비스 때에 대한 액세스를 제공합니다. 공유 AWS `config` 파일의 선택한 프로필이 IAM Identity Center 자격 증명 확인을 위해 구성된 경우 IAM Identity Center는 애플리케이션의 자격 증명을 확인하는 데 사용됩니다.
+ [보안 인증 확인 프로세스](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html#credentialProviderChain)는 클라이언트가 생성되면 런타임 중에 완료됩니다.

IAM ID 센터 싱글 사인온을 사용하여 sigv4 API의 보안 인증을 가져오기 위해 SDK는 IAM ID 센터 액세스 토큰을 사용하여 IAM 세션을 가져옵니다. 이 IAM 세션을 권한 세트 세션이라고 하며, IAM 역할을 수임하여 SDK에 대한 AWS 액세스를 제공합니다.
+  권한 세트 세션 기간은 IAM ID 센터 세션 기간과 별개로 설정됩니다.
  + 권한 설정 세션 기간을 설정하는 방법을 알아보려면 사용 *AWS IAM Identity Center 설명서의* [세션 기간 설정](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html)을 참조하십시오.
+  권한 세트 자격 증명은 대부분의 AWS SDK API 설명서에서 *AWS 자격 증명* 및 *sigv4 자격 증명*이라고도 합니다.

IAM ID 센터 API의 [GetRoleCredentials](https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_GetRoleCredentials.html)를 직접 호출하면 권한 세트 보안 인증이 SDK로 반환됩니다. SDK의 클라이언트 객체는 수임한 IAM 역할을 사용하여 Amazon S3에 계정의 버킷을 나열하도록 요청하는 AWS 서비스등를 호출합니다. 클라이언트 객체는 권한 설정 세션이 만료될 때까지 해당 권한 집합 보안 인증을 사용하여 계속 작동할 수 있습니다.

### 세션 만료 및 새로 고침
<a name="idccredres3"></a>

[SSO 토큰 공급자 구성](feature-sso-credentials.md#sso-token-config)를 사용하는 경우 IAM Identity Center에서 가져온 시간별 액세스 토큰은 새로 고침 토큰을 사용하여 자동으로 새로 고쳐집니다. 
+ SDK가 액세스 토큰을 사용하려고 할 때 액세스 토큰이 만료되면 SDK는 새로 고침 토큰을 사용하여 새 액세스 토큰을 가져오려고 합니다. IAM ID 센터는 새로 고침 토큰을 IAM ID 센터 액세스 포털 세션 기간과 비교합니다. 새로 고침 토큰이 만료되지 않은 경우 IAM ID 센터는 다른 액세스 토큰으로 응답합니다.
+ 이 액세스 토큰은 기존 클라이언트의 권한 설정 세션을 새로 고치거나 새 클라이언트의 보안 인증을 확인하는 데 사용할 수 있습니다.

하지만 IAM Identity Center 액세스 포털 세션이 만료되면 새 액세스 토큰이 부여되지 않습니다. 따라서 권한 세트 기간은 갱신할 수 없습니다. 캐시된 권한 세트 세션 기간이 초과되면 기존 클라이언트가 만료되고 액세스를 하지 못합니다.

새 클라이언트를 생성하는 모든 코드는 IAM Identity Center 세션이 만료되는 즉시 인증에 실패합니다. 권한 세트 보안 인증이 캐시되지 않기 때문입니다. 유효한 액세스 토큰을 확보하기 전까지는 코드를 사용하여 새 클라이언트를 만들고 보안 인증 확인 프로세스를 완료할 수 없습니다.

요약하자면, SDK에 새 권한 집합 보안 인증이 필요한 경우 SDK는 먼저 유효한 기존 보안 인증을 확인하고 이를 사용합니다. 이는 보안 인증이 새 클라이언트용이든 보안 인증이 만료된 기존 클라이언트용이든 상관없이 적용됩니다. 보안 인증을 찾을 수 없거나 유효하지 않은 경우 SDK는 IAM Identity Center API를 직접 호출하여 새 보안 인증을 가져옵니다. API를 직접 호출하려면 액세스 토큰이 필요합니다. 액세스 토큰이 만료되면 SDK는 새로 고침 토큰을 사용하여 IAM Identity Center 서비스로부터 새 액세스 토큰을 가져오려고 시도합니다. 이 토큰은 IAM Identity Center 액세스 포털 세션이 만료되지 않은 경우 부여됩니다.