이 문서는 JFrog에서 OIDC의 관리에 대한 가이드를 공유하기 위해 작성되었다.


도구명JFrog Artifactory
문서 작성 기준 버전7.84.14
지원 Edition

ENTERPRISE X ENTERPRISE +

목차



OpenID Connect(OIDC)란?

OAuth 2.0 프로토콜 위에서 작동하는 사용자의 인증을 위한 프로토콜입니다. OIDC를 사용하면 사용자가 OpenID Providers를 사용하여 Single Sign-On(SSO)을 사용할 수 있습니다. 
OIDC를 사용하여 JFrog와 신뢰할 수 있는 공급자를 통합하면 신뢰할 수 있는 공급자와 JFrog 플랫폼 간의 신뢰가 확립됩니다.
이 설정은 토큰 관리를 자동화하고 OpenID Connect(OIDC)를 통해 보안을 강화합니다.

OIDC 통합을 사용하면 GitHub Actions CI 파이프라인이 GitHub에 JFrog 비밀번호, 토큰 또는 API 키를 저장하지 않고도 아티팩트를 다운로드하고 게시할 수 있습니다.

JFrog 플랫폼에서 OIDC 통합(Integration)을 생성하고 통합에 여러 ID 매핑을 추가할 수 있습니다. JFrog 플랫폼은 외부 서비스가 JFrog 플랫폼에서 인증할 수 있도록 각 ID 매핑에 대한 참조 토큰을 생성합니다.
ID 매핑은 JFrog 플랫폼이 들어오는 OIDC 클레임을 특정 권한 범위와 일치시키는 데 사용하는 구성 개체입니다. 

OIDC 통합 생성하기

  • 관리자 메뉴 → General → Manage Integrations → New Integration → OpenID Connect

  1. 제공자 이름 : JFrog Platform에 연결할 OIDC 공급자
    - 이 이름은 OIDC 공급자에 구성된 이름과 일치해야 함
  2. 제공자 유형 : GitHub 또는 Generic
    - Generic OpenID 통합을 선택하는 경우에 이름은 OpenID 공급자 구성의 이름과 정확히 일치해야 함
  3. 제공자 URL
    - Generic OpenID 통합을 선택하는 경우 URL은 OpenID 제공자 구성의 URL과 일치해야 함
  4. 통합에 대한 대상의 이름 : 통합 범위를 결정
    - OIDC 공급자의 구성과 일치해야 함

ID 맵핑 구성

ID 맵핑은 JFrog 플랫폼이 들어오는 OIDC 클레임을 특정 권한 범위와 일치시키는 데 사용하는 구성 개체입니다.
각 ID 매핑은 JFrog Platform에서 인증하기 위한 참조 토큰을 만듭니다.

ID 맵핑 생성하기

  • 관리자 메뉴 → General → Manage Integrations → Integrations의 추가 설정 메뉴 → + Create Identity Mapping

  1. ID 맵핑의 명칭 입력
  2. ID 맵핑이 평가되는 우선순위 : 숫자가 작을 수록 우선순위가 높음
  3. ID 맵핑을 위해 OpenID 공급자의 클레임 JSON : 이 맵핑을 검증할 클레임을 포함하는 JSON 파일을 지정
    보안을 위해 ID 매핑에서 JSON 클레임을 정의하는 것이 좋습니다. 클레임을 추가하지 않으면 대상 서비스 계정을 아는 사람은 누구나 액세스할 수 있습니다.
  4. 토큰의 범위는 특정 그룹 또는 사용자, 관리자 중 선택할 수 있습니다.
  5. 액세스 허용되는 JFrog 서비스
  6. 토큰 만료 시간(분), 24시간(1440분)이 최대

Claims JSON 구문

  • iss : 클레임이 GitHub에서 생성되었음을 확인하기 위해 https://token.actions.githubusercontent.com 설정
  • repository : GitHub 저장소의 이름
  • enterprise : 저장소가 속한 enterprise의 이름에 대한 클레임 제한 설정(선택)
  • 기타 environment, actor, runner_environment, sub, repository_owner, repository_visibility, workflow 등 설정 가능

예시)

{ 
  "enterprise" :  "jfrog" ,
  "iss" :  "https://token.actions.githubusercontent.com" , 
  "repository" :  ["jfrog/jfrog-cli", "jfrog/artifactory-client-java", "jfrog/setup-jfrog-cli"] 
}


GitHub Actions의 Claims JSON에 대한 자세한 내용은 GitHub Actions 설명서를 참조하세요 .

JFrog CLI로 OIDC 구성하기

GitHub

GitHub Actions 워크플로우 파일에 코드를 삽입하십시오.

예시
- name: Setup JFrog CLI
  uses: jfrog/setup-jfrog-cli@v4
  env:  
    JF_URL: <YOUR_JFROG_INSTANCE_URL>  
  with:
    oidc-provider-name: <CONFIGURED_INTEGRATION_PROVIDER_NAME_ON_JFROG_PLATFORM>
    oidc-audience: <CONFIGURED_INTEGRATION_AUDIENCE_NAME_ON_JFROG_PLATFORM>



참조


  • 레이블 없음