쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

웹 아이덴티티 페더레이션을 사용할 앱 작성

포커스 모드
웹 아이덴티티 페더레이션을 사용할 앱 작성 - Amazon DynamoDB

웹 자격 증명 연동을 사용하려면 사용자가 생성한 IAM 역할을 앱이 수임해야 합니다. 그 시점 이후로 앱은 사용자가 역할에 연결한 액세스 정책을 준수합니다.

런타임 시 앱에 웹 자격 증명 연동이 사용되는 경우 다음 단계를 따라야 합니다.

  1. 타사 자격 증명 공급자를 사용하여 인증합니다. 앱은 제공되는 인터페이스를 사용하여 자격 증명 공급자를 호출해야 합니다. 사용자를 인증하는 정확한 방법은 앱이 실행 중인 플랫폼과 공급자에 따라 달라집니다. 일반적으로 사용자가 아직 로그인하지 않은 경우 자격 증명 공급자가 해당 공급자의 로그인 페이지 표시를 처리합니다.

    자격 증명 공급자는 사용자를 인증한 후 웹 자격 증명 토큰을 앱에 반환합니다. 이 토큰의 형식은 공급자마다 다르지만, 일반적으로는 매우 긴 문자열 형식입니다.

  2. 임시 AWS 보안 자격 증명을 얻습니다. 이렇게 하려면 앱이 AssumeRoleWithWebIdentity 요청을 AWS STS(AWS Security Token Service)로 보냅니다. 이 요청은 다음을 포함합니다.

    • 이전 단계의 웹 자격 증명 토큰

    • 자격 증명 공급자에게서 받은 앱 ID

    • 이 앱의 자격 증명 공급자에 대해 생성한 IAM 역할의 Amazon 리소스 이름(ARN)

    AWS STS는 일정 시간(기본적으로 3600초)이 지나면 만료되는 AWS 보안 자격 증명 집합을 반환합니다.

    다음은 샘플 요청과 AWS STS의 AssumeRoleWithWebIdentity 작업에서 받은 응답입니다. 웹 자격 증명 토큰은 Login with Amazon 자격 증명 공급자로부터 얻었습니다.

    GET / HTTP/1.1 Host: sts.amazonaws.com Content-Type: application/json; charset=utf-8 URL: https://sts.amazonaws.com/?ProviderId=www.amazon.com &DurationSeconds=900&Action=AssumeRoleWithWebIdentity &Version=2011-06-15&RoleSessionName=web-identity-federation &RoleArn=arn:aws:iam::123456789012:role/GameRole &WebIdentityToken=Atza|IQEBLjAsAhQluyKqyBiYZ8-kclvGTYM81e...(remaining characters omitted)

    <AssumeRoleWithWebIdentityResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"> <AssumeRoleWithWebIdentityResult> <SubjectFromWebIdentityToken>amzn1.account.AGJZDKHJKAUUSW6C44CHPEXAMPLE</SubjectFromWebIdentityToken> <Credentials> <SessionToken>AQoDYXdzEMf//////////wEa8AP6nNDwcSLnf+cHupC...(remaining characters omitted)</SessionToken> <SecretAccessKey>8Jhi60+EWUUbbUShTEsjTxqQtM8UKvsM6XAjdA==</SecretAccessKey> <Expiration>2013-10-01T22:14:35Z</Expiration> <AccessKeyId>06198791C436IEXAMPLE</AccessKeyId> </Credentials> <AssumedRoleUser> <Arn>arn:aws:sts::123456789012:assumed-role/GameRole/web-identity-federation</Arn> <AssumedRoleId>AROAJU4SA2VW5SZRF2YMG:web-identity-federation</AssumedRoleId> </AssumedRoleUser> </AssumeRoleWithWebIdentityResult> <ResponseMetadata> <RequestId>c265ac8e-2ae4-11e3-8775-6969323a932d</RequestId> </ResponseMetadata> </AssumeRoleWithWebIdentityResponse>
  3. AWS 소스에 액세스합니다. AWS STS의 응답에는 앱이 DynamoDB 리소스에 액세스하는 데 필요한 정보가 포함되어 있습니다.

    • AccessKeyID, SecretAccessKeySessionToken 필드에는 이 사용자와 이 앱에만 유효한 보안 자격 증명이 들어 있습니다.

    • Expiration 필드는 이러한 자격 증명이 유효 상태로 유지되는 제한 시간을 지정합니다.

    • AssumedRoleId 필드에는 앱에 의해 수임된 세션별 IAM 역할의 이름이 포함되어 있습니다. 앱은 이 세션 기간 동안 IAM 정책 문서의 액세스 제어를 준수합니다.

    • SubjectFromWebIdentityToken 필드에는 이 특정 자격 증명 공급자에 대한 IAM 정책 변수에 표시되는 고유 ID가 포함되어 있습니다. 다음은 지원되는 공급자에 대한 IAM 정책 변수이며, 몇 가지 예를 들면 다음과 같습니다.

      정책 변수 예제 값
      ${www.amazon.com:user_id} amzn1.account.AGJZDKHJKAUUSW6C44CHPEXAMPLE
      ${graph.facebook.com:id} 123456789
      ${accounts.google.com:sub} 123456789012345678901

이러한 정책 변수가 사용되는 IAM 정책의 예는 정책 예: 조건을 사용하여 세부적인 액세스 제어 구현 단원을 참조하세요.

AWS STS가 임시 액세스 자격 증명을 생성하는 방법에 대한 자세한 내용은 IAM 사용 설명서임시 보안 자격 증명 요청 단원을 참조하세요.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.