View a markdown version of this page

AWS PrivateLink - AWS 로그인

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

AWS PrivateLink

AWS 로그인 OAuth APIs AWS PrivateLink를 사용하면 퍼블릭 인터넷을 통과하지 않고도 Amazon VPC 내에서 OAuth 권한 부여 엔드포인트에 액세스할 수 있습니다. AWS 네트워크에서 OAuth 권한 부여 트래픽을 유지하도록 AWS Sign-In에 대한 VPC 엔드포인트를 구성할 수 있습니다.

필요한 경우 AWS Sign-In OAuth에 VPC 엔드포인트를 사용합니다.

  • OAuth 권한 부여를 위한 프라이빗 연결은 Amazon VPC 또는 연결된 온프레미스 네트워크 내에서 흐릅니다.

  • VPC 엔드포인트 정책을 사용한 OAuth 권한 부여를 위한 네트워크 수준 액세스 제어.

  • 퍼블릭 인터넷 액세스가 없는 네트워크 격리 환경에서의 OAuth 권한 부여.

AWS 로그인 OAuth는 퍼블릭 인터넷에 액세스할 수 없는 네트워크에서의 운영을 지원합니다. AWS 로그인을 위해 VPC 엔드포인트를 구성하면 애플리케이션과 AWS 로그인 간의 OAuth 권한 부여 트래픽이 PrivateLink를 통해 AWS 라우팅됩니다. OAuth 권한 부여 흐름 자체에는 인터넷 연결이 필요하지 않습니다.

필요한 VPC 엔드포인트는 권한 부여 모델에 따라 다릅니다. region를 자체 리전 정보로 바꿉니다.

대화형 OAuth 권한 부여(브라우저 기반)에는 다음 VPC 엔드포인트가 필요합니다.

  • com.amazonaws.region.signin

  • com.amazonaws.region.signin-v2

비대화형 OAuth 권한 부여(SigV4를 사용한 클라이언트 자격 증명 권한 부여)에는 다음 VPC 엔드포인트가 필요합니다.

  • com.amazonaws.region.signin-v2

VPC 엔드포인트 정책을 사용하여 프라이빗 네트워크를 통해 AWS Sign-In OAuth APIs를 사용할 수 있는 자격 증명 및 계정을 제어할 수 있습니다. VPC 엔드포인트 정책은 OAuth 작업 전반에서 평가됩니다.

AWS 로그인 VPC 엔드포인트에는 각 인증 단계에 적합한 특정 로그인 작업 및 조건 키가 있는 정책이 필요합니다.

  • 사전 인증 단계 - 사용자의 자격 증명이 설정되기 전에 평가됩니다. 보안 주체 정보가 아직 알려지지 않았으므로 리소스 기반 조건 키만 사용할 수 있습니다.

    • 지원되는 작업: signin:Authenticate, signin:CreateOAuth2PublicClient

    • 지원되는 조건 키: aws:ResourceOrgId 또는 aws:ResourceAccount

    참고

    signin:CreateOAuth2PublicClientsignin:OAuthRedirectUri 조건 키만 지원합니다. 이 작업에서는 다른 조건 키가 지원되지 않습니다.

  • 인증 후 단계 - 로그인 서비스에서 세션 자격 증명을 발급할 때 인증 후 평가됩니다. 전체 보안 주체 정보를 사용할 수 있습니다.

    • 지원되는 작업: signin:AuthorizeOAuth2Access, signin:CreateOAuth2Token, signin:IntrospectOAuth2Token, signin:RevokeOAuth2Token

    • 지원되는 조건 키: aws:PrincipalOrgId 또는 aws:PrincipalAccount, aws:ResourceOrgId, aws:ResourceAccount

이 AWS 로그인 VPC 엔드포인트 정책은 작업별 문을 사용하여 사전 인증 및 사후 인증 단계 모두에서 지정된 AWS 조직의 AWS 계정에 대한 OAuth 작업을 허용합니다.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "PreAuthOrgRestriction", "Effect": "Allow", "Principal": "*", "Action": "signin:Authenticate", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceOrgID": "o-xxxxxxxxxxx" } } }, { "Sid": "PostAuthOrgRestriction", "Effect": "Allow", "Principal": "*", "Action": [ "signin:AuthorizeOAuth2Access", "signin:CreateOAuth2Token" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgId": "o-xxxxxxxxxxx" } } } ] }

이 AWS 로그인 VPC 엔드포인트 정책은 작업별 문을 사용하여 사전 인증 및 사후 인증 단계 모두에서 특정 AWS 계정 목록에 대한 OAuth 작업을 허용합니다.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "PreAuthAccountRestriction", "Effect": "Allow", "Principal": "*", "Action": "signin:Authenticate", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": [ "123456789012", "210987654321" ] } } }, { "Sid": "PostAuthAccountRestriction", "Effect": "Allow", "Principal": "*", "Action": [ "signin:AuthorizeOAuth2Access", "signin:CreateOAuth2Token" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalAccount": [ "123456789012", "210987654321" ] } } } ] }

이 AWS 로그인 VPC 엔드포인트 정책은 동적 클라이언트 등록을 localhost 리디렉션 URIs.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowDCRLocalhostOnly", "Effect": "Allow", "Principal": "*", "Action": "signin:CreateOAuth2PublicClient", "Resource": "*", "Condition": { "StringLike": { "signin:OAuthRedirectUri": "http://localhost:*" } } } ] }

이 AWS 로그인 VPC 엔드포인트 정책은 특정 AWS 계정에 대한 토큰 내부 검사 및 취소를 허용합니다.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowIntrospectAndRevoke", "Effect": "Allow", "Principal": "*", "Action": [ "signin:IntrospectOAuth2Token", "signin:RevokeOAuth2Token" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalAccount": [ "123456789012", "210987654321" ] } } } ] }

네트워크 기반 액세스 제어는 섹션을 참조하세요리소스 기반 정책 및 리소스 제어 정책을 사용하여 콘솔 액세스 제어.

signin:CreateAccount 작업은 프라이빗 네트워크 내에서 계정 가입 흐름에 AWS 액세스할 수 있는지 여부를 제어합니다. 이 작업은 익명 보안 주체(가입 중에 계정이 없음)를 사용하며 조건 키를 지원하지 않습니다.

AWS 로그인 VPC 엔드포인트 정책 형식을 사용하는 경우 명시적으로 허용하지 않는 한 묵시적 거부에 의해 가입 흐름이 차단됩니다. 조직에서 프라이빗 네트워크 내에서 계정 가입이 필요한 경우 AWS 로그인 VPC 엔드포인트 정책에 다음 문을 추가합니다.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowAccountSignup", "Effect": "Allow", "Principal": "*", "Action": "signin:CreateAccount", "Resource": "*" } ] }