OIDC로 API 게이트웨이 사용하기

OIDC로 API 게이트웨이 사용하기

OpenID Connect(OIDC) 토큰을 사용해 워크플로를 인증할 수 있어요. 사설 네트워크 가장자리에 API 게이트웨이를 실행해 OIDC 토큰으로 들어오는 요청을 인증하고 워크플로를 대신해 API 요청을 보낼 수 있어요.

출처: 문서

본문

OIDC로 API 게이트웨이 사용하기

GitHub Actions를 사용하면 GitHub Actions 외부에서 워크플로를 인증하기 위해 OpenID Connect(OIDC) 토큰을 사용할 수 있어요. 예를 들어 사설 네트워크 가장자리에서 API 게이트웨이를 실행해 OIDC 토큰으로 들어오는 요청을 인증하고, 사설 네트워크에서 워크플로를 대신해 API 요청을 보낼 수 있어요.

다음 다이어그램은 이 솔루션의 아키텍처를 개괄적으로 보여줘요:

GitHub Actions 러너로 시작해 사설 네트워크의 사설 서비스로 끝나는 OIDC 게이트웨이 아키텍처 다이어그램.

OIDC 토큰이 GitHub Actions에서 왔다는 것뿐 아니라, 특히 본인이 기대하는 워크플로에서 왔다는 것을 확인하는 것이 중요해요. 그래야 다른 GitHub Actions 사용자가 사설 네트워크의 서비스에 접근할 수 없어요. OIDC 클레임을 사용해 이러한 조건을 만들 수 있어요. 자세한 내용은 OpenID Connect 참조를 참고하세요.

이 접근 방식의 주요 단점은 API 게이트웨이를 구현해 요청을 대신 보내야 하고, 게이트웨이를 네트워크 가장자리에서 실행해야 한다는 점이에요.

다음과 같은 장점이 있어요.

  • 방화벽을 구성하거나 사설 네트워크의 라우팅을 수정할 필요가 없어요.
  • API 게이트웨이는 상태가 없고(stateless) 수평으로 확장되어 고가용성과 고처리량을 처리해요.

자세한 내용은 github/actions-oidc-gateway 저장소의 API 게이트웨이 참조 구현을 참고하세요. 이 구현은 사용 사례에 맞는 커스터마이징이 필요하며 있는 그대로 실행-ready가 아니에요. 자세한 내용은 OpenID Connect를 참고하세요.