Skip to main content

OAuth 앱 권한 부여

OAuth를 사용하여 GitHub ID를 타사 애플리케이션에 연결할 수 있습니다. OAuth app에 권한을 부여하는 경우 애플리케이션을 신뢰하는지 확인하고 애플리케이션 개발자와 애플리케이션에서 액세스하려는 정보 종류를 검토해야 합니다.

OAuth app이(가) GitHub.com의 계정으로 사용자를 식별하려는 경우 앱의 개발자 연락처 정보와 요청되는 특정 데이터 목록이 포함된 페이지가 표시됩니다.

팁: 먼저 사용자 메일 주소를 확인해야 OAuth app에 권한을 부여할 수 있습니다.

OAuth app 액세스

OAuth apps은 GitHub 데이터에 대한 ‘읽기’ 또는 ‘쓰기’ 권한을 가질 수 있습니다.____

  • 읽기 권한은 앱이 데이터를 ‘보는’ 것만 허용합니다.__
  • 쓰기 권한은 앱이 데이터를 ‘변경’할 수 있도록 합니다.__

팁: 권한 있는 통합을 정기적으로 검토하는 것이 좋습니다. 한동안 사용되지 않은 애플리케이션과 토큰을 제거합니다. 자세한 내용은 "권한 있는 OAuth 앱 검토"을 참조하세요.

OAuth 범위 정보

‘범위’는 OAuth app이 퍼블릭 데이터와 비퍼블릭 데이터에 둘 다 액세스하기 위해 요청할 수 있는 명명된 권한 그룹입니다.__

GitHub와 통합되는 OAuth app을 사용하려는 경우 해당 앱이 어떤 유형의 데이터 액세스 권한이 필요한지 알려줍니다. 앱에 액세스 권한을 부여하면 앱은 데이터를 읽거나 수정하는 등의 작업을 사용자 대신 수행할 수 있습니다. 예를 들어 user:email 범위를 요청하는 앱을 사용하려는 경우 앱은 개인 메일 주소에 대한 읽기 전용 액세스 권한을 갖습니다. 자세한 내용은 "OAuth 앱에 대한 범위"을(를) 참조하세요.

참고: 현재 소스 코드 액세스 범위를 읽기 전용으로 지정할 수는 없습니다.

사용자/애플리케이션/범위 조합별로 발급되는 토큰은 10개로 제한되며, 시간당 만들어지는 트래픽률 제한은 10개입니다. 애플리케이션이 동일한 사용자 및 동일한 범위에 대해 10개 이상의 토큰을 만드는 경우 동일한 사용자/애플리케이션/범위 조합에서 가장 오래된 토큰이 철회됩니다. 그러나 시간당 트래픽률 제한에 도달하면 가장 오래된 토큰이 철회되지 않습니다. 대신 브라우저 내에서 다시 권한 부여 프롬프트를 트리거하여 사용자에게 앱에 부여하는 권한을 재확인하도록 요청합니다. 앱이 1시간 이내에 사용자로부터 10개의 토큰을 요청할 이유가 거의 없거나 전혀 없는 만큼, 이 프롬프트는 앱 작동 중단의 원인이 되는 잠재적인 무한 루프를 방지하기 위한 것입니다.

요청된 데이터 형식

OAuth apps에서 여러 형식의 데이터를 요청할 수 있습니다.

데이터 형식설명
커밋 상태앱이 커밋 상태를 보고하도록 액세스 권한을 부여할 수 있습니다. 커밋 상태 액세스를 통해 앱은 특정 커밋을 기준으로 빌드가 성공했는지 확인할 수 있습니다. 앱이 코드에 액세스할 수는 없지만 특정 커밋의 상태 정보를 읽고 쓸 수 있습니다.
배포배포 상태 액세스를 통해 앱은 퍼블릭 및 프라이빗 리포지토리에 대한 특정 커밋을 기준으로 배포가 성공했는지 확인할 수 있습니다. 앱이 코드에 액세스할 수는 없습니다.
GistsGist 액세스를 통해 앱은 퍼블릭 및 비밀 Gist에 모두 읽거나 쓸 수 있습니다.
후크웹후크 액세스를 통해 앱은 사용자가 관리하는 리포지토리의 후크 구성을 읽거나 쓸 수 있습니다.
알림알림 액세스를 통해 앱은 이슈 및 끌어오기 요청의 주석과 같은 GitHub 알림을 읽을 수 있습니다. 그러나 앱이 리포지토리의 항목에 액세스할 수는 없습니다.
조직 및 팀조직 및 팀 액세스를 통해 앱은 조직 및 팀 멤버 자격에 액세스하고 관리할 수 있습니다.
개인 사용자 데이터사용자 데이터에는 사용자 프로필에 있는 정보(예: 이름, 메일 주소, 위치)가 포함됩니다.
리포지토리리포지토리 정보에는 기여자의 이름, 만든 분기 및 리포지토리 내의 실제 파일이 포함됩니다. 앱은 사용자 수준의 퍼블릭 또는 프라이빗 리포지토리에 대한 액세스를 요청할 수 있습니다.
리포지토리 삭제앱은 사용자가 관리하는 리포지토리를 삭제하도록 요청할 수 있지만 코드에 액세스할 수는 없습니다.
프로젝트사용자 및 조직 프로젝트에 대한 액세스 앱은 읽기/쓰기 또는 읽기 전용 액세스를 요청할 수 있습니다.

업데이트된 권한 요청

OAuth apps은 새 액세스 권한을 요청할 때 현재 권한과 새 권한 간의 차이점을 알려줍니다.

OAuth apps 및 조직

OAuth app에 개인 계정에 대한 권한을 부여하면 멤버로 속해 있는 각 조직에 권한 부여가 미치는 영향도 확인할 수 있습니다.

  • OAuth app 액세스 제한이 ‘있는’ 조직의 경우_ _조직 소유자가 해당 조직에서 사용할 애플리케이션을 승인하도록 요청할 수 있습니다. 조직이 승인하지 않은 애플리케이션은 조직의 퍼블릭 리소스에만 액세스할 수 있습니다. 조직 소유자인 경우 직접 애플리케이션을 승인할 수 있습니다.

  • OAuth app 액세스 제한이 ‘없는’ 조직의 경우 해당 조직의 리소스에 대한 액세스 권한이 애플리케이션에 자동으로 부여됩니다.__ 이런 이유로, 개인 계정 리소스 및 조직 리소스에 대한 액세스를 승인할 OAuth apps을 결정할 때는 주의해야 합니다.

SAML Single Sign-On(SSO)를 사용하는 조직에 속해 있고 과거에 SAML을 통해 인증하여 해당 조직에 대해 연결된 ID를 만든 경우 OAuth app에 권한을 부여할 때마다 각 조직에 대한 활성 SAML 세션이 있어야 합니다.

참고: SAML로 보호되는 조직에 액세스하는 권한이 부여된 OAuth app 또는 GitHub App에 문제가 발생하는 경우 권한이 부여된 GitHub Apps 또는 권한이 부여된 OAuth apps 페이지에서 앱을 해지하고, 조직을 방문하여 활성 SAML 세션을 인증하고 설정한 다음, 앱에 액세스하여 다시 인증해야 할 수도 있습니다.

추가 참고 자료