InfoGrab DocsInfoGrab Docs

ID 토큰을 사용한 OpenID Connect(OIDC) 인증

GitLab CI/CD 가 생성하는 ID 토큰으로 서드파티 서비스와 OIDC 인증을 수행하는 방법을 설명합니다.

ID 토큰은 GitLab CI/CD가 생성하는 JSON 웹 토큰(JWT) 입니다. CI/CD job은 ID 토큰을 사용해 서드파티 서비스와 OIDC 인증을 수행할 수 있습니다. 예를 들면 다음과 같습니다: 시크릿 제공자 클라우드 서비스 예를 들어 ID 토큰을 사용해 HashiCorp Vault로 인증하는 흐름은 다음 다이어그램과 같이 요약됩니다: Mermaid 다이어그램 (17줄) 소스 코드 보기 sequenceDiagram participant GitLab as GitLab CI/CD participant Runner as GitLab Runner participant Vault as HashiCorp Vault GitLab->>Runner: Generates an ID token (JWT) for the CI/CD job Runner->>Vault: Runner authenticates with HashiCorp Vault using the token Vault->>Vault: HashiCorp Vault verifies the token Vault->>Vault: HashiCorp Vault checks bounded claims and attaches policies Vault->>Runner: HashiCorp Vault returns the token Runner->>Vault: Runner requests secrets from HashiCorp Vault Vault->>Runner: Returns secrets</code></pre></details></div> ID 토큰은 secrets 키워드에서도 사용됩니다. GitLab Duo Agent Platform의 flow 와 외부 에이전트 도 실행 중 서드파티 서비스로 인증하기 위해 id_tokens 를 선언할 수 있습니다. CI/CD job에서 ID 토큰 구성 # ID 토큰을 사용하려면 id_tokens 키워드로 CI/CD job을 구성합니다. 그런 다음 script , before_script , after_script 섹션에서 토큰을 사용할 수 있습니다. 예를 들면 다음과 같습니다: job_with_id_tokens: id_tokens: FIRST_ID_TOKEN: aud: https://first.service.com SECOND_ID_TOKEN: aud: https://second.service.com script: - first-service-authentication-script.sh $FIRST_ID_TOKEN - second-service-authentication-script.sh $SECOND_ID_TOKEN 이 예시에서 두 토큰은 서로 다른 aud 클레임을 갖습니다. 서드파티 서비스는 바인딩된 audience와 일치하는 a