GitHub Actions OIDC, 레포지토리 속성 기반 접근 제어 지원

by DD
2개월 전
조회수 18

GitHub Actions OIDC 토큰이 레포지토리 커스텀 속성을 클레임(Claim)으로 지원하며, 속성 기반 접근 제어(ABAC) 구현을 용이하게 함

새로운 설정 페이지를 통해 OIDC 토큰 클레임(Claim) 설정을 레포지토리, 조직, 엔터프라이즈 수준에서 간편하게 구성 가능

클라우드 공급자(Azure, AWS, GCP)의 정책에서 레포지토리 속성을 기반으로 접근 제어 가능

중복 제거, 설정 오류 감소, 온보딩 가속화를 통해 클라우드 환경에서의 보안 및 관리 효율성 향상

OIDC 토큰에 커스텀 속성 추가 방법

본문에 따르면, 깃허브 액션(GitHub Actions) OIDC 토큰에 레포지토리 커스텀 속성을 추가하는 방법은 API(API) 또는 새로운 설정 UI(UI)를 이용하는 것이다.

API 방식: API를 통해 레포지토리 커스텀 속성을 OIDC 토큰에 포함

UI 방식: 레포지토리, 조직, 엔터프라이즈 수준에서 OIDC 토큰 클레임(Claim) 설정을 관리

`repo_property_` 접두사: 설정된 속성은 `repo_property_` 접두사와 함께 OIDC 토큰에 포함

이러한 기능을 통해 클라우드 환경(Cloud Environment)에서의 접근 제어(Access Control)를 유연하게 관리할 수 있다.

속성 기반 접근 제어(ABAC)의 장점

글에서는 OIDC 토큰의 커스텀 속성을 활용하여 속성 기반 접근 제어(ABAC)를 구현함으로써 얻는 이점을 설명한다.

중복 제거(Eliminate Duplication): 거버넌스 메타데이터(Governance Metadata)를 한 곳에서 관리하고 클라우드 정책에 자동 적용

설정 오류 감소(Reduce Configuration Drift): 정책이 레포지토리 속성에 직접 연결되어 조직 변화에 유연하게 대응

온보딩 가속화(Accelerate Onboarding): 새로운 레포지토리가 자동으로 적절한 접근 정책을 상속받아 개발 생산성(Development Productivity) 향상

결과적으로, ABAC는 클라우드 환경(Cloud Environment)의 보안(Security) 및 관리 효율성(Management Efficiency)을 동시에 개선한다.

클라우드 공급자별 정책 설정

본문은 Azure, AWS, GCP 등 클라우드 공급자(Cloud Provider)에서 OIDC 토큰의 커스텀 속성을 활용하는 방법을 제시한다.

클레임 참조: 클라우드 공급자의 신뢰 정책(Trust Policy)에서 OIDC 토큰의 클레임을 참조하여 접근 제어

정적 허용 목록(Static Allow List) 및 워크플로우 변경 불필요: 레포지토리 속성에 따라 동적으로 접근 권한(Access Rights) 제어 가능

유연한 정책 관리: 레포지토리 속성 변경 시 자동으로 정책이 업데이트되어 일관성 유지

이러한 방식을 통해 클라우드 환경(Cloud Environment)의 보안(Security)을 강화하고 관리 부담을 줄일 수 있다.

OIDC 토큰 보안 고려 사항

OIDC 토큰을 사용할 때, 보안(Security)을 위해 고려해야 할 사항들이 존재한다.

토큰 유효 기간(Token Expiration): 토큰의 유효 기간을 적절하게 설정하여 무단 사용 방지

클레임 검증(Claim Validation): 클레임의 무결성(Integrity)을 검증하여 위변조 방지

권한 최소화(Least Privilege): 최소 권한 원칙(Principle of Least Privilege)을 준수하여 불필요한 접근 제한

데이터 격리 아키텍처(Data Isolation Architecture): 중요 정보(Sensitive Information)는 OIDC 토큰에 포함하지 않도록 주의

결론적으로, OIDC 토큰은 강력한 보안 기능을 제공하지만, 적절한 설정과 관리(Management) 없이는 보안 취약점(Security Vulnerability)이 발생할 수 있다.

Actions OIDC tokens now support repository custom properties