이 문서는 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
- 제공자 이름 : JFrog Platform에 연결할 OIDC 공급자
- 이 이름은 OIDC 공급자에 구성된 이름과 일치해야 함 - 제공자 유형 : GitHub 또는 Generic
- Generic OpenID 통합을 선택하는 경우에 이름은 OpenID 공급자 구성의 이름과 정확히 일치해야 함 - 제공자 URL
- Generic OpenID 통합을 선택하는 경우 URL은 OpenID 제공자 구성의 URL과 일치해야 함 - 통합에 대한 대상의 이름 : 통합 범위를 결정
- OIDC 공급자의 구성과 일치해야 함
ID 맵핑 구성
ID 맵핑은 JFrog 플랫폼이 들어오는 OIDC 클레임을 특정 권한 범위와 일치시키는 데 사용하는 구성 개체입니다.
각 ID 매핑은 JFrog Platform에서 인증하기 위한 참조 토큰을 만듭니다.
ID 맵핑 생성하기
- 관리자 메뉴 → General → Manage Integrations → Integrations의 추가 설정 메뉴 → + Create Identity Mapping
- ID 맵핑의 명칭 입력
- ID 맵핑이 평가되는 우선순위 : 숫자가 작을 수록 우선순위가 높음
- ID 맵핑을 위해 OpenID 공급자의 클레임 JSON : 이 맵핑을 검증할 클레임을 포함하는 JSON 파일을 지정
보안을 위해 ID 매핑에서 JSON 클레임을 정의하는 것이 좋습니다. 클레임을 추가하지 않으면 대상 서비스 계정을 아는 사람은 누구나 액세스할 수 있습니다. - 토큰의 범위는 특정 그룹 또는 사용자, 관리자 중 선택할 수 있습니다.
- 액세스 허용되는 JFrog 서비스
- 토큰 만료 시간(분), 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>