권한 선언

대부분의 Chrome을 사용합니다.* API, 확장 프로그램 또는 앱은 manifest의 '권한' 필드에서 인텐트를 선언해야 합니다. 각 권한은 'geolocation'과 같이 알려진 문자열 목록 중 하나이거나 하나 이상의 호스트에 대한 액세스를 제공하는 일치 패턴일 수 있습니다. 권한은 확장 프로그램이나 앱이 멀웨어에 의해 손상된 경우 피해를 제한하는 데 도움이 됩니다. 일부 권한은 권한 경고에 설명된 대로 설치 전에 사용자에게 표시됩니다.

API에서 매니페스트에 권한을 선언해야 하는 경우 문서에서 선언하는 방법을 알려줍니다. 예를 들어 저장소 페이지에서는 '저장소' 권한을 선언하는 방법을 보여줍니다.

다음은 매니페스트 파일의 권한 부분 예입니다.

"permissions": [
  "tabs",
  "bookmarks",
  "http://www.blogger.com/",
  "http://*.google.com/",
  "unlimitedStorage"
],

다음 표에는 현재 사용 가능한 권한이 나와 있습니다.

권한 설명
"activeTab" activeTab 사양에 따라 확장 프로그램에 권한을 부여해 달라고 요청합니다.
"alarms" 익스텐션에 chrome.alarms API에 대한 액세스 권한을 부여합니다.
"background"

앱과 확장 프로그램의 수명을 연장할 수 있도록 Chrome을 일찍 시작하고 늦게 종료합니다.

설치된 호스팅 앱, 패키징된 앱 또는 확장 프로그램에 '백그라운드' 권한이 있는 경우 사용자가 Chrome을 실행하기 전에 사용자가 컴퓨터에 로그인하는 즉시 Chrome이 보이지 않게 실행됩니다. '백그라운드' 권한을 사용하면 사용자가 명시적으로 Chrome을 종료할 때까지 Chrome이 계속 실행되며, 이때 마지막 창이 닫힌 후에도 마찬가지입니다.

참고: 사용 중지된 앱과 확장 프로그램은 설치되지 않은 것처럼 처리됩니다.

일반적으로 '백그라운드' 권한은 백그라운드 페이지, 이벤트 페이지 또는 호스팅된 앱의 경우 백그라운드 창과 함께 사용합니다.

"bookmarks" 확장 프로그램에 chrome.bookmarks API에 대한 액세스 권한을 부여합니다.
"browsingData" 확장 프로그램에 chrome.browsingData API에 대한 액세스 권한을 부여합니다.
"certificateProvider" 확장 프로그램에 chrome.certificateProvider API에 대한 액세스 권한을 부여합니다.
"clipboardRead" 확장 프로그램 또는 앱에서 document.execCommand('paste')를 사용하는 경우 필요합니다.
"clipboardWrite" 확장 프로그램 또는 앱에서 document.execCommand('copy') 또는 document.execCommand('cut')를 사용함을 나타냅니다. 이 권한은 호스팅 앱에 필요하며 확장 프로그램 및 패키징된 앱에 권장됩니다.
"contentSettings" 확장 프로그램에 chrome.contentSettings API에 대한 액세스 권한을 부여합니다.
"contextMenus" 확장 프로그램에 chrome.contextMenus API에 대한 액세스 권한을 부여합니다.
"cookies" 확장 프로그램에 chrome.cookies API에 대한 액세스 권한을 부여합니다.
"debugger" 확장 프로그램에 chrome.debugger API에 대한 액세스 권한을 부여합니다.
"declarativeContent" 확장 프로그램에 chrome.declarativeContent API에 대한 액세스 권한을 부여합니다.
"declarativeNetRequest" 확장 프로그램에 chrome.declarativeNetRequest API에 대한 액세스 권한을 부여합니다.
"declarativeNetRequestFeedback" 일치하는 선언적 규칙에 관한 정보를 반환하는 chrome.declarativeNetRequest API 내의 이벤트 및 메서드에 대한 확장 프로그램 액세스 권한을 부여합니다.
"declarativeWebRequest" 확장 프로그램에 chrome.declarativeWebRequest API에 대한 액세스 권한을 부여합니다.
"desktopCapture" 확장 프로그램에 chrome.desktopCapture API에 대한 액세스 권한을 부여합니다.
"documentScan" 확장 프로그램에 chrome.documentScan API에 대한 액세스 권한을 부여합니다.
"downloads" 확장 프로그램에 chrome.downloads API에 대한 액세스 권한을 부여합니다.
"enterprise.deviceAttributes" 확장 프로그램에 chrome.enterprise.deviceAttributes API에 대한 액세스 권한을 부여합니다.
"enterprise.hardwarePlatform" 확장 프로그램에 chrome.enterprise.hardwarePlatform API에 대한 액세스 권한을 부여합니다.
"enterprise.networkingAttributes" 확장 프로그램에 chrome.enterprise.networkingAttributes API에 대한 액세스 권한을 부여합니다.
"enterprise.platformKeys" 확장 프로그램에 chrome.enterprise.platformKeys API에 대한 액세스 권한을 부여합니다.
"experimental" 확장 프로그램 또는 앱에서 chrome.experimental.* API를 참고하세요.
"fileBrowserHandler" 확장 프로그램에 chrome.fileBrowserHandler API에 대한 액세스 권한을 부여합니다.
"fileSystemProvider" 확장 프로그램에 chrome.fileSystemProvider API에 대한 액세스 권한을 부여합니다.
"fontSettings" 확장 프로그램에 chrome.fontSettings API에 대한 액세스 권한을 부여합니다.
"gcm" 익스텐션에 chrome.gcm API에 대한 액세스 권한을 부여합니다.
"geolocation" 확장 프로그램 또는 앱이 사용자에게 권한을 요청하지 않고도 geolocation API를 사용할 수 있도록 허용합니다.
"history" 확장 프로그램에 chrome.history API에 대한 액세스 권한을 부여합니다.
"identity" 확장 프로그램에 chrome.identity API에 대한 액세스 권한을 부여합니다.
"idle" 익스텐션에 chrome.idle API에 대한 액세스 권한을 부여합니다.
"loginState" 확장 프로그램에 chrome.loginState API에 대한 액세스 권한을 부여합니다.
"management" 확장 프로그램에 chrome.management API에 대한 액세스 권한을 부여합니다.
"nativeMessaging" 확장 프로그램에 네이티브 메시지 API에 대한 액세스 권한을 부여합니다.
"notifications" 확장 프로그램에 chrome.notifications API에 대한 액세스 권한을 부여합니다.
"pageCapture" 확장 프로그램에 chrome.pageCapture API에 대한 액세스 권한을 부여합니다.
"platformKeys" 확장 프로그램에 chrome.platformKeys API에 대한 액세스 권한을 부여합니다.
"power" 확장 프로그램에 chrome.power API에 대한 액세스 권한을 부여합니다.
"printerProvider" 확장 프로그램에 chrome.printerProvider API에 대한 액세스 권한을 부여합니다.
"printing" 확장 프로그램에 chrome.printing API에 대한 액세스 권한을 부여합니다.
"printingMetrics" 익스텐션에 chrome.printingMetrics API에 대한 액세스 권한을 부여합니다.
"privacy" 확장 프로그램에 chrome.privacy API에 대한 액세스 권한을 부여합니다.
"processes" 확장 프로그램에 chrome.processes API에 대한 액세스 권한을 부여합니다.
"proxy" 확장 프로그램에 chrome.proxy API에 대한 액세스 권한을 부여합니다.
"scripting" 확장 프로그램에 chrome.scripting API에 대한 액세스 권한을 부여합니다.
"sessions" 확장 프로그램에 chrome.sessions API에 대한 액세스 권한을 부여합니다.
"signedInDevices" 확장 프로그램에 chrome.signedInDevices API에 대한 액세스 권한을 부여합니다.
"storage" 확장 프로그램에 chrome.storage API에 대한 액세스 권한을 부여합니다.
"system.cpu" 익스텐션에 chrome.system.cpu API에 대한 액세스 권한을 부여합니다.
"system.display" 확장 프로그램에 chrome.system.display API에 대한 액세스 권한을 부여합니다.
"system.memory" 확장 프로그램에 chrome.system.memory API에 대한 액세스 권한을 부여합니다.
"system.storage" 확장 프로그램에 chrome.system.storage API에 대한 액세스 권한을 부여합니다.
"tabCapture" 확장 프로그램에 chrome.tabCapture API에 대한 액세스 권한을 부여합니다.
"tabGroups" 확장 프로그램에 chrome.tabGroups API에 대한 액세스 권한을 부여합니다.
"tabs" 확장 프로그램이 chrome.tabschrome.windows를 비롯한 여러 API에서 사용하는 Tab 객체의 권한이 있는 필드에 액세스할 수 있도록 합니다. 대부분의 경우 확장 프로그램은 이러한 API를 사용하기 위해 "tabs" 권한을 선언할 필요가 없습니다.
"topSites" 확장 프로그램에 chrome.topSites API에 대한 액세스 권한을 부여합니다.
"tts" 익스텐션에 chrome.tts API에 대한 액세스 권한을 부여합니다.
"ttsEngine" 익스텐션에 chrome.ttsEngine API에 대한 액세스 권한을 부여합니다.
"unlimitedStorage" 데이터베이스 및 로컬 스토리지 파일과 같은 클라이언트 측 데이터를 저장하기 위한 무제한 할당량을 제공합니다. 이 권한이 없으면 확장 프로그램 또는 앱의 로컬 저장소가 5MB로 제한됩니다.
참고: 이 권한은 웹 SQL 데이터베이스 및 애플리케이션 캐시에만 적용됩니다(문제 58985 참고). 또한 현재 http://*.example.com과 같은 와일드 카드 하위 도메인에서는 작동하지 않습니다.
"vpnProvider" 확장 프로그램에 chrome.vpnProvider API에 대한 액세스 권한을 부여합니다.
"wallpaper" 확장 프로그램에 chrome.wallpaper API에 대한 액세스 권한을 부여합니다.
"webNavigation" 확장 프로그램에 chrome.webNavigation API에 대한 액세스 권한을 부여합니다.
"webRequest" 확장 프로그램에 chrome.webRequest API에 대한 액세스 권한을 부여합니다.
"webRequestBlocking" 확장 프로그램이 차단 방식으로 chrome.webRequest API를 사용하는 경우 필요합니다.