GitHub Apps 권한 부여 정보
사용자, 조직 또는 GitHub Marketplace이(가) 소유하지 않은 애플리케이션은 사용자를 대신하여 GitHub ID를 확인하거나 GitHub과(와) 상호 작용해야 할 수 있습니다. 이러한 애플리케이션은 이러한 작업을 수행하기 위해 GitHub App에 대한 권한 부여를 요청할 수 있습니다. 애플리케이션에서 권한 부여를 요청하면 GitHub 페이지로 리디렉션되어 앱에 권한을 부여할지 묻는 메시지가 표시됩니다.
GitHub App에 권한을 부여하는 경우 애플리케이션을 신뢰하는지 확인하고 애플리케이션에서 액세스하려는 정보를 검토해야 합니다. 권한 부여 중에 GitHub App에 다음을 모두 수행할 수 있는 권한을 부여하라는 프롬프트가 표시됩니다.
- GitHub ID 확인: 권한이 부여되면 GitHub App에서 공개 GitHub 프로필을 검색할 수 있습니다. 앱은 일부 개인 계정 정보를 검색할 수도 있습니다. 권한 부여 프로세스 중에 GitHub은(는) GitHub App에서 액세스할 수 있는 계정 정보를 알려줍니다.
- 액세스할 수 있는 리소스 파악: 권한이 부여되면 GitHub App은(는) 앱이 액세스할 수 있는 리소스 중 사용자가 액세스할 수 있는 리소스를 결정할 수 있습니다. 예를 들어 앱은 이 권한을 사용하여 적절한 리포지토리 목록을 표시할 수 있습니다.
- 사용자 대신 작업: 권한이 부여되면 애플리케이션은 사용자 대신 GitHub에 대한 작업을 수행할 수 있습니다. 여기에는 이슈 만들기 또는 끌어오기 요청에 주석 달기가 포함될 수 있습니다. 자세한 내용은 "사용자 대신 작업하는 GitHub Apps 정보" 항목을 참조하세요.
언제든지 권한 부여를 검토하고 철회할 수 있습니다. 자세한 내용은 "GitHub 앱의 권한 부여 검토 및 취소" 항목을 참조하세요.
참고: 조직에서 SAML SSO를 사용하고 GitHub App에 권한을 부여한 후 조직의 리소스를 볼 수 없는 경우, 조직에 대한 활성 SAML 세션을 시작한 후 앱에 다시 권한을 부여해야 할 수 있습니다. 자세한 내용은 "SAML 및 GitHub 앱" 항목을 참조하세요.
사용자 대신 작업하는 GitHub Apps 정보
GitHub App에 권한을 부여하면 앱은 사용자 대신 작업할 수 있습니다. GitHub App이 사용자 대신 작업하는 상황은 GitHub App의 목적과 사용되는 컨텍스트에 따라 다양합니다. 예를 들어 IDE(통합 개발 환경)에서 사용자가 IDE를 통해 작성한 변경 내용을 GitHub의 리포지토리로 다시 푸시하기 위해 GitHub App을(를) 사용하여 사용자 대신 상호 작용할 수 있습니다.
GitHub App은(는) 사용자와 앱 모두에게 권한이 있는 작업만 수행할 수 있습니다. 예를 들어 사용자에게 리포지토리에 대한 쓰기 권한이 있지만 GitHub App에는 읽기 권한만 있는 경우, 앱은 사용자를 대신하여 작업할 때에도 리포지토리의 콘텐츠를 읽을 수만 있습니다. 마찬가지로 사용자에게 리포지토리 A
및 B
에 대한 액세스 권한이 있고 GitHub App에 리포지토리 B
및 C
에 대한 액세스 권한이 있는 경우, 앱은 사용자를 대신하여 작업할 때 리포지토리 B
에만 액세스할 수 있습니다. GitHub App에 부여된 권한에 대한 자세한 내용은 "권한 부여와 설치의 차이점"을 참조하세요.
앱이 사용자 대신 작업하면 앱과 연동하여 활동이 사용자에게 귀속됩니다. 예를 들어 앱이 사용자를 대신하여 댓글을 게시하는 경우 GitHub UI는 문제의 작성자로서 앱의 아이덴티콘 배지와 함께 사용자의 아바타 사진을 표시합니다.
마찬가지로 활동이 감사 로그 및 보안 로그에서 해당 항목을 트리거하는 경우 로그는 사용자를 행위자로 나열하지만 "programmatic_access_type"은 "GitHub 앱 사용자-서버 토큰"임을 명시합니다.
권한 부여와 설치의 차이점
계정 또는 조직에 GitHub App을(를) 설치하는 경우 앱이 요청한 조직 및 리포지토리 리소스에 액세스할 수 있는 권한을 부여합니다. 또한 앱이 액세스할 수 있는 리포지토리를 지정합니다. 설치 프로세스 중에 GitHub App은(는) 부여할 리포지토리 및 조직 권한을 나타냅니다. GitHub App에서 수행할 수 있는 다양한 권한에 대한 자세한 내용은 "GitHub 앱의 권한 선택"을 참조하세요.
예를 들어 GitHub App 권한을 부여하여 리포지토리 메타데이터를 읽고 문제를 작성할 수 있으며 모든 리포지토리에 대한 GitHub App 액세스 권한을 부여할 수 있습니다.
GitHub App에 권한을 부여하면 앱이 요청한 계정 권한에 따라 GitHub계정에 대한 앱 액세스 권한을 부여합니다. 권한 부여 프로세스 중에 앱은 앱이 계정에서 액세스할 수 있는 리소스를 나타냅니다. GitHub App에 권한을 부여하면 사용자 대신 작업할 수 있는 앱 권한도 부여합니다.
예를 들어 GitHub App 권한을 부여하여 이메일 주소를 읽고 gist를 작성할 수 있습니다.
앱에 권한을 부여하지 않고 GitHub App을(를) 설치할 수 있습니다. 마찬가지로, 앱을 설치하지 않고 앱에 권한을 부여할 수 있습니다.
설치에 대한 자세한 내용은 "타사에서 GitHub 앱 설치," "개인 계정을 위해 GitHub 마켓플레이스에서 GitHub 앱 설치" 및 "조직용 GitHub 마켓플레이스에서 GitHub 앱 설치" 항목을 참조하세요.