# GitHub 앱 권한 부여

GitHub App가 사용자의 GitHub 계정에 대한 정보를 가져오고 사용자를 대신하여 변경할 수 있도록 권한을 부여할 수 있습니다.

## 권한 부여에 대해 GitHub Apps

사용자, 사용자의 조직 또는 GitHub Marketplace에서 소유하지 않은 애플리케이션은 사용자의 GitHub 신원을 확인하거나 사용자를 대신하여 GitHub와 상호 작용해야 할 수 있습니다. 이러한 애플리케이션은 이러한 작업을 수행하기 위한 권한 부여를 GitHub App 요청할 수 있습니다. 애플리케이션이 권한 부여를 요청하는 경우 앱에 권한을 부여하라는 GitHub 메시지가 표시되는 페이지로 리디렉션됩니다.

GitHub App에 권한을 부여할 때는 애플리케이션 소유자를 신뢰할 수 있는지 확인하고 애플리케이션이 액세스하려는 정보를 검토해야 합니다. 권한 부여 중에 다음을 모두 수행할 수 있는 권한을 부여 GitHub App 하라는 메시지가 표시됩니다.

* GitHub ID 확인: 권한이 부여되면 GitHub App 공개 GitHub 프로필을 검색할 수 있습니다. 앱은 일부 개인 계정 정보를 검색할 수도 있습니다. 권한 부여 과정에서 GitHub이(가) GitHub App에서 액세스할 수 있는 계정 정보를 알려줍니다.
* 액세스할 수 있는 리소스 파악: 권한이 부여되면 GitHub App 앱에서 액세스할 수 있는 리소스도 확인할 수 있습니다. 예를 들어 앱은 이 권한을 사용하여 적절한 리포지토리 목록을 표시할 수 있습니다.
* 사용자 대신 행동: 권한이 부여되면 애플리케이션이 사용자 대신 작업을 GitHub 수행할 수 있습니다. 여기에는 이슈 만들기 또는 끌어오기 요청에 주석 달기가 포함될 수 있습니다. 자세한 내용은 [사용자 대신 행동하는 방법에 대해 GitHub Apps 참조하세요](#about-github-apps-acting-on-your-behalf).

언제든지 권한 부여를 검토하고 철회할 수 있습니다. 자세한 내용은 [GitHub 앱의 권한 부여 검토 및 해지](/ko/enterprise-server@3.22/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps)을(를) 참조하세요.

## GitHub Apps의 사용자 대신 작업에 대하여

권한을 부여 GitHub App하면 앱이 사용자 대신 작동할 수 있습니다. 사용자 대신 동작하는 GitHub App 상황은 사용 중인 컨텍스트 및 목적 GitHub App 에 따라 달라집니다. 예를 들어, 통합 개발 환경(IDE)은 사용자를 대신하여 상호 작용하는 데 GitHub App를 사용하여, IDE를 통해 작성한 변경 내용을 GitHub의 리포지토리에 다시 푸시할 수 있습니다.

GitHub App는 귀하와 앱 모두에 권한이 있는 작업만 수행할 수 있습니다. 예를 들어 리포지토리에 대한 쓰기 권한이 있지만 GitHub App 읽기 권한만 있는 경우 앱은 사용자를 대신하여 동작하는 경우에도 리포지토리의 콘텐츠만 읽을 수 있습니다. 마찬가지로, 사용자에게 리포지토리 `A` 및 `B`에 대한 액세스 권한이 있고, GitHub App에 리포지토리 `B` 및 `C`에 대한 액세스 권한이 있는 경우, 앱은 사용자를 대신하여 작업할 때 리포지토리 `B`에만 액세스할 수 있습니다. 부여된 GitHub App사용 권한에 대한 자세한 내용은 [권한 부여와 설치 간의 차이를](#difference-between-authorization-and-installation) 참조하세요.

앱이 사용자 대신 작업하면 앱과 연동하여 활동이 사용자에게 귀속됩니다. 예를 들어 앱이 사용자를 대신하여 GitHub 댓글을 게시하는 경우 UI는 앱의 identicon 배지와 함께 프로필 사진을 문제의 작성자로 표시합니다.

![오버레이된 앱 아이덴티콘 배지가 있는 사용자 아바타가 있는 댓글의 스크린샷. 아바타는 주황색 윤곽선으로 강조 표시됩니다.](/assets/images/help/apps/github-app-acting-on-your-behalf.png)

마찬가지로, 활동이 감사 로그 및 보안 로그에서 해당 항목을 트리거하는 경우 로그는 사용자를 행위자로 나열하지만 "programmatic\_access\_type"는 "GitHub 앱 사용자-서버 토큰"임을 나타냅니다.

## 권한 부여와 설치의 차이점

계정 또는 조직에 **설치**GitHub App 할 때 앱에 요청한 조직 및 리포지토리 리소스에 액세스할 수 있는 권한을 부여합니다. 또한 앱이 액세스할 수 있는 리포지토리를 지정합니다. 설치 과정에서 GitHub App는 부여 중인 리포지토리 및 조직 권한을 나타냅니다. 수행할 수 있는 GitHub App 다양한 권한에 대한 자세한 내용은 [GitHub 앱에 대한 권한 선택](/ko/enterprise-server@3.22/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app)을 참조하세요.

예를 들어 리포지토리 메타데이터를 읽고 문제를 쓸 수 있는 권한을 부여 GitHub App 하고 모든 리포지토리에 대한 액세스 권한을 부여 GitHub App 할 수 있습니다.

![GitHub 앱을 설치하는 페이지의 스크린샷. 앱이 메타데이터에 대한 읽기 권한 및 문제에 대한 쓰기 권한을 요청하고 있습니다.](/assets/images/github-apps/install-app.png)

**권한을 부여**GitHub App하면 앱이 요청한 계정 권한에 따라 계정에 대한 앱 액세스 GitHub 권한을 부여합니다. 권한 부여 프로세스 중에 앱은 앱이 계정에서 액세스할 수 있는 리소스를 나타냅니다.
GitHub App에 권한을 부여하면 앱에도 사용자를 대신해 작업할 수 있는 권한을 부여하는 것입니다.

예를 들어, GitHub App에 이메일 주소를 읽고 Gist를 작성할 수 있는 권한을 부여할 수 있습니다.

![GitHub 앱 권한을 부여하는 페이지의 스크린샷. 앱이 이메일에 대한 읽기 권한 및 gist에 대한 쓰기 권한을 요청하고 있습니다.](/assets/images/github-apps/authorize-app.png)

앱에 GitHub App 권한을 부여하지 않고 설치할 수 있습니다. 마찬가지로, 앱을 설치하지 않고 앱에 권한을 부여할 수 있습니다.

설치에 대한 자세한 내용은 [타사로부터 GitHub 앱 설치하기](/ko/enterprise-server@3.22/apps/using-github-apps/installing-a-github-app-from-a-third-party), [고유한 GitHub 앱 설치](/ko/enterprise-server@3.22/apps/using-github-apps/installing-your-own-github-app).