{"meta":{"title":"Codespace 내의 다른 리포지토리에 대한 액세스 관리","intro":"GitHub Codespaces에서 액세스할 수 있는 리포지토리를 관리할 수 있습니다.","product":"Codespaces","breadcrumbs":[{"href":"/ko/codespaces","title":"Codespaces"},{"href":"/ko/codespaces/managing-your-codespaces","title":"귀하의 codespaces 관리"},{"href":"/ko/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces","title":"리포지토리 액세스"}],"documentType":"article"},"body":"# Codespace 내의 다른 리포지토리에 대한 액세스 관리\n\nGitHub Codespaces에서 액세스할 수 있는 리포지토리를 관리할 수 있습니다.\n\n## 개요\n\n기본적으로 codespace에는 토큰이 생성된 리포지토리에 대한 `read` 권한 또는 `read` 및 `write` 권한이 지정되는 토큰이 할당됩니다. 이 토큰의 범위는 다음과 같은 상황에서 자동으로 변경됩니다.\n\n* 읽기 권한만 있는 리포지토리에 대한 codespace를 만든 다음, codespace에서 커밋을 수행하거나 새 분기를 푸시하는 경우 GitHub Codespaces은(는) 자동으로 codespace를 리포지토리의 새 포크 또는 기존 포크에 연결하고 해당 포크에 대한 `read` 및 `write` 권한을 토큰에 업데이트합니다. 자세한 내용은 [codespace에서 원본 제어 사용](/ko/codespaces/developing-in-a-codespace/using-source-control-in-your-codespace#about-automatic-forking)을(를) 참조하세요.\n* 템플릿에서 codespace를 만든 다음 새 리포지토리에 codespace를 게시하는 경우 GitHub Codespaces은(는) 토큰을 업데이트하여 새 리포지토리에 대한 `read` 및 `write` 사용 권한을 부여합니다. 자세한 내용은 [템플릿에서 codespace 만들기](/ko/codespaces/developing-in-a-codespace/creating-a-codespace-from-a-template#publishing-to-a-repository-on-github)을(를) 참조하세요.\n\n자세한 내용은 [GitHub Codespaces의 보안](/ko/codespaces/reference/security-in-github-codespaces#authentication)을(를) 참조하세요.\n\n프로젝트에 다른 리포지토리에 대한 추가 권한이 필요한 경우 이 문서의 뒷부분에 있는 `devcontainer.json`에 설명된 대로 [](#setting-additional-repository-permissions) 파일에서 이를 구성할 수 있습니다.\n`devcontainer.json` 파일에 권한이 나열되면 해당 리포지토리에 대한 codespace 생성 과정의 일환으로 추가 권한을 검토하고 권한을 부여하라는 메시지가 표시됩니다. 나열된 권한에 권한을 부여하면 GitHub Codespaces는 사용자의 선택을 기억하며, `devcontainer.json` 파일의 권한이 변경되지 않는 한 권한 부여를 묻는 메시지를 표시하지 않습니다.\n\n> \\[!NOTE]\n\n```\n          `devcontainer.json` 파일의 사용 권한을 업데이트해도 기존 codespace의 사용 권한은 변경되지 않습니다. 기존 codespace에 추가 권한이 필요한 경우 [AUTOTITLE](/codespaces/troubleshooting/troubleshooting-authentication-to-a-repository#authenticating-to-repositories-that-you-didnt-create-the-codespace-from)을(를) 참조하세요.\n```\n\n## 사용자 지정 권한이 있는 codespace 만들기\n\n사용자 지정 권한이 정의된 codespace를 만들려면 다음 중 하나를 사용해야 합니다.\n\n* GitHub 웹 UI\n* [GitHub CLI](https://github.com/cli/cli/releases/latest) 2.5.2 이상\n* [GitHub Codespaces Visual Studio Code 확장 프로그램](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces) 1.5.3 이상\n\n## 추가 리포지토리 권한 설정\n\n```\n          `devcontainer.json` 파일에서 GitHub Codespaces에 대한 리포지토리 권한을 구성합니다. 추가하거나 변경하는 모든 사용자 지정 권한은 변경 내용이 리포지토리에 커밋된 후에 만든 새 codespace에만 적용됩니다. Codespace 내에서 사용 권한을 추가하거나 변경하는 경우 codespace를 다시 빌드하더라도 해당 권한이 현재 codespace에 적용되지 않습니다.\n```\n\n1. 리포지토리에 아직 `devcontainer.json` 파일이 없으면 지금 추가하세요. 자세한 내용은 [리포지토리에 개발 컨테이너 구성 추가](/ko/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration)을(를) 참조하세요.\n\n2. ```\n          `devcontainer.json` 파일을 편집하고 `repositories` 개체에 필요한 리포지토리 이름 및 권한을 추가합니다.\n   ```\n\n   ```json copy\n   {\n     \"customizations\": {\n       \"codespaces\": {\n         \"repositories\": {\n           \"my_org/my_repo\": {\n             \"permissions\": {\n               \"issues\": \"write\"\n             }\n           }\n         }\n       }\n     }\n   }\n   ```\n\n   > \\[!NOTE]\n   >\n   > * 현재 작업 중인 리포지토리와 동일한 개인 계정 또는 조직에 속한 리포지토리만 참조할 수 있습니다.\n   > *\n\n   ```\n          `*` 와일드카드를 사용하여 조직의 여러 리포지토리에 권한을 부여할 수 있습니다. 예를 들어 `my_org` 조직의 모든 리포지토리에 권한을 부여하려면 `my_org/*`을(를) 사용하세요. 이 구문은 코드스페이스에만 유효합니다. 사전 빌드에 사용되는 모든 `devcontainer.json` 파일에서 각 리포지토리에 대한 권한을 별도로 정의해야 합니다. 자세한 내용은 [AUTOTITLE](/codespaces/prebuilding-your-codespaces/allowing-a-prebuild-to-access-other-repositories)을(를) 참조하세요.\n   ```\n\n   나열된 각 리포지토리에 대해 다음 권한을 원하는 만큼 부여할 수 있습니다.\n\n   * `actions` - 읽기/쓰기\n   * `checks` - 읽기/쓰기\n   * `contents` - 읽기/쓰기\n   * `deployments` - 읽기/쓰기\n   * `discussions` - 읽기/쓰기\n   * `issues` - 읽기/쓰기\n   * `packages` - 읽기\n   * `pages` - 읽기/쓰기\n   * `pull_requests` - 읽기/쓰기\n   * `repository_projects` - 읽기/쓰기\n   * `statuses` - 읽기/쓰기\n   * `workflows` - 쓰기\n\n   조직의 리포지토리에 대한 권한을 설정하려면 `repositories` 개체에 해당 리포지토리 이름을 명시적으로 추가해야 합니다.\n\n   ```json\n   {\n     \"customizations\": {\n       \"codespaces\": {\n         \"repositories\": {\n           \"my_org/my_repo\": {\n             \"permissions\": {\n               \"issues\": \"write\"\n             }\n           }\n         }\n       }\n     }\n   }\n   ```\n\n   지정된 리포지토리에 대한 모든 권한을 설정하려면 리포지토리 개체에서 `\"permissions\": \"read-all\"` 또는 `\"permissions\": \"write-all\"`을(를) 사용합니다.\n\n   ```json\n   {\n     \"customizations\": {\n       \"codespaces\": {\n         \"repositories\": {\n           \"my_org/my_repo\": {\n             \"permissions\": \"write-all\"\n           }\n         }\n       }\n     }\n   }\n   ```\n\n## 요청된 권한에 권한 부여\n\n```\n          `devcontainer.json` 파일에 추가 리포지토리 권한이 정의되면, 이 리포지토리에 대한 codespace 또는 사전 빌드 구성을 만들 때 권한을 검토하고 필요하다면 권한에 권한을 부여하라는 메시지가 표시됩니다. 리포지토리에 대한 권한에 권한을 부여하면 GitHub Codespaces는 리포지토리에 요청된 권한 집합이 변경되기 전에는 메시지를 다시 표시하지 않습니다.\n```\n\n![권한 요청 페이지의 스크린샷 요청에 따라 메타데이터에 대한 읽기 권한과 문제에 대한 쓰기 권한이라는 두 가지 권한이 표시됩니다.](/assets/images/help/codespaces/codespaces-accept-permissions.png)\n\n알고 있으며 신뢰하는 리포지토리에 대한 권한에만 권한을 부여해야 합니다. 요청된 권한 집합을 신뢰하지 않는 경우 **권한을 부여하지 않고 계속 진행**을 클릭하여 기본 권한 집합으로 codespace를 만듭니다. 추가 권한을 거부하면 codespace가 자신이 생성된 리포지토리에만 액세스할 수 있으므로 codespace에서의 프로젝트 기능이 영향받을 수 있습니다.\n\n개인 계정이 이미 소유 중인 권한에만 권한을 부여할 수 있습니다. Codespace가 사용자가 현재 액세스할 수 없는 리포지토리에 대한 권한을 요청하는 경우에는 리포지토리의 소유자 또는 관리자에게 문의하여 충분한 액세스 권한을 얻은 다음 codespace를 다시 만들어야 합니다.\n\n## 추가 참고 자료\n\n* [사용자 기본 설정 지정](/ko/codespaces/setting-your-user-preferences)\n* [codespace 맞춤 구성](/ko/codespaces/customizing-your-codespace)"}