OIDC로 API 게이트웨이 사용하기
OIDC로 API 게이트웨이 사용하기
OpenID Connect(OIDC) 토큰을 사용해 워크플로를 인증할 수 있어요. 사설 네트워크 가장자리에 API 게이트웨이를 실행해 OIDC 토큰으로 들어오는 요청을 인증하고 워크플로를 대신해 API 요청을 보낼 수 있어요.
출처: 문서
본문
OIDC로 API 게이트웨이 사용하기
GitHub Actions를 사용하면 GitHub Actions 외부에서 워크플로를 인증하기 위해 OpenID Connect(OIDC) 토큰을 사용할 수 있어요. 예를 들어 사설 네트워크 가장자리에서 API 게이트웨이를 실행해 OIDC 토큰으로 들어오는 요청을 인증하고, 사설 네트워크에서 워크플로를 대신해 API 요청을 보낼 수 있어요.
다음 다이어그램은 이 솔루션의 아키텍처를 개괄적으로 보여줘요:

OIDC 토큰이 GitHub Actions에서 왔다는 것뿐 아니라, 특히 본인이 기대하는 워크플로에서 왔다는 것을 확인하는 것이 중요해요. 그래야 다른 GitHub Actions 사용자가 사설 네트워크의 서비스에 접근할 수 없어요. OIDC 클레임을 사용해 이러한 조건을 만들 수 있어요. 자세한 내용은 OpenID Connect 참조를 참고하세요.
이 접근 방식의 주요 단점은 API 게이트웨이를 구현해 요청을 대신 보내야 하고, 게이트웨이를 네트워크 가장자리에서 실행해야 한다는 점이에요.
다음과 같은 장점이 있어요.
- 방화벽을 구성하거나 사설 네트워크의 라우팅을 수정할 필요가 없어요.
- API 게이트웨이는 상태가 없고(stateless) 수평으로 확장되어 고가용성과 고처리량을 처리해요.
자세한 내용은 github/actions-oidc-gateway 저장소의 API 게이트웨이 참조 구현을 참고하세요. 이 구현은 사용 사례에 맞는 커스터마이징이 필요하며 있는 그대로 실행-ready가 아니에요. 자세한 내용은 OpenID Connect를 참고하세요.