# 사전 빌드에서 다른 리포지토리에 액세스할 수 있도록 허용

사전 빌드가 성공적으로 빌드될 수 있도록 다른 GitHub 리포지토리에 액세스하도록 허용할 수 있습니다.

기본적으로 GitHub Actions 사전 빌드 구성에 대한 워크플로는 자체 리포지토리 콘텐츠에만 액세스할 수 있습니다. 프로젝트는 다른 곳에 있는 추가 리소스를 사용하여 개발 환경을 빌드할 수 있습니다.

## 사전 빌드에서 외부 리소스 읽기 권한을 허용

사전 빌드 구성에서 사용하는 파일의 사용 권한을 지정하여 동일한 리포지토리 소유자를 사용하여 다른 GitHub 리포지토리에 `devcontainer.json` 대한 읽기 액세스를 구성할 수 있습니다. 자세한 내용은 [Codespace 내의 다른 리포지토리에 대한 액세스 관리](/ko/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)을(를) 참조하세요.

> \[!NOTE]
>
> * 이러한 방식으로 읽기 권한만 부여할 수 있으며 대상 리포지토리의 소유자는 사전 빌드를 만드는 리포지토리의 소유자와 동일해야 합니다. 예를 들어 `octo-org/octocatrepository`에 대한 사전 빌드 구성을 만드는 경우 이 사전 빌드 구성이 `octo-org/octodemo` 파일에 지정되어 있고 사용자에게 사용 권한이 있는 경우 `devcontainer.json` 같은 다른 리포지토리에 대한 읽기 권한을 부여할 수 있습니다.
> * 와일드카드를 사용하여 리포지토리를 지정할 수 없습니다. 액세스 권한을 부여하려는 각 리포지토리에 대한 권한을 정의해야 합니다.

리포지토리 소유자가 동일한 다른 리포지토리에 대한 읽기 권한을 설정하는 `devcontainer.json` 파일에 대한 사전 빌드 구성을 만들거나 편집할 때 **만들기** 또는 **업데이트**를 클릭하면 이러한 권한을 부여하라는 메시지가 표시됩니다. 자세한 내용은 [사전 빌드 구성](/ko/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds)을(를) 참조하세요.

## 사전 빌드에서 외부 리소스 쓰기 권한을 허용

프로젝트에 리소스에 대한 쓰기 권한이 필요하거나 외부 리소스가 사전 빌드 구성을 만드는 리포지토리와 다른 소유자가 있는 리포지토리에 있는 경우 a를 personal access token 사용하여 이 액세스 권한을 부여할 수 있습니다.

새 개인 계정을 만든 후 이 계정을 사용해 적절한 범위가 포함된 personal access token (classic)를 생성해야 합니다.

1. 에서 새 개인 계정을 만듭니다 GitHub.

   > \[!WARNING]
   > 기존 개인 계정을 사용하여 생성 personal access token (classic) 할 수 있지만 시나리오에 필요한 대상 리포지토리에만 액세스할 수 있는 새 계정을 만드는 것이 좋습니다. 액세스 토큰의 `repository` 권한이 계정에 액세스할 수 있는 모든 리포지토리에 대한 액세스 권한을 부여하기 때문입니다. 자세한 내용은 [GitHub 계정 만들기](/ko/account-and-profile/how-tos/account-management/creating-an-account-on-github) 및 [안전 사용 참조](/ko/actions/reference/security/secure-use)을(를) 참조하세요.

2. 새 계정에 필요한 리포지토리에 대한 읽기 권한을 부여합니다. 자세한 내용은 [조직 리포지토리에 대한 개인 액세스 권한 관리](/ko/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-an-individuals-access-to-an-organization-repository)을(를) 참조하세요.

3. 새 계정에 로그인한 상태에서 personal access token (classic) 범위를 가진 `repo`를 생성하십시오. 선택적으로, 사전 빌드에서 GitHubContainer registry에서 패키지를 다운로드해야 하는 경우 `read:packages` 범위도 선택하세요. 자세한 내용은 [개인용 액세스 토큰 관리](/ko/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)을(를) 참조하세요.

   !["repo" 및 "read:packages" 범위가 선택된 personal access token (classic)의 "범위 선택" 구성 옵션 스크린샷.](/assets/images/help/codespaces/prebuilds-select-scopes.png)

   사전 빌드에서 GitHubContainer registry패키지를 사용하는 경우 패키지에 대한 새 계정 액세스 권한을 부여하거나 사전 빌드 중인 리포지토리의 액세스 권한을 상속하도록 패키지를 구성해야 합니다. 자세한 내용은 [패키지의 액세스 제어 및 표시 여부 구성](/ko/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)을(를) 참조하세요.

4. 토큰 문자열을 복사합니다. 이를 Codespaces 리포지토리 비밀에 할당합니다.

5. 리포지토리에 대한 관리자 액세스 권한이 있는 계정에 다시 로그인합니다.

6. 사전 빌드를 만들려는 GitHub Codespaces 리포지토리에서 Codespaces라는 이름의 새 `CODESPACES_PREBUILD_TOKEN` 리포지토리 시크릿을 만들고, 생성하여 복사한 토큰 값을 설정합니다. 자세한 내용은 [리포지토리 또는 조직에 대한 개발 환경 비밀 관리](/ko/codespaces/managing-codespaces-for-your-organization/managing-development-environment-secrets-for-your-repository-or-organization#adding-secrets-for-a-repository)을(를) 참조하세요.

personal access token는 리포지토리에서 이후 생성되는 모든 사전 빌드에 사용됩니다. 다른 Codespaces 리포지토리 비밀과 달리 비밀 `CODESPACES_PREBUILD_TOKEN` 은 사전 빌드에만 사용되며 리포지토리에서 만든 코드스페이스에서 사용할 수 없습니다.

## 추가 참고 자료

* [사전 빌드 구성](/ko/codespaces/prebuilding-your-codespaces/configuring-prebuilds)
* [사전 빌드 문제 해결](/ko/codespaces/troubleshooting/troubleshooting-prebuilds)