

버전 5(V5) AWS Tools for PowerShell 가 릴리스되었습니다.

변경 사항 해제 및 애플리케이션 마이그레이션에 대한 자세한 내용은 [마이그레이션 주제를](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html) 참조하세요.

 [https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)

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

# 의 공유 자격 증명 AWS Tools for PowerShell
<a name="shared-credentials-in-aws-powershell"></a>

Tools for Windows PowerShell은 AWS CLI 및 기타 AWS SDKs와 마찬가지로 AWS 공유 자격 증명 파일 사용을 지원합니다. Tools for Windows PowerShell은 이제 .NET `assume role` 자격 증명 파일과 AWS 공유 자격 증명 파일 모두에 `basic`대한 `session`, 및 자격 증명 프로파일 읽기 및 쓰기를 지원합니다. 이 기능은 새 `Amazon.Runtime.CredentialManagement` 네임스페이스를 통해 활성화됩니다.

**주의**  
보안 위험을 방지하려면 목적별 소프트웨어를 개발하거나 실제 데이터로 작업할 때 IAM 사용자를 인증에 사용하지 마세요. 대신 [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)과 같은 보안 인증 공급자를 통한 페더레이션을 사용하십시오.

**참고**  
이 주제의 정보는 단기 또는 장기 보안 인증 정보를 수동으로 획득하고 관리해야 하는 상황을 위한 것입니다. 단기 및 장기 보안 인증 정보에 대한 자세한 내용은 **AWS 및 도구 참조 가이드의 [다른 인증 방법](https://docs.aws.amazon.com/sdkref/latest/guide/access-users.html)을 참조하세요.  
보안 모범 사례를 보려면에 설명된 AWS IAM Identity Center대로를 사용합니다[를 사용하여 인증 AWS](creds-idc.md).

새 프로필 유형 및 AWS 공유 자격 증명 파일에 대한 액세스는 자격 증명 관련 cmdlet, [Initialize-AWSDefaultConfiguration](https://docs.aws.amazon.com/powershell/v5/reference/items/Initialize-AWSDefaultConfiguration.html), [New-AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/New-AWSCredential.html) 및 [Set-AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/Set-AWSCredential.html)에 추가된 다음 파라미터에서 지원됩니다. 서비스 cmdlet에서는 공통 파라미터인 `-ProfileName`을 추가하여 새 프로파일을 참조할 수 있습니다.

## 에서 IAM 역할 사용 AWS Tools for PowerShell
<a name="shared-credentials-assume-role"></a>

 AWS 공유 자격 증명 파일을 사용하면 추가 유형의 액세스가 가능합니다. 예를 들어 IAM 사용자의 장기 자격 증명 대신 IAM 역할을 사용하여 AWS 리소스에 액세스할 수 있습니다. 이렇게 하려면 역할을 수임할 권한이 있는 표준 프로파일을 가져야 합니다. 역할을 지정한 프로파일을 사용하도록 AWS Tools for PowerShell 에 지시하면는 `SourceProfile` 파라미터로 식별되는 프로파일을 AWS Tools for PowerShell 조회합니다. 이러한 자격 증명은 `RoleArn` 파라미터에 지정된 역할에 대한 임시 자격 증명을 요청하는 데 사용됩니다. 제3자가 역할을 수임할 때 선택적으로 멀티 팩터 인증(MFA) 디바이스 또는 `ExternalId` 코드를 사용하도록 요구할 수 있습니다.


****  

| 파라미터 이름 | 설명 | 
| --- | --- | 
|  ExternalId  |  역할에 필요할 경우 역할 수임 시 사용될 사용자 정의 외부 ID입니다. 이는 일반적으로 계정에 대한 액세스 권한을 제3자에게 위임할 때만 필요합니다. 제3자는 할당된 역할을 위임할 때 외부 ID를 파라미터로 포함해야 합니다. 자세한 내용은 *IAM 사용 설명서*의 [AWS 리소스에 대한 액세스 권한을 타사에 부여할 때 외부 ID를 사용하는 방법을 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html).  | 
|  MfaSerial  |  역할에 필요할 경우 역할 수임 시 사용될 MFA 일련 번호입니다. 자세한 내용은 *IAM 사용 설명서*의 [AWS에서 멀티 팩터 인증(MFA) 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html)을 참조하세요.  | 
|  RoleArn  |  역할 자격 증명 수임을 위해 수임할 역할의 ARN입니다. IAM 역할 생성 및 사용에 대한 자세한 내용은 *IAM 사용 설명서*에서 [IAM 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)을 참조하세요.  | 
|  SourceProfile  |  역할 자격 증명 수임에 사용될 소스 프로파일의 이름입니다. 이 프로파일에서 확인된 자격 증명은 `RoleArn` 파라미터가 지정한 역할을 수임하는 데 사용됩니다.  | 

### 역할 수임을 위한 프로파일 설정
<a name="setup"></a>

다음은 IAM 역할을 직접 수임할 수 있도록 원본 프로파일을 설정하는 방법을 보여주는 예입니다.

첫 번째 명령은 역할 프로파일에서 참조하는 원본 프로파일을 생성합니다.. 두 번째 명령은 어떤 역할을 수임할 것인지에 대한 역할 프로파일을 생성합니다. 세 번째 명령은 역할 프로파일에 대한 자격 증명을 표시합니다.

```
PS > Set-AWSCredential -StoreAs my_source_profile -AccessKey access_key_id -SecretKey secret_key
PS > Set-AWSCredential -StoreAs my_role_profile -SourceProfile my_source_profile -RoleArn arn:aws:iam::123456789012:role/role-i-want-to-assume
PS > Get-AWSCredential -ProfileName my_role_profile

SourceCredentials                  RoleArn                                              RoleSessionName                           Options
-----------------                  -------                                              ---------------                           -------
Amazon.Runtime.BasicAWSCredentials arn:aws:iam::123456789012:role/role-i-want-to-assume aws-dotnet-sdk-session-636238288466144357 Amazon.Runtime.AssumeRoleAWSCredentialsOptions
```

Tools for Windows PowerShell 서비스 cmdlet과 함께 이 역할 프로파일을 사용하려면 `-ProfileName` 공통 파라미터를 명령에 추가하여 역할 프로파일을 참조합니다. 다음 예제에서는 이전 예제에서 정의한 역할 프로파일을 사용하여 [Get-S3Bucket](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-S3Bucket.html) cmdlet에 액세스 AWS Tools for PowerShell 합니다.는에서 자격 증명을 조회하고`my_source_profile`, 이러한 자격 증명을 사용하여 사용자를 `AssumeRole` 대신하여를 호출한 다음, 이러한 임시 역할 자격 증명을 사용하여를 호출합니다`Get-S3Bucket`.

```
PS > Get-S3Bucket -ProfileName my_role_profile

CreationDate           BucketName
------------           ----------
2/27/2017 8:57:53 AM   4ba3578c-f88f-4d8b-b95f-92a8858dac58-bucket1
2/27/2017 10:44:37 AM  2091a504-66a9-4d69-8981-aaef812a02c3-bucket2
```

## 자격 증명 프로파일 유형 사용
<a name="using-the-credential-profile-types"></a>

자격 증명 프로파일 유형을 설정하려면 프로파일 유형에 필요한 정보를 제공하는 파라미터를 알아야 합니다.


****  

| 자격 증명 유형 | 사용해야 하는 파라미터 | 
| --- | --- | 
|  **기본** 이들은 IAM 사용자에 대한 장기 자격 증명입니다.  |  `-AccessKey`  `-SecretKey`  | 
|  **세션**: 이들은 [Use-STSRole](https://docs.aws.amazon.com/powershell/v5/reference/items/Use-STSRole.html) cmdlet의 직접 호출 등을 통해 수동으로 검색하는 IAM 역할에 대한 단기 자격 증명입니다..  |  `-AccessKey`  `-SecretKey` `-SessionToken`  | 
|  **역할**: 이들은 사용자를 위해 AWS Tools for PowerShell 이 검색하는 IAM 역할에 대한 단기 자격 증명입니다.  |  `-SourceProfile` `-RoleArn`  선택 사항: `-ExternalId` 선택 사항: `-MfaSerial`  | 

## `ProfileLocation` 공통 파라미터
<a name="the-profileslocation-common-parameter"></a>

`-ProfileLocation`을 사용하여 공유 자격 증명 파일에 쓰고 cmdlet에 자격 파일에서 읽도록 지정할 수 있습니다. `-ProfileLocation` 파라미터를 추가하여 Tools for Windows PowerShell에서 공유 자격 증명 파일을 사용할지 또는 .NET 자격 증명 파일을 사용할지 여부를 제어할 수 있습니다. 다음 표에서는 Tools for Windows PowerShell에서 이 파라미터가 작동하는 방식을 설명합니다.


****  

| 프로파일 위치 값 | 프로파일 해결 동작 | 
| --- | --- | 
|  null 값(설정되지 않음) 또는 비어 있음  |  먼저 지정된 이름이 있는 프로파일에 대한 .NET 자격 증명 파일을 검색함. 프로필을 찾을 수 없는 경우에서 AWS 공유 자격 증명 파일을 검색합니다`(user's home directory)\.aws\credentials`.  | 
|   AWS 공유 자격 증명 파일 형식의 파일 경로  |  특정 이름이 있는 프로파일에 대해 지정된 파일만 검색함.  | 

### 자격 증명을 자격 증명 파일에 저장
<a name="save-credentials-to-a-credentials-file"></a>

자격 증명을 써서 두 자격 증명 파일 중 하나에 저장하려면 `Set-AWSCredential` cmdlet을 실행합니다. 다음 예에서는 이 작업을 수행하는 방법을 보여줍니다. 첫 번째 명령은 `Set-AWSCredential`에서 `-ProfileLocation`을(를) 사용하여 `-ProfileName` 파라미터에 의해 지정된 프로파일에 액세스 키와 보안 키를 추가합니다. 두 번째 행에서는 [Get-Content](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-content) cmdlet을 실행하여 자격 증명 파일의 내용을 표시합니다.

```
PS > Set-AWSCredential -ProfileLocation C:\Users\auser\.aws\credentials -ProfileName basic_profile -AccessKey access_key2 -SecretKey secret_key2
PS > Get-Content C:\Users\auser\.aws\credentials

aws_access_key_id=access_key2
aws_secret_access_key=secret_key2
```

## 자격 증명 프로파일 표시
<a name="showing-credential-profiles"></a>

[Get-AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSCredential.html) cmdlet을 실행하고 `-ListProfileDetail` 파라미터를 추가하여 자격 증명 파일 유형 및 위치와 프로파일 이름 목록을 반환합니다.

```
PS > Get-AWSCredential -ListProfileDetail

ProfileName                     StoreTypeName         ProfileLocation
-----------                     -------------         ---------------
source_profile                  NetSDKCredentialsFile
assume_role_profile             NetSDKCredentialsFile
basic_profile                   SharedCredentialsFile C:\Users\auser\.aws\credentials
```

## 자격 증명 프로파일 제거
<a name="removing-credential-profiles"></a>

자격 증명 프로파일을 제거하려면 새 [Remove-AWSCredentialProfile](https://docs.aws.amazon.com/powershell/v5/reference/items/Remove-AWSCredentialProfile.html) cmdlet을 실행합니다. [Clear-AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/Clear-AWSCredential.html)은 더 이상 사용되지 않지만 이전 버전과의 호환성을 위해 여전히 제공되고 있습니다.

## 중요 정보
<a name="important-notes"></a>

[Initialize-AWSDefaultConfiguration](https://docs.aws.amazon.com/powershell/v5/reference/items/Initialize-AWSDefaultConfiguration.html), [New-AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/New-AWSCredential.html) 및 [Set-AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/Set-AWSCredential.html)만 역할 프로파일에 대한 파라미터를 지원합니다. `Get-S3Bucket -SourceProfile source_profile_name -RoleArn arn:aws:iam::999999999999:role/role_name`와 같은 명령에서 역할 파라미터를 직접 지정할 수 없습니다. 서비스 cmdlet은 `SourceProfile` 또는 `RoleArn` 파라미터를 직접 지원하지 않으므로 이 기능은 작동하지 않습니다. 대신 이러한 파라미터를 프로파일에 저장한 다음 `-ProfileName` 파라미터를 사용하여 명령을 호출해야 합니다.