대부분의 chrome.* API를 사용하려면 확장 프로그램 또는 앱이 매니페스트의 'permissions' 필드에 의도를 선언해야 합니다. 각 권한은 알려진 문자열 목록 중 하나(예: 'geolocation')이거나 하나 이상의 호스트에 대한 액세스 권한을 부여하는 일치 패턴일 수 있습니다. 권한은 확장 프로그램이나 앱이 멀웨어에 의해 손상된 경우 피해를 제한하는 데 도움이 됩니다. 일부 권한은 권한 경고에 자세히 설명된 대로 설치 전에 사용자에게 표시됩니다.
API에서 매니페스트에 권한을 선언해야 하는 경우 문서에 선언 방법이 나와 있습니다. 예를 들어 저장소 페이지에는 '저장소' 권한을 선언하는 방법이 나와 있습니다.
다음은 매니페스트 파일의 권한 부분의 예입니다.
"permissions": [
"tabs",
"bookmarks",
"http://www.blogger.com/",
"http://*.google.com/",
"unlimitedStorage"
],
다음 표에는 현재 사용 가능한 권한이 나와 있습니다.
| 권한 | 설명 |
|---|---|
"activeTab" |
activeTab 사양에 따라 확장 프로그램에 권한을 부여하도록 요청합니다. |
"alarms" |
확장 프로그램에 chrome.alarms API에 대한 액세스 권한을 부여합니다. |
"background" |
Chrome을 일찍 시작하고 늦게 종료하여 앱과 확장 프로그램의 수명을 연장합니다. 설치된 호스팅 앱, 패키지 앱 또는 확장 프로그램에 '백그라운드' 권한이 있는 경우 사용자가 Chrome을 실행하기 전에 컴퓨터에 로그인하는 즉시 Chrome이 (보이지 않게) 실행됩니다. 'background' 권한은 사용자가 명시적으로 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" |
확장 프로그램 또는 앱에서 사용자에게 권한을 요청하지 않고 위치정보 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에 대한 액세스 권한을 부여합니다. |
"search" |
확장 프로그램에 chrome.search 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.tabs 및 chrome.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에 대한 액세스 권한을 부여합니다. |
"webNavigation" |
확장 프로그램에 chrome.webNavigation API에 대한 액세스 권한을 부여합니다. |
"webRequest" |
확장 프로그램에 chrome.webRequest API에 대한 액세스 권한을 부여합니다. |
"webRequestBlocking" |
확장 프로그램이 차단 방식으로 chrome.webRequest API를 사용하는 경우 필수입니다. |