{"meta":{"title":"GitHub Enterprise Server에서 GitHub 앱을 사용할 수 있도록 설정","intro":"GitHub Enterprise Server 인스턴스가 사용자의 GitHub App을 사용하려면 몇 가지 추가 단계를 수행해야 합니다.","product":"앱","breadcrumbs":[{"href":"/ko/apps","title":"앱"},{"href":"/ko/apps/sharing-github-apps","title":"GitHub Apps을 공유하기"},{"href":"/ko/apps/sharing-github-apps/making-your-github-app-available-for-github-enterprise-server","title":"GHES와 공유"}],"documentType":"article"},"body":"# GitHub Enterprise Server에서 GitHub 앱을 사용할 수 있도록 설정\n\nGitHub Enterprise Server 인스턴스가 사용자의 GitHub App을 사용하려면 몇 가지 추가 단계를 수행해야 합니다.\n\n## GitHub Apps용 GitHub Enterprise Server 개발 정보\n\nGitHub App을(를) 귀하가 속해 있지 않은 GitHub Enterprise Server 인스턴스의 조직에서 사용할 수 있도록 하려면 다음 단계를 수행해야 합니다.\n\nGitHub Enterprise Server 액세스가 중요하다면, 대신 GitHub Actions용 사용자 지정 작업이 요구 사항에 적합한지 고려하세요.\nGitHub Enterprise Server이(가) 있는 GitHub Connect 인스턴스에서 공개 작업을 사용할 수 있습니다. 자세한 내용은 설명서의 [GitHub Connect를 사용하여 GitHub.com 작업에 대한 자동 액세스 사용](/ko/enterprise-server@3.22/admin/managing-github-actions-for-your-enterprise/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect)입니다GitHub Enterprise Server.\n\n## 각 GitHub Enterprise Server 인스턴스는 자체 인스턴스를 등록해야 합니다. GitHub App\n\nGitHub Enterprise Server 인스턴스가 소유한 조직은 GitHub Apps 또는 다른 GitHub.com 인스턴스에 등록된 GitHub Enterprise Server를 설치할 수 없습니다. 대신 해당 인스턴스에서 사용하기 위해 자체 GitHub App 등록하고 설치해야 합니다.\n\n1. 앱 개발자는 매니페스트 또는 URL 매개 변수를 만듭니다. 자세한 내용은 [매니페스트에서 GitHub 앱 등록](/ko/apps/sharing-github-apps/registering-a-github-app-from-a-manifest) 및 [URL 매개 변수를 사용하여 GitHub 앱 등록](/ko/apps/sharing-github-apps/registering-a-github-app-using-url-parameters)을(를) 참조하세요.\n2. 앱 개발자는 앱을 사용하려는 관리자와 GitHub Enterprise Server 매니페스트 또는 URL 매개 변수를 공유합니다. 동일한 매니페스트 또는 URL 매개 변수를 여러 GitHub Enterprise Server 인스턴스와 공유할 수 있습니다.\n3. 인스턴스의 조직 소유자는 매니페스트 또는 URL 매개변수를 사용하여 GitHub App를 등록합니다.\n4. 조직은 등록한 GitHub App를 설치합니다.\n\n   선택적으로, 조직이 GitHub App을 공개한 경우 인스턴스 내의 다른 조직도 GitHub App을 설치할 수 있습니다.\n   GitHub App를 전체 인스턴스에 설치하는 방법은 없으며, 인스턴스 내 조직에만 설치할 수 있습니다.\n\n## 앱 코드는 인스턴스의 자격 증명에 GitHub App 액세스할 수 있어야 합니다.\n\n앱의 코드에는 GitHub App 인스턴스가 등록한 GitHub Enterprise Server의 자격 증명이 필요합니다. 인스턴스의 호스트 이름도 필요합니다. 인스턴스에서 자격 증명 및 호스트 이름을 가져오거나 고객 호스트가 있고 GitHub Enterprise Server 자체 호스팅 가능한 버전의 앱을 관리하는 두 가지 옵션이 있습니다.\n\n### 인스턴스에서 GitHub Enterprise Server 자격 증명 가져오기\n\n인스턴스는 앱 개발자와 자격 GitHub App 증명 및 호스트 이름을 공유할 수 있습니다. 사이트 관리자는 앱 개발자를 신뢰하는 경우에만 이 작업을 수행해야 합니다. 그런 다음 앱 코드는 수행하는 작업에 따라 적절한 자격 증명을 사용할 수 있습니다. 앱 개발자는 적절한 자격 증명 집합을 사용하고 데이터가 유출되지 않도록 예방 조치를 취해야 합니다.\n\n장점:\n\n* 앱 개발자는 앱이 실행되는 인프라를 제어합니다.\n* 앱 개발자는 앱 업데이트를 더 효과적으로 제어할 수 있습니다.\n* 앱 개발자는 앱 성능에 대해 더 많은 인사이트를 가질 수 있습니다.\n\n단점:\n\n* 앱 개발자는 인스턴스에서 데이터가 유출되는 것을 방지하기 위해 예방 조치를 취해야 합니다.\n* 사이트 관리자는 애플리케이션이 인스턴스에 도달하기 위해 방화벽 예외를 열어야 할 수도 있지만, 그렇게 하기를 주저할 수도 있습니다.\n\n### 고객이 GitHub Enterprise Server 앱의 자체 호스팅 버전을 호스팅하고 관리하도록 합니다.\n\n앱 개발자는 자체 호스팅 가능한 버전의 앱을 제공할 수 있습니다. 그런 다음, 사이트 관리자는 앱 개발자의 설치 및 설치 지침에 따라 앱을 호스트할 수 있습니다.\n\n자체 호스팅 가능 버전의 앱을 만들고 공유하는 방법은 앱 개발자에게 달려 있으며 앱에서 사용하는 기술에 따라 다릅니다.\n\n장점:\n\n* 인스턴스가 앱 자격 증명을 공유하지 않으므로 더 안전하게 유지됩니다.\n* 앱 개발자는 인스턴스의 데이터 유출에 대해 걱정할 필요가 없습니다.\n\n단점:\n\n* 앱 개발자는 사이트 관리자를 사용하여 앱에 대한 인프라를 제공하고 올바르게 설정합니다.\n* 앱 코드에 대한 업데이트를 릴리스하는 것이 더 복잡할 수 있습니다.\n* 앱 개발자가 앱 성능에 대한 가시성을 잃을 수 있습니다.\n\n## 앱 코드는 올바른 URL을 사용해야 합니다.\n\nGitHub Enterprise Server은 GitHub Free, GitHub Pro, GitHub Team, GitHub Enterprise Cloud와 다른 URL을 사용합니다. 인스턴스에서 작동하는지 GitHub Enterprise Server 여부에 따라 적절한 URL을 사용하도록 앱 코드를 업데이트해야 합니다.\n`HOSTNAME` 인스턴스의 호스트 이름으로 GitHub Enterprise Server을 바꾸십시오.\n\n| GitHub Free<br>GitHub Pro<br>GitHub Team<br>GitHub Enterprise Cloud | GitHub Enterprise Server                    |\n| ------------------------------------------------------------------- | ------------------------------------------- |\n| `https://api.github.com`                                            | `https://HOSTNAME/api/v3`                   |\n| `https://api.github.com/graphql`                                    | `https://HOSTNAME/api/v3/graphql`           |\n| `https://github.com/login/oauth/authorize`                          | `https://HOSTNAME/login/oauth/authorize`    |\n| `https://github.com/login/oauth/access_token`                       | `https://HOSTNAME/login/oauth/access_token` |\n\n## 앱 코드는 기능 차이점을 인식해야 합니다.\n\n새 REST API 엔드포인트, GraphQL 객체 및 웹후크는 GitHub Enterprise Server, GitHub Free, GitHub Pro, GitHub Team보다 나중에 GitHub Enterprise Cloud에 제공됩니다. 또한 여러 버전의 GitHub Enterprise Server버전이 있으며 이전 버전에는 다른 REST API 엔드포인트, GraphQL 개체 및 웹후크가 있을 수 있습니다.\n\n따라서 앱 코드는 이러한 차이점을 인식해야 합니다. API 응답 및 웹훅 페이로드에는 다루고 있는 버전을 확인하는 데 도움이 되도록 `x-github-enterprise-version` 페이로드용 GitHub Enterprise Server 헤더가 포함됩니다.\n\n## 각 GitHub Enterprise Server 인스턴스는 속도 제한을 구성할 수 있습니다.\n\n각 GitHub Enterprise Server 인스턴스는 자체 속도 제한을 구성할 수 있습니다. 앱이 속도 제한에 도달하고 있으며 이미 속도 제한을 유지하기 위해 예방 조치를 취하고 있는 경우 인스턴스 관리자 GitHub Enterprise Server 에게 문의해야 합니다."}