Skip to main content

조직의 GitHub Actions 사용 안 함 또는 제한

조직의 GitHub Actions를 사용, 사용 중지, 제한할 수 있습니다.

누가 이 기능을 사용할 수 있나요?

Organization owners and users with the "Manage organization Actions policies" and "Manage runners and runner groups" fine-grained permissions can enable, disable, and limit GitHub Actions for an organization.

For more information, see 사용자 지정 조직 역할 소개.

조직에 대한 GitHub Actions 권한 정보

기본적으로 GitHub Actions는 모든 리포지토리 및 조직에서 사용하도록 설정됩니다. GitHub Actions를 사용하지 않거나 엔터프라이즈의 작업 및 재사용 가능한 워크플로로 제한하도록 선택할 수 있습니다. GitHub Actions에 대한 자세한 내용은 워크플로 작성을(를) 참조하세요.

조직의 모든 리포지토리에 대해 GitHub Actions를 사용하도록 설정할 수 있습니다. GitHub Actions을(를) 사용하도록 설정하면 워크플로는 리포지토리 및 다른 퍼블릭 또는 내부 리포지토리 내의 작업 및 재사용 가능한 워크플로 항목을 실행할 수 있습니다. 조직의 모든 리포지토리에 대해 GitHub Actions를 사용하지 않도록 설정할 수 있습니다. GitHub Actions를 사용하지 않도록 설정하면 리포지토리에서 워크플로가 실행되지 않습니다.

또는 조직의 모든 리포지토리에 대해 GitHub Actions를 사용하도록 설정할 수 있지만, 워크플로가 실행할 수 있는 작업 및 재사용 가능한 워크플로를 제한할 수 있습니다.

조직에 대한 GitHub Actions 권한 관리

조직의 모든 리포지토리에 대해 GitHub Actions를 사용하지 않도록 설정하거나 특정 리포지토리만 허용하도록 선택할 수 있습니다. 또한 퍼블릭 작업 및 재사용 가능한 워크플로의 사용을 제한할 수 있으므로 사용자는 엔터프라이즈에 있는 로컬 작업 및 재사용 가능한 워크플로만 사용할 수 있습니다.

Note

조직이 재정의 정책을 사용하는 엔터프라이즈에서 관리되는 경우 이러한 설정을 관리하지 못할 수 있습니다. 자세한 내용은 엔터프라이즈에서 GitHub Actions에 대한 정책 적용을(를) 참조하세요.

  1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 선택하고 조직을 클릭합니다.

  2. 조직 옆에 있는 설정을 클릭합니다.

  3. 왼쪽 사이드바에서 작업을 클릭한 다음 일반을 클릭합니다.

  4. “정책”에서 옵션을 선택합니다.

    엔터프라이즈를 허용하고 엔터프라이즈가 아닌 작업 및 재사용 가능한 워크플로 선택____를 선택하면 엔터프라이즈 내의 작업 및 재사용 가능한 워크플로가 허용되며 다른 특정 작업 및 재사용 가능한 워크플로를 허용하는 추가 옵션이 있습니다. 자세한 내용은 “선택 작업 및 재사용 가능 워크플로 실행 허용”을 참조하세요.

    엔터프라이즈 작업 및 재사용 가능한 워크플로를 허용하면 정책이 GitHub에서 작성한 작업에 대한 모든 액세스를 차단합니다. 예를 들어 actions/checkout 작업에 액세스할 수 없습니다.

  5. 저장을 클릭합니다.

선택 작업 및 재사용 가능한 워크플로 실행 허용

엔터프라이즈를 허용하고 엔터프라이즈가 아닌 작업 및 재사용 가능한 워크플로 선택____를 선택하면 로컬 작업 및 재사용 가능한 워크플로가 허용되며 다른 특정 작업 및 재사용 가능한 워크플로를 허용하는 추가 옵션이 있습니다.

Note

이러한 설정은 조직에 재정의 정책이 있거나 재정의 정책이 있는 엔터프라이즈에서 관리하는 경우 관리하지 못할 수 있습니다. 자세한 정보는 "조직의 GitHub Actions 사용 안 함 또는 제한" 또는 "엔터프라이즈에서 GitHub Actions에 대한 정책 적용"을(를) 참조하세요.

  • GitHub에 의해 만들어진 작업을 허용합니다. GitHub에서 만든 모든 작업을 워크플로에서 사용하도록 허용할 수 있습니다. GitHub에서 만든 작업은 actionsgithub 조직에 있습니다. 자세한 내용은 actionsgithub 조직을 참조하세요.

  • 확인된 작성자의 Marketplace 작업을 허용합니다. 확인된 작성자가 만든 모든 GitHub Marketplace 작업을 워크플로에서 사용하도록 허용할 수 있습니다. GitHub가 작업 작성자를 파트너 조직으로 확인하면 배지가 GitHub Marketplace의 작업 옆에 표시됩니다.

  • 지정된 작업 및 재사용 가능한 워크플로를 허용합니다. 특정 조직 및 리포지토리에서 작업 및 재사용 가능한 워크플로를 사용하도록 워크플로를 제한할 수 있습니다. 지정된 작업은 1000 이하로 설정할 수 있습니다.

    특정 태그에 대한 액세스를 제한하거나 작업 또는 재사용 가능한 워크플로의 SHA를 커밋하려면 워크플로에서 사용된 것과 동일한 구문을 사용하여 작업 또는 재사용 가능한 워크플로를 선택합니다.

    • 작업의 경우 구문은 OWNER/REPOSITORY@TAG-OR-SHA입니다. 예를 들어 actions/javascript-action@v1.0.1을 사용하여 태그를 선택하거나 actions/javascript-action@a824008085750b8e136effc585c3cd6082bd575f를 사용하여 SHA를 선택합니다. 자세한 내용은 "워크플로에서 미리 작성된 구성 요소 사용"을(를) 참조하세요.
    • 재사용 가능한 워크플로의 경우 구문은 OWNER/REPOSITORY/PATH/FILENAME@TAG-OR-SHA입니다. 예들 들어 octo-org/another-repo/.github/workflows/workflow.yml@v1입니다. 자세한 내용은 "워크플로 다시 사용"을(를) 참조하세요.

    * 와일드카드 문자를 사용하여 패턴을 일치시킬 수 있습니다. 예를 들어 space-org로 시작하는 조직에서 모든 작업 및 재사용 가능한 워크플로를 허용하려면 space-org*/*를 지정할 수 있습니다. octocat으로 시작하는 리포지토리에서 모든 작업 및 재사용 가능한 워크플로를 허용하려면 */octocat**@*을 사용할 수 있습니다. * 와일드카드 사용에 대한 자세한 정보는 "GitHub Actions에 대한 워크플로 구문”을 참조하세요.

    패턴을 구분하는 데 ,를 사용합니다. 예를 들어 octocatoctokit을 허용하려면 octocat/*, octokit/*을 지정할 수 있습니다.

    Note

    GitHub Free, GitHub Pro, 조직용 GitHub Free, GitHub Team 플랜인 경우, 지정된 작업 및 재사용 가능 워크플로 옵션은 퍼블릭 리포지토리에서만 사용할 수 있습니다.

이 프로시저에서는 지정된 작업 및 재사용 가능한 워크플로를 허용 목록에 추가하는 방법을 보여 줍니다.

  1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 선택하고 조직을 클릭합니다.
  2. 조직 옆에 있는 설정을 클릭합니다.
  3. 왼쪽 사이드바에서 작업을 클릭한 다음 일반을 클릭합니다.
  4. "정책"에서 엔터프라이즈를 허용하고 엔터프라이즈가 아닌 작업 및 재사용 가능한 워크플로 선택____를 선택하고 필요한 작업 및 재사용 가능한 워크플로를 목록에 추가합니다.
  5. 저장을 클릭합니다.

자체 호스팅 실행기의 사용 제한

GitHub Enterprise Cloud의 자체 호스트형 실행기가 임시 클린 가상 머신에서 호스트된다는 보장은 없습니다. 이에 따라 워크플로에서 신뢰할 수 없는 코드로 손상될 수 있습니다.

마찬가지로,리포지토리를 포크하고 끌어오기 요청을 할 수 있는 사람(일반적으로 리포지토리에 대한 읽기 액세스 권한이 있는 사용자)은 비밀 및 GITHUB_TOKEN에 대한 액세스 권한을 얻는 것을 포함하여, 설정에 따라 리포지토리에 대한 쓰기 권한을 부여할 수 있는 자체 호스팅 실행기 환경을 손상시킬 수 있습니다. 워크플로는 환경 및 필수 검토를 사용하여 환경 비밀에 대한 액세스를 제어할 수 있지만 워크플로는 격리된 환경에서 실행되지 않으며 자체 호스팅 실행기에서 실행될 때 동일한 위험에 여전히 취약합니다.

이러한 이유와 기타 이유로 리포지토리 수준에서 사용자가 자체 호스팅 실행기를 만들지 못하도록 설정할 수 있습니다.

Note

조직이 엔터프라이즈에 속한 경우 리포지토리 수준에서 자체 호스팅 실행기를 만드는 기능이 엔터프라이즈 전체 설정으로 비활성화되었을 수 있습니다. 그런 경우 조직 설정에서 리포지토리 수준 자체 호스팅 실행기를 사용하도록 설정할 수 없습니다. 자세한 내용은 엔터프라이즈에서 GitHub Actions에 대한 정책 적용을(를) 참조하세요.

사용하지 못하도록 설정한 경우 리포지토리에 자체 호스팅 실행기가 이미 있으면 해당 실행기는 "사용 안 함"이라는 상태와 함께 나열되며 새 워크플로 작업이 할당되지 않습니다.

"사용 안 함" 상태인 자체 호스팅 실행기를 보여 주는 "실행기" 목록의 스크린샷

Note

리포지토리 수준 자체 호스트형 실행기 생성을 사용하지 않도록 설정한 경우 워크플로는 엔터프라이즈 또는 조직 수준에서 자체 호스트형 실행기에 계속 액세스할 수 있습니다.

  1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 선택하고 조직을 클릭합니다.
  2. 조직 옆에 있는 설정을 클릭합니다.
  3. 왼쪽 사이드바에서 작업을 클릭한 다음 일반을 클릭합니다.
  4. "실행기"에서 드롭다운 메뉴를 사용하여 원하는 설정을 선택합니다.
    • 모든 리포지토리 - 조직의 모든 리포지토리에 자체 호스팅 실행기를 사용할 수 있습니다.
    • 선택한 리포지토리 - 선택한 리포지토리에만 자체 호스팅 실행기를 사용할 수 있습니다.
    • 사용 안 함 - 리포지토리 수준에서 자체 호스팅 실행기를 만들 수 없습니다.
  5. 선택한 리포지토리를 선택한 경우:
    1. 을(를) 클릭합니다.
    2. 자체 호스팅 실행기를 허용하려는 리포지토리의 확인란을 선택합니다.
    3. 리포지토리 선택을 클릭합니다.

퍼블릭 포크에서 워크플로에 필요한 승인 구성

누구나 퍼블릭 리포지토리를 포크한 다음 리포지토리의 GitHub Actions 워크플로에 대한 변경 내용을 제안하는 끌어오기 요청을 제출할 수 있습니다. 포크의 워크플로는 비밀과 같은 중요한 데이터에 액세스할 수 없지만 악의적인 목적으로 수정된 경우 유지 관리자에게 성가신 일이 될 수 있습니다.

이를 방지하기 위해 일부 외부 기여자로부터 퍼블릭 리포지토리에 대한 끌어오기 요청 워크플로는 자동으로 실행되지 않으며 먼저 승인되어야 할 수 있습니다. "참가자의 포크 끌어오기 요청 워크플로 실행에 대한 승인" 설정에 따라 퍼블릭 리포지토리에 대한 끌어오기 요청의 워크플로는 자동으로 실행되지 않으며 다음과 같은 경우 승인이 필요할 수 있습니다.

  • 끌어오기 요청은 선택한 정책에 따라 승인이 필요한 사용자가 만듭니다.
  • 끌어오기 요청 이벤트는 선택한 정책에 따라 승인이 필요한 사용자에 의해 트리거됩니다.

기본적으로 모든 최초 참가자는 워크플로를 실행하려면 승인이 필요합니다.

pull_request_target 이벤트에 의해 트리거되는 워크플로는 베이스 분기의 컨텍스트에서 실행됩니다. 기본 분기는 신뢰할 수 있는 것으로 간주되므로 이러한 이벤트에 의해 트리거되는 워크플로는 승인 설정에 관계없이 항상 실행됩니다. pull_request_target 이벤트에 대한 자세한 내용은 "워크플로를 트리거하는 이벤트"를 참조하세요.

Warning

이러한 워크플로 승인 정책은 GitHub Actions 실행기에서 워크플로를 실행할 수 있는 사용자 집합을 제한하기 위한 것으로, GitHub에서 호스트되는 실행기를 사용할 때 예기치 않은 리소스 및 컴퓨팅 소비가 발생할 수 있습니다. 자체 호스팅 실행기를 사용하는 경우 사용자가 설정된 승인 정책에서 승인을 우회하도록 허용되거나 끌어오기 요청이 승인된 경우 잠재적으로 악의적인 사용자 제어 워크플로 코드가 자동으로 실행됩니다. 인프라에서 이 코드를 실행할 때 발생할 수 있는 위험을 고려해야 하며 사용된 승인 설정에 관계없이 자체 호스팅 실행기 보안 권장 사항을 검토하고 따라야 합니다. "GitHub Actions에 대한 보안 강화" 항목을 참조하세요.

아래 절차를 사용하여 조직에 대해 이 동작을 구성할 수 있습니다. 이 설정을 수정하면 엔터프라이즈 수준에서 구성 세트가 재정의됩니다.

  1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 선택하고 조직을 클릭합니다.

  2. 조직 옆에 있는 설정을 클릭합니다.

  3. 왼쪽 사이드바에서 작업을 클릭한 다음 일반을 클릭합니다.

  4. 참가자의 포크 끌어오기 요청 워크플로 실행에 대한 승인에서 끌어오기 요청에 대한 워크플로를 실행하기 전에 승인이 필요한 사용자 하위 집합을 선택합니다. 끌어오기 요청 작성자와 워크플로를 트리거하는 끌어오기 요청 이벤트의 행위자를 모두 확인하여 승인이 필요한지 결정합니다. 승인이 필요한 경우 리포지토리에 대한 쓰기 권한이 있는 사용자는 실행할 끌어오기 요청 워크플로를 승인해야 합니다. "퍼블릭 포크에서 워크플로 실행 승인" 항목을 참조하세요.

    Warning

    처음 참가자(처음 두 설정)에 대해서만 승인이 필요한 경우 커밋 또는 끌어오기 요청을 리포지토리에 병합한 사용자에게는 승인이 필요하지 않습니다. 악의적인 사용자는 작성한 끌어오기 요청의 일부 또는 다른 사용자의 끌어오기 요청의 일부로 관리자가 수락한 간단한 오타 또는 기타 무해한 변경 내용을 가져와서 이 요구 사항을 충족할 수 있습니다.

    • GitHub를 처음 사용하는 기여자에 대한 승인 필요. GitHub를 처음 사용하고 이 리포지토리에 커밋 또는 끌어오기 요청을 병합한 적이 없는 사용자만 워크플로를 실행하기 위한 승인이 필요합니다.
    • 처음 참여하는 기여자에 대한 승인 필요. 커밋 또는 끌어오기 요청을 이 리포지토리에 병합한 적이 없는 사용자만 워크플로를 실행하기 위한 승인이 필요합니다.
    • 모든 외부 참가자에 대한 승인 필요 이 리포지토리의 구성원이나 소유자가 아니고 조직의 구성원도 아닌 모든 사용자는 워크플로를 실행하기 위한 승인이 필요합니다.
  5. 저장을 클릭하여 설정을 적용합니다.

이 정책이 적용되는 워크플로 실행 승인에 대한 자세한 내용은 “퍼블릭 포크에서 워크플로 실행 승인”을 참조하세요.

프라이빗 리포지토리 포크에 워크플로 사용

프라이빗 리포지토리의 포크를 사용하는 경우 사용자가 pull_request이벤트에서 워크플로를 실행하는 방법을 제어하는 정책을 구성할 수 있습니다. 프라이빗 및 내부 리포지토리에서만 사용할 수 있는 엔터프라이즈, 조직 또는 리포지토리에 대해 정책 설정을 구성할 수 있습니다.

엔터프라이즈에 대해 정책을 사용하지 않도록 설정하면 조직에서 정책을 사용하도록 설정할 수 없습니다. 조직에 대해 정책을 사용하지 않도록 설정하면 리포지토리에서 정책을 사용하도록 설정할 수 없습니다. 조직에서 정책을 사용하도록 설정하면 개별 리포지토리에 대해 정책을 사용하지 않도록 설정할 수 있습니다.

  • 포크 끌어오기 요청에서 워크플로 실행 - 사용자가 포크 끌어오기 요청에서 워크플로를 실행할 수 있도록 허용하고, 읽기 전용 권한이 있는 GITHUB_TOKEN을 사용하며, 비밀에 액세스할 수 없습니다.
  • 끌어오기 요청에서 워크플로에 쓰기 토큰 보내기 - 포크에서 끌어오기 요청이 쓰기 권한으로 GITHUB_TOKEN을 사용할 수 있도록 허용합니다.
  • 끌어오기 요청에서 워크플로로 비밀 보내기 - 끌어오기 요청에 모든 비밀을 사용할 수 있도록 합니다.
  • 포크 끌어오기 요청 워크플로 승인 필요 - 쓰기 권한이 없는 공동 작업자의 끌어오기 요청에서 워크플로를 실행하려면 쓰기 권한이 있는 사용자의 승인이 필요합니다.

조직에 대한 프라이빗 포크 정책 구성

  1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 선택하고 조직을 클릭합니다.
  2. 조직 옆에 있는 설정을 클릭합니다.
  3. 왼쪽 사이드바에서 작업을 클릭한 다음 일반을 클릭합니다.
  4. 포크 끌어오기 요청 워크플로에서 옵션을 선택합니다.
  5. 저장을 클릭하여 설정을 적용합니다.

조직에 대한 GITHUB_TOKEN의 권한 설정

GITHUB_TOKEN에 부여된 기본 사용 권한을 설정할 수 있습니다. GITHUB_TOKEN의 자세한 내용은 "자동 토큰 인증"을 참조하세요. 제한된 사용 권한 집합을 기본값으로 선택하거나 허용 설정을 적용할 수 있습니다.

조직 또는 리포지토리의 설정에서 GITHUB_TOKEN에 대한 기본 권한을 설정할 수 있습니다. 조직 설정에서 제한 옵션을 기본값으로 선택하면 조직 내 리포지토리 설정에서 동일한 옵션이 선택되고 허용 옵션이 사용하지 않도록 설정됩니다. 조직이 GitHub Enterprise 계정에 속하고 엔터프라이즈 설정에서 더 제한적인 기본값이 선택된 경우 조직 설정에서 더 허용적인 기본값을 선택할 수 없습니다.

리포지토리에 대한 쓰기 권한이 있는 사용자는 워크플로 파일에서 GITHUB_TOKEN 키를 편집하여 필요에 따라 액세스를 추가하거나 제거하여 permissions에 부여된 권한을 수정할 수 있습니다. 자세한 내용은 permissions를 참조하세요.

기본 GITHUB_TOKEN 권한 구성

기본적으로 새 조직을 만들 때 설정은 엔터프라이즈 설정에 구성된 설정에서 상속됩니다.

  1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 클릭하고 프로필을 클릭합니다.

    @octocat 프로필 사진의 드롭다운 메뉴 스크린샷. "프로필"이 진한 주황색으로 표시됩니다.

  2. GitHub의 오른쪽 위 모서리에서 프로필 사진을 선택하고 조직을 클릭합니다.

  3. 조직 옆에 있는 설정을 클릭합니다.

  4. 왼쪽 사이드바에서 작업을 클릭한 다음 일반을 클릭합니다.

  5. "워크플로 사용 권한"에서 GITHUB_TOKEN이(가) 모든 권한(허용 설정)에 대한 읽기 및 쓰기 권한을 가질지 또는 contentspackages 권한(제한된 설정)에 대한 읽기 권한만 가질지 선택합니다.

  6. 저장을 클릭하여 설정을 적용합니다.

GitHub Actions가 끌어오기 요청을 만들거나 승인하는 것 방지

GitHub Actions 워크플로가 끌어오기 요청을 만들거나 승인하는 것을 허용 또는 차단하도록 선택할 수 있습니다.

기본적으로 새 조직을 만들 때 워크플로는 끌어오기 요청을 만들거나 승인할 수 없습니다.

  1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 클릭하고 프로필을 클릭합니다.

    @octocat 프로필 사진의 드롭다운 메뉴 스크린샷. "프로필"이 진한 주황색으로 표시됩니다.

  2. GitHub의 오른쪽 위 모서리에서 프로필 사진을 선택하고 조직을 클릭합니다.

  3. 조직 옆에 있는 설정을 클릭합니다.

  4. 왼쪽 사이드바에서 작업을 클릭한 다음 일반을 클릭합니다.

  5. “워크플로 권한”에서 GitHub Actions를 사용하여 끌어오기 요청을 만들고 승인하도록 허용 설정을 사용하여 GITHUB_TOKEN이 끌어오기 요청을 만들고 승인할 수 있는지 여부를 구성합니다.

  6. 저장을 클릭하여 설정을 적용합니다.

조직의 GitHub Actions 캐시 스토리지 관리

조직 관리자는 조직 내 모든 리포지토리의 GitHub Actions 캐시 스토리지를 볼 수 있습니다.

리포지토리별 GitHub Actions 캐시 스토리지 보기

조직의 각 리포지토리별로, 리포지토리에서 사용하는 캐시 스토리지 양, 활성 캐시 수 및 리포지토리가 총 캐시 크기 제한에 근접했는지 여부를 확인할 수 있습니다. 캐시 사용량 및 제거 프로세스에 대한 자세한 내용은 워크플로 속도를 높이기 위한 종속성 캐싱을(를) 참조하세요.

  1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 클릭하고 프로필을 클릭합니다.

    @octocat 프로필 사진의 드롭다운 메뉴 스크린샷. "프로필"이 진한 주황색으로 표시됩니다.

  2. GitHub의 오른쪽 위 모서리에서 프로필 사진을 선택하고 조직을 클릭합니다.

  3. 조직 옆에 있는 설정을 클릭합니다.

  4. 왼쪽 사이드바에서 작업을 클릭한 다음 캐시를 클릭합니다.

  5. 해당 GitHub Actions 캐시에 대한 정보는 리포지토리 목록을 검토하세요. 리포지토리 이름을 클릭하여 리포지토리의 캐시에 대한 자세한 정보를 볼 수 있습니다.