OAuth Scopes

Developer Console에서 클라이언트 앱이 등록되면 앱의 OAuth 범위(scope)를 설정해야 한다. scope는 클라이언트 앱이 사용하는 리소스에 대한 권한 세트를 의미하며, 클라이언트 앱에서 설정한 scope에 따라 호출할 수 있는 API 목록이 결정된다. scope는 앱 사용 시 발급되는 액세스 토큰의 접근 권한에도 반영된다.

API를 호출하려면 하나 이상의 scope가 필요하며, 이는 각 API 문서에 기술되어 있다.

OAuth scope 형식 {#scope-format}

OAuth scope 명칭은 기본적으로 {리소스명}.오퍼레이션 형태로 제공된다. 리소스명은 하위 리소스가 있으면 형태에 따라 점(.)으로 구분하여 나열할 수 있다. 아래 표기에 의하면 group 리소스는 folder라는 리소스가 하위에 있는 계층 구조가 된다.

  • group(그룹 리소스)
  • group.folder(그룹 폴더 리소스)

하위 리소스는 상위 리소스의 권한을 이어받는다.

오퍼레이션은 해당하는 리소스를 사용할 수 있는 권한 범위를 나타낸다. 예를 들어, user 리소스는 다음과 같이 두 가지 오퍼레이션으로 나눌 수 있다.

  • user (읽기/쓰기)
  • user.read (읽기 전용)

user는 user 리소스에 대해 읽기 또는 읽기/쓰기를 할 수 있는 API를 실행할 수 있다. 반면, user.read는 user 리소스를 읽는 API는 실행할 수 있지만 새로운 user를 추가하거나 기존 user를 삭제하는 API는 실행할 수 없다. 이와 같이 클라이언트 앱이 리소스에 접근하는 권한의 범위를 설정할 수 있다.

참고

메시지 Bot을 통해 구성원에게 메시지를 전달하려면 user가 아닌 bot scope를 추가해야 한다.

Developer Console에서 각 클라이언트 앱에서 사용할 scope를 하나 이상 선택할 수 있다. 설정된 scope는 해당 클라이언트 앱을 통한 인증 시 로그인 화면에서 사용자들에게 표시되며, 사용하는 요금제에 따라 일부 scope는 표시되지 않을 수 있다.

메서드로 API의 scope를 유추할 수도 있다. 예를 들어, user와 관련된 scope는 메서드별로 다음과 같다.

  • user(읽기/쓰기): GET/POST/PUT/PATCH/DELETE Method
  • user.read(읽기 전용): GET Method

user는 user.read에 해당하는 모든 API가 이미 속해 있으므로 user와 user.read scope를 동시에 추가할 필요는 없다. 하지만 user만 사용할 경우 의도하지 않은 조작으로 사용자 정보가 변경될 수 있으니, 단순히 사용자 정보를 조회할 목적이라면 user.read만을 사용해야 한다.

참고

일부 API는 위에 표시한 메서드와 scope가 다를 수 있으니, 반드시 사용하려는 API 문서를 참고해 정확한 scope를 확인한다.

scope 목록 {#scope-list}

Developer Console에서 제공하는 scope과 이용 가능한 플랜은 다음과 같다. 각 scope에 따라 클라이언트 앱이 접근할 수 있는 범위를 확인할 수 있다.

네이버웍스 코어

ScopeResourceOperationFree planLite planStandard,Standard Plus plan
openid-OIDC (OpenID Connect) 인증을 하기 위해 필요한 Scope. ID Token을 발급받기 위해 필수로 선택해야한다.○○○
email-ID Token에 구성원의 email 정보가 포함된다.○○○
profile-ID Token에 구성원의 profile 정보가 포함된다.○○○
audit감사/로그Read/Write○
audit.read감사/로그Read○○
monitoring.read모니터링Read○○
board게시판Read/Write○○○
board.read게시판Read○○○
bot.message메시지 BotRead○○○
bot메시지 BotRead/Write○○○
bot.read메시지 BotRead○○○
calendar캘린더Read/Write○○○
calendar.read캘린더Read○○○
contact주소록Read/Write○○○
contact.read주소록Read○○○
file내 드라이브
공용 드라이브
조직/그룹 폴더
Read/Write○
file.read내 드라이브
공용 드라이브
조직/그룹 폴더
Read○
form설문Read/Write○○○
form.read설문Read○○○
group그룹Read/Write○○○
group.read그룹Read○○○
group.note조직/그룹 노트Read/Write○○○
group.note.read조직/그룹 노트Read○○○
group.folder조직/그룹 폴더Read/Write○○○
group.folder.read조직/그룹 폴더Read○○○
mail메일Read/Write○
mail.read메일Read○
orgunit조직Read/Write○○○
orgunit.read조직Read○○○
directory조직
구성원
직급
직책
고용형태
그룹
Read/Write○○○
directory.read조직
구성원
직급
직책
고용형태
그룹
Read○○○
security.external-browser외부 브라우저 사용Read/Write○○○
security.external-browser.read외부 브라우저 사용Read○○○
task할 일Read/Write○○○
task.read할 일Read○○○
user구성원Read/Write○○○
user.read구성원Read○○○
user.email.read구성원(email)Read○○○
user.profile.read구성원(profile)Read○○○

웍스 드라이브

ScopeResourceOperationLite, Standard,Standard Plus plan
openid-OIDC (OpenID Connect) 인증을 하기 위해 필요한 Scope. ID Token을 발급받기 위해 필수로 선택해야한다.○
email-ID Token에 구성원의 email 정보가 포함된다.○
profile-ID Token에 구성원의 profile 정보가 포함된다.○
audit감사/로그Read/Write○
audit.read감사/로그Read○
file내 드라이브
공용 드라이브
조직/그룹 폴더
Read/Write○
file.read내 드라이브
공용 드라이브
조직/그룹 폴더
Read○
group그룹Read/Write○
group.read그룹Read○
orgunit조직Read/Write○
orgunit.read조직Read○
directory조직
구성원
직급
직책
고용형태
그룹
Read/Write○
directory.read조직
구성원
직급
직책
고용형태
그룹
Read○
security.external-browser외부 브라우저 사용Read/Write○
security.external-browser.read외부 브라우저 사용Read○
user구성원Read/Write○
user.read구성원Read○
user.email.read구성원(email)Read○
user.profile.read구성원(profile)Read○

웍스 경영지원

ScopeResourceOperation결재근태급여재무
openid-OIDC (OpenID Connect) 인증을 하기 위해 필요한 Scope. ID Token을 발급받기 위해 필수로 선택해야한다.○○○○
email-ID Token에 구성원의 email 정보가 포함된다.○○○○
profile-ID Token에 구성원의 profile 정보가 포함된다.○○○○
businessSupport.approval결재Read/Write○
businessSupport.approval.read결재Read○
businessSupport.attendance근태Read/Write○
businessSupport.attendance.read근태Read○
businessSupport.humanResource인사Read/Write○
businessSupport.humanResource.read인사Read○
businessSupport.businessPlace사업장Read/Write○
businessSupport.businessPlace.read사업장Read○
audit감사/로그Read/Write○○○○
audit.read감사/로그Read○○○○
board게시판Read/Write○○○○
board.read게시판Read○○○○
contact주소록Read/Write○○○○
contact.read주소록Read○○○○
group그룹Read/Write○○○○
group.read그룹Read○○○○
orgunit조직Read/Write○○○○
orgunit.read조직Read○○○○
directory조직
구성원
직급
직책
고용형태
그룹
Read/Write○○○○
directory.read조직
구성원
직급
직책
고용형태
그룹
Read○○○○
security.external-browser외부 브라우저 사용Read/Write○○○○
security.external-browser.read외부 브라우저 사용Read○○○○
user구성원Read/Write○○○○
user.read구성원Read○○○○
user.email.read구성원(email)Read○○○○
user.profile.read구성원(profile)Read○○○○

AiStudio 드라이브

ScopeResourceOperationStandard
openid-OIDC (OpenID Connect) 인증을 하기 위해 필요한 Scope. ID Token을 발급받기 위해 필수로 선택해야한다.○
email-ID Token에 구성원의 email 정보가 포함된다.○
profile-ID Token에 구성원의 profile 정보가 포함된다.○
audit감사/로그Read/Write○
audit.read감사/로그Read○
group그룹Read/Write○
group.read그룹Read○
orgunit조직Read/Write○
orgunit.read조직Read○
directory조직
구성원
직급
직책
고용형태
그룹
Read/Write○
directory.read조직
구성원
직급
직책
고용형태
그룹
Read○
security.external-browser외부 브라우저 사용Read/Write○
security.external-browser.read외부 브라우저 사용Read○
user구성원Read/Write○
user.read구성원Read○
user.email.read구성원(email)Read○
user.profile.read구성원(profile)Read○