AWS Tools for PowerShell의 공유 자격 증명 - AWS Tools for PowerShell

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

AWS Tools for PowerShell의 공유 자격 증명

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

주의

보안 위험을 방지하려면 목적별 소프트웨어를 개발하거나 실제 데이터로 작업할 때 IAM 사용자를 인증에 사용하지 마세요. 대신 AWS IAM Identity Center과 같은 보안 인증 공급자를 통한 페더레이션을 사용하세요.

참고

이 주제의 정보는 단기 또는 장기 보안 인증 정보를 수동으로 획득하고 관리해야 하는 상황을 위한 것입니다. 단기 및 장기 보안 인증 정보에 대한 자세한 내용은 AWS 및 도구 참조 가이드의 다른 인증 방법을 참조하세요.

모범 보안 사례는 도구 인증 구성에 설명된 대로 AWS IAM Identity Center를 사용하세요.

새 프로파일 유형과 AWS 공유 자격 증명 파일 액세스는 자격 증명 관련 cmdlet인 Initialize-AWSDefaultConfiguration, New-AWSCredentialSet-AWSCredential에 추가된 다음 파라미터에서 지원됩니다. 서비스 cmdlet에서는 공통 파라미터인 -ProfileName을 추가하여 새 프로파일을 참조할 수 있습니다.

AWS Tools for PowerShell에서 IAM 역할 사용

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

파라미터 이름 설명

ExternalId

역할에 필요할 경우 역할 수임 시 사용될 사용자 정의 외부 ID입니다. 이는 일반적으로 계정에 대한 액세스 권한을 제3자에게 위임할 때만 필요합니다. 제3자는 할당된 역할을 위임할 때 외부 ID를 파라미터로 포함해야 합니다. 자세한 내용은 IAM 사용 설명서AWS 리소스에 대한 액세스 권한을 서드 파티에 부여할 때 외부 ID를 사용하는 방법을 참조하세요.

MfaSerial

역할에 필요할 경우 역할 수임 시 사용될 MFA 일련 번호입니다. 자세한 내용은 IAM 사용 설명서AWS에서 멀티 팩터 인증(MFA) 사용을 참조하세요.

RoleArn

역할 자격 증명 수임을 위해 수임할 역할의 ARN입니다. IAM 역할 생성 및 사용에 대한 자세한 내용은 IAM 사용 설명서에서 IAM 역할을 참조하세요.

SourceProfile

역할 자격 증명 수임에 사용될 소스 프로파일의 이름입니다. 이 프로파일에서 확인된 자격 증명은 RoleArn 파라미터가 지정한 역할을 수임하는 데 사용됩니다.

역할 수임을 위한 프로파일 설정

다음은 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 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

자격 증명 프로파일 유형 사용

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

자격 증명 유형 사용해야 하는 파라미터

기본

이들은 IAM 사용자에 대한 장기 자격 증명입니다.

-AccessKey

-SecretKey

세션:

이들은 Use-STSRole cmdlet의 직접 호출 등을 통해 수동으로 검색하는 IAM 역할에 대한 단기 자격 증명입니다..

-AccessKey

-SecretKey

-SessionToken

역할:

이들은 사용자를 위해 AWS Tools for PowerShell이 검색하는 IAM 역할에 대한 단기 자격 증명입니다.

-SourceProfile

-RoleArn

선택 사항: -ExternalId

선택 사항: -MfaSerial

ProfilesLocation 공통 파라미터

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

프로파일 위치 값 프로파일 해결 동작

null 값(설정되지 않음) 또는 비어 있음

먼저 지정된 이름이 있는 프로파일에 대한 .NET 자격 증명 파일을 검색함. 프로파일을 찾을 수 없는 경우 AWS에서 (user's home directory)\.aws\credentials 공유 자격 증명 파일을 검색합니다.

AWS 공유 자격 증명 파일 형식으로 된 파일의 경로

특정 이름이 있는 프로파일에 대해 지정된 파일만 검색함.

자격 증명을 자격 증명 파일에 저장

자격 증명을 써서 두 자격 증명 파일 중 하나에 저장하려면 Set-AWSCredential cmdlet을 실행합니다. 다음 예에서는 이 작업을 수행하는 방법을 보여줍니다. 첫 번째 명령은 Set-AWSCredential에서 -ProfileLocation을(를) 사용하여 -ProfileName 파라미터에 의해 지정된 프로파일에 액세스 키와 보안 키를 추가합니다. 두 번째 행에서는 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

자격 증명 프로파일 표시

Get-AWSCredential cmdlet을 실행하고 -ListProfileDetail 파라미터를 추가하여 자격 증명 파일 유형 및 위치와 프로파일 이름 목록을 반환합니다.

PS > Get-AWSCredential -ListProfileDetail ProfileName StoreTypeName ProfileLocation ----------- ------------- --------------- source_profile NetSDKCredentialsFile assume_role_profile NetSDKCredentialsFile basic_profile SharedCredentialsFile C:\Users\auser\.aws\credentials

자격 증명 프로파일 제거

자격 증명 프로파일을 제거하려면 새 Remove-AWSCredentialProfile cmdlet을 실행합니다. Clear-AWSCredential은 더 이상 사용되지 않지만 이전 버전과의 호환성을 위해 여전히 제공되고 있습니다.

중요 정보

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