Actions 정책 살펴보기
Actions 정책 살펴보기
GitHub Actions 워크플로가 리포지토리, 조직, 엔터프라이즈 안에서 어떻게 실행되는지 통제하는 방법을 함께 알아볼게요. Actions 정책으로 워크플로 실행을 세밀하게 관리할 수 있어요.
본문
Actions 정책 소개
Actions 정책은 GitHub Actions 워크플로가 어떻게 실행되는지 통제할 수 있게 해줘요. GitHub Actions 설정의 Policies(정책) 섹션에서 구성할 수 있어요(일반(General) 설정과는 별개예요).
Actions 정책은 엔터프라이즈, 조직, 리포지토리 수준에서 사용할 수 있어요. 현재는 워크플로 실행 보호(workflow execution protections)라는 한 가지 유형의 정책만 포함하고 있으며, GitHub는 앞으로 더 많은 정책을 추가할 계획이에요.
워크플로 실행 보호 소개
워크플로 실행 보호를 사용하면 GitHub Actions 워크플로를 누가 트리거할 수 있고 어떤 이벤트가 실행을 허용하는지 제어하는 허용 목록(allowlist)을 정의할 수 있어요. 이런 보호 기능은 실제 공격 패턴 몇 가지를 차단하는 데 도움이 돼요:
- 풀 리퀘스트에서 온 파이프라인 오염 공격(Poisoned pipeline execution). 특히 공개 리포지토리에서 가장 많이 악용되는
pull_request_target을 제한하거나 금지할 수 있어요. - 수동 트리거 남용(Manual-trigger abuse).
workflow_dispatch를 제한해서 신뢰할 수 없는 주체(identity)가 워크플로를 시작하지 못하게 할 수 있어요. - 신뢰할 수 없는 주체의 실행(Untrusted-actor execution). 신뢰 수준이 낮은 주체가 워크플로를 트리거하는 것 자체를 차단할 수 있어요.
- 잘못된 설정 악용(Misconfiguration exploitation). 잘못 설정된 워크플로 파일 하나를 무시하는 중앙 정책을 적용할 수 있어요.
정책이 적용되면 허용되지 않은 워크플로 실행은 오류와 함께 실패해요. 예를 들면 다음과 같아요:
Event 'workflow_dispatch' is not allowed to trigger Actions workflows. Workflow file: '.github/workflows/0-welcome.yml'.
[!NOTE] GitHub는 공개 리포지토리에서
pull_request_target이벤트를 차단하는 기본 정책을 추가했어요. 이 정책은 2026년 11월 2일에 적용될 예정이에요. 자세한 내용은 pull_request_target 안전하게 사용하기를 참고하세요.
사용 가능한 규칙
- Actor 규칙(Actor rules) 은 누가 워크플로를 트리거할 수 있는지 제어해요. 개별 사용자, 리포지토리 역할, GitHub 앱, Copilot, Dependabot 등을 포함해요. 기본적으로 리포지토리에 쓰기 권한이 있는 모든 사용자가 워크플로를 트리거할 수 있어요. Actor 규칙을 사용하면 코드를 기여하는 사람과 CI를 실행하는 사람을 분리해서, 기여자에게 워크플로를 실행할 권한은 주지 않고 쓰기 권한만 줄 수 있어요.
- 이벤트 규칙(Event rules) 은 어떤 이벤트가 허용되는지 제어해요. 예를 들어
push,pull_request,pull_request_target,workflow_dispatch같은 이벤트가 있어요.
GitHub는 앞으로 더 많은 규칙을 추가할 계획이에요.
다음 단계
워크플로 실행 보호를 구성하려면 GitHub Actions 워크플로를 실행할 수 있는 사용자 제어하기를 참고하세요.
정책을 프로그래밍 방식으로 관리하려면 GitHub Actions 정책용 REST API 엔드포인트를 참고하세요.