AWS STS Tools for PowerShell를 사용한 예제 - AWS SDK 코드 예제

AWS Doc SDK ExamplesWord AWS SDK 리포지토리에는 더 많은 GitHub 예제가 있습니다.

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

AWS STS Tools for PowerShell를 사용한 예제

다음 코드 예제에서는를 AWS Tools for PowerShell 와 함께 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다 AWS STS.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 Convert-STSAuthorizationMessage을 사용하는 방법을 보여 줍니다.

for PowerShell 도구

예제 1: 요청에 대한 응답으로 반환된 제공된 인코딩된 메시지 내용에 포함된 추가 정보를 디코딩합니다. 권한 부여 상태의 세부 정보가 작업을 요청한 사용자가 볼 수 없는 권한 있는 정보로 구성될 수 있기 때문에 추가 정보가 인코딩됩니다.

Convert-STSAuthorizationMessage -EncodedMessage "...encoded message..."

다음 코드 예시에서는 Get-STSFederationToken을 사용하는 방법을 보여 줍니다.

for PowerShell 도구

예제 1: 페더레이션 사용자의 이름으로 'Bob'을 사용하여 1시간 동안 유효한 페더레이션 토큰을 요청합니다. 이 이름은 리소스 기반 정책(예: Amazon S3 버킷 정책)에서 페더레이션 사용자 이름을 참조하는 데 사용할 수 있습니다. 제공된 IAM 정책은 JSON 형식으로 IAM 사용자가 사용할 수 있는 권한을 범위 축소하는 데 사용됩니다. 제공된 정책은 요청 사용자에게 부여된 것보다 많은 권한을 부여할 수 없으며, 페더레이션 사용자의 최종 권한은 전달된 정책과 IAM 사용자 정책의 교차점에 따라 가장 제한적인 세트입니다.

Get-STSFederationToken -Name "Bob" -Policy "...JSON policy..." -DurationInSeconds 3600
  • API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조GetFederationToken를 참조하세요.

다음 코드 예시에서는 Get-STSSessionToken을 사용하는 방법을 보여 줍니다.

for PowerShell 도구

예제 1: 설정된 기간 동안 유효한 임시 자격 증명이 포함된 Amazon.RuntimeAWSCredentials 인스턴스를 반환합니다. 임시 자격 증명을 요청하는 데 사용되는 자격 증명은 현재 쉘 기본값에서 유추됩니다. 다른 자격 증명을 지정하려면 -ProfileName 또는 -AccessKey/-SecretKey 파라미터를 사용합니다.

Get-STSSessionToken

출력:

AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....

예제 2: 1시간 동안 유효한 임시 자격 증명이 포함된 Amazon.RuntimeAWSCredentials 인스턴스를 반환합니다. 요청에 사용되는 자격 증명은 지정된 프로파일에서 가져옵니다.

Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile

출력:

AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....

예제 3: 프로필 'myprofilename'에 자격 증명이 지정된 계정과 연결된 MFA 디바이스의 식별 번호와 디바이스에서 제공하는 값을 사용하여 1시간 동안 유효한 임시 자격 증명이 포함된 Amazon.RuntimeAWSCredentials 인스턴스를 반환합니다.

Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile -SerialNumber YourMFADeviceSerialNumber -TokenCode 123456

출력:

AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....
  • API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조GetSessionToken를 참조하세요.

다음 코드 예시에서는 Use-STSRole을 사용하는 방법을 보여 줍니다.

for PowerShell 도구

예제 1: 요청 사용자가 일반적으로 액세스할 수 없는 AWS 리소스에 액세스하는 데 1시간 동안 사용할 수 있는 임시 자격 증명(액세스 키, 보안 키 및 세션 토큰) 세트를 반환합니다. 반환된 자격 증명에는 수임 중인 역할의 액세스 정책과 제공된 정책에 의해 허용되는 권한이 있습니다. 제공된 정책을 사용하여 수임 중인 역할의 액세스 정책에 의해 정의된 권한을 초과하는 권한을 부여할 수 없습니다.

Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -Policy "...JSON policy..." -DurationInSeconds 3600

예제 2: 수임된 역할의 액세스 정책에 정의된 것과 동일한 권한을 갖고 1시간 동안 유효한 임시 자격 증명 세트를 반환합니다.

Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600

예제 3: cmdlet을 실행하는 데 사용되는 사용자 보안 인증과 연결된 MFA에서 일련 번호와 생성된 토큰을 제공하는 임시 보안 인증 세트를 반환합니다.

Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -SerialNumber "GAHT12345678" -TokenCode "123456"

예제 4: 고객 계정에 정의된 역할을 수임한 임시 자격 증명 세트를 반환합니다. 제3자가 수임할 수 있는 각 역할에 대해 고객 계정은 역할이 수임될 때마다 -ExternalId 파라미터에 전달되어야 하는 식별자를 사용하여 역할을 생성해야 합니다.

Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -ExternalId "ABC123"
  • API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조AssumeRole를 참조하세요.

다음 코드 예시에서는 Use-STSWebIdentityRole을 사용하는 방법을 보여 줍니다.

for PowerShell 도구

예제 1: Login with Amazon ID 제공업체를 통해 인증된 사용자에 대해 1시간 동안 유효한 임시 자격 증명 세트를 반환합니다. 자격 증명은 역할 ARN로 식별된 역할과 연결된 액세스 정책을 수임합니다. 선택적으로 JSON 정책을 -Policy 파라미터에 전달하여 액세스 권한을 추가로 구체화할 수 있습니다(역할과 연결된 권한에서 사용할 수 있는 것보다 많은 권한을 부여할 수 없음). -WebIdentityToken 에 제공된 값은 자격 증명 공급자가 반환한 고유한 사용자 식별자입니다.

Use-STSWebIdentityRole -DurationInSeconds 3600 -ProviderId "www.amazon.com" -RoleSessionName "app1" -RoleArn "arn:aws:iam::123456789012:role/FederatedWebIdentityRole" -WebIdentityToken "Atza...DVI0r1"