OIDC 페더레이션 - AWS Identity and Access Management

OIDC 페더레이션

워크플로를 사용하여 Amazon S3 및 DynamoDB에 액세스하는 GitHub Actions와 같은 AWS 리소스에 액세스하는 애플리케이션을 구축하는 상황을 가정해 보겠습니다.

이러한 워크플로를 사용할 때는 AWS 액세스 키로 서명해야 하는 AWS 서비스에 요청을 하게 됩니다. 하지만 AWS 자격 증명을 AWS 외부의 애플리케이션에 장기적으로 저장하지 않는 것을 강력하게 권장합니다. 대신 OIDC 페더레이션을 사용하여 필요할 때 임시 AWS 보안 자격 증명을 동적으로 요청하도록 애플리케이션을 구성합니다. 제공되는 임시 자격 증명은 애플리케이션에 필요한 작업을 수행하는 데 필요한 권한만 있는 AWS 역할에 매핑됩니다.

OIDC 페더레이션을 사용하면 사용자 정의 로그인 코드를 생성하거나 자신의 사용자 보안 인증을 관리할 필요가 없습니다. 대신, GitHub Actions 또는 기타 OIDC(OpenID Connect)와 호환되는 IdP와 같은 애플리케이션에서 OIDC를 사용하여 AWS에 인증할 수 있습니다. 이러한 애플리케이션은 JWT(JSON 웹 토큰)라는 인증 토큰을 수신한 후 이 토큰을 AWS에서 임시 보안 자격 증명으로 교환하여 AWS 계정의 특정 리소스를 사용할 수 있는 권한이 있는 IAM 역할에 매핑합니다. IdP를 사용하면 애플리케이션에 장기 보안 자격 증명을 포함하거나 배포할 필요가 없으므로 AWS 계정을(를) 안전하게 유지할 수 있습니다.

대부분의 시나리오에서 Amazon Cognito를 사용하는 것이 좋은데, Amazon Cognito가 자격 증명 브로커의 역할을 하고 페더레이션 작업을 대부분 수행하기 때문입니다. 자세한 정보는 모바일 앱에 Amazon Cognito 사용 섹션을 참조하세요.

참고

OpenID Connect(OIDC) ID 제공업체에서 발행하는 JWT(JSON 웹 토큰)에는 토큰이 만료되는 시기를 지정하는 exp 클레임에 만료 시간이 포함되어 있습니다. IAM은 OpenID Connect(OIDC) Core 1.0 표준에서 허용하는 대로 클럭 스큐를 고려하여 JWT에 지정된 만료 시간 이후 5분의 기간을 제공합니다. 즉, 만료 시간 이후 5분 이내에 IAM이 수신한 OIDC JWT가 추가 평가 및 처리를 위해 승인됩니다.