InfoGrab Docs

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

ID 토큰을 사용한 OpenID Connect (OIDC) 인증에 대해 설명합니다.

히스토리 GitLab 15.7에서 도입 . ID 토큰은 GitLab CI/CD에서 생성하는 JSON 웹 토큰(JWT) 입니다. CI/CD 잡은 다음을 포함한 서드파티 서비스와의 OIDC 인증에 ID 토큰을 사용할 수 있습니다: 시크릿 공급자 클라우드 서비스 예를 들어 HashiCorp Vault로 인증하는 데 ID 토큰을 사용하는 흐름은 다음 다이어그램으로 요약됩니다: 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 키워드에서도 사용됩니다. CI/CD 잡에서 ID 토큰 구성 # ID 토큰을 사용하려면 id_tokens 키워드로 CI/CD 잡을 구성합니다. 그런 다음 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 클레임을 가집니다. 서드파티 서비스는 바운드 대상과 일치하는 aud 클레임이 없는 토큰을 거부하도록 구성할 수 있습니다. 이 기능을 사용하여 토큰으로 인증할 수 있는 서비스 수를 줄입니다. 이렇게 하면 토큰이 침해되었을 때의 심각도가 줄어듭니다