ㅅㄷㄴㅅ

브라우저 플러그인을 개발할 때 가장 중요한 부분 중 하나는 필요한 권한을 정확하게 이해하고 요청하는 것입니다. 권한은 플러그인이 브라우저의 기능과 데이터에 접근할 수 있도록 허용하는 일종의 '열쇠'와 같습니다. 하지만 불필요한 권한을 요청하는 것은 사용자들의 신뢰를 잃을 수 있고, 보안 취약점을 만들 수도 있습니다.

이 글에서는 다양한 브라우저 플러그인 권한들을 자세히 살펴보고, 각각의 권한이 어떤 기능을 제공하며, 어떤 상황에서 필요한지, 그리고 주의해야 할 점은 무엇인지 등을 꼼꼼하게 설명합니다. 플러그인 개발자라면 반드시 알아야 할 필수 지침들을 담고 있으니, 주의 깊게 읽어보시고 플러그인 개발에 도움이 되기를 바랍니다.

목차:

  1. 접근 권한: 브라우저의 핵심 기능 및 데이터 접근
  2. 기능 권한: 플러그인의 추가 기능 구현
  3. 시스템 정보 권한: 시스템 정보 접근
  4. 기업 권한: 기업 환경에서의 플러그인 사용
  5. 보안 및 개인 정보 권한: 보안 및 개인 정보 보호 관련
  6. 기타 권한: 특수한 기능들을 위한 권한

1. 접근 권한: 브라우저의 핵심 기능 및 데이터 접근

이 권한들은 플러그인이 브라우저 자체의 기능과 데이터에 접근할 수 있도록 해줍니다.

  • activeTab:
    • 설명: 사용자가 현재 활성화한 탭에 대한 제한적인 접근 권한을 부여합니다.
    • 기능: 활성 탭의 URL, 제목, ID를 얻고, 탭에 스크립트나 CSS를 삽입할 수 있습니다.
    • 사용 예시: 현재 페이지의 특정 요소를 변경하는 플러그인, 현재 페이지의 정보를 요약하여 보여주는 플러그인.
    • 주의사항: 사용자가 플러그인 액션을 통해 명시적으로 상호 작용해야만 권한이 활성화됩니다. 즉, 플러그인이 임의로 다른 탭에 접근할 수 없습니다.
  • alarms:
    • 설명: 플러그인이 특정 시간 간격으로 작업을 예약할 수 있도록 합니다.
    • 기능: 정기적인 알림 표시, 데이터 업데이트, 백그라운드 작업 스케줄링.
    • 사용 예시: 특정 시간마다 뉴스 업데이트를 확인하는 플러그인, 할 일 목록 알림 플러그인.
    • 주의사항: 브라우저가 닫혀도 알람은 유지되지만, 시스템 리소스를 과도하게 사용하지 않도록 주의해야 합니다.
  • bookmarks:
    • 설명: 브라우저의 북마크를 읽고, 수정하고, 생성할 수 있도록 합니다.
    • 기능: 북마크 관리, 북마크 검색, 북마크 동기화.
    • 사용 예시: 북마크를 자동으로 정리하는 플러그인, 특정 키워드에 따라 북마크를 분류하는 플러그인.
    • 주의사항: 사용자의 북마크는 매우 민감한 정보이므로, 보안에 각별히 신경 써야 합니다.
  • browsingData:
    • 설명: 사용자의 검색 기록, 쿠키, 캐시된 데이터 등 브라우징 데이터를 삭제할 수 있도록 합니다.
    • 기능: 개인 정보 보호, 브라우저 성능 향상.
    • 사용 예시: 특정 시간 간격으로 쿠키를 삭제하는 플러그인, 브라우저 종료 시 자동으로 캐시를 삭제하는 플러그인.
    • 주의사항: 사용자의 데이터를 삭제하는 기능이므로, 사용자에게 명확한 동의를 얻어야 합니다.
  • clipboardRead:
    • 설명: 시스템 클립보드에서 데이터를 읽을 수 있도록 합니다.
    • 기능: 클립보드 내용 분석, 클립보드 내용 변환.
    • 사용 예시: 클립보드에 복사된 URL을 자동으로 단축하는 플러그인, 클립보드에 복사된 텍스트의 언어를 감지하는 플러그인.
    • 주의사항: 사용자 동의가 필요하며, 민감한 정보가 클립보드에 있을 수 있으므로 보안에 주의해야 합니다.
  • clipboardWrite:
    • 설명: 시스템 클립보드에 데이터를 쓸 수 있도록 합니다.
    • 기능: 클립보드에 데이터 저장, 클립보드 내용 변경.
    • 사용 예시: 현재 페이지의 URL을 클립보드에 복사하는 플러그인, 특정 텍스트를 클립보드에 저장하는 플러그인.
    • 주의사항: 사용자의 의도와 다르게 클립보드 내용을 변경하지 않도록 주의해야 합니다.
  • cookies:
    • 설명: 웹 페이지의 쿠키를 읽고, 수정하고, 삭제할 수 있도록 합니다.
    • 기능: 쿠키 관리, 쿠키 차단, 쿠키 기반 광고 차단.
    • 사용 예시: 특정 웹사이트의 쿠키를 삭제하는 플러그인, 서드파티 쿠키를 차단하는 플러그인.
    • 주의사항: 쿠키는 사용자의 웹 활동을 추적하는 데 사용될 수 있으므로, 개인 정보 보호에 민감하게 접근해야 합니다.
  • history:
    • 설명: 브라우저의 방문 기록을 읽고, 수정할 수 있도록 합니다.
    • 기능: 방문 기록 관리, 방문 기록 검색, 방문 기록 분석.
    • 사용 예시: 특정 웹사이트 방문 기록을 삭제하는 플러그인, 방문 기록을 기반으로 추천 웹사이트를 제공하는 플러그인.
    • 주의사항: 사용자의 방문 기록은 매우 민감한 정보이므로, 보안에 각별히 신경 써야 합니다.
  • sessions:
    • 설명: 브라우저 세션에 접근하고 관리할 수 있도록 합니다.
    • 기능: 세션 복원, 세션 동기화, 세션 관리.
    • 사용 예시: 이전 세션을 복원하는 플러그인, 여러 기기 간에 세션을 동기화하는 플러그인.
    • 주의사항: 세션 정보는 사용자의 로그인 상태 및 웹 활동을 포함하므로, 보안에 매우 중요합니다.
  • storage:
    • 설명: 브라우저의 로컬 스토리지에 데이터를 저장하고 검색할 수 있도록 합니다.
    • 기능: 사용자 설정 저장, 데이터 캐싱, 오프라인 기능 지원.
    • 사용 예시: 플러그인의 설정을 저장하는 데 사용, 웹 페이지의 데이터를 캐싱하여 로딩 속도를 향상시키는 데 사용.
    • 주의사항: 로컬 스토리지는 브라우저에 저장되므로, 민감한 정보를 저장하지 않도록 주의해야 합니다.
  • tabs:
    • 설명: 탭에 관한 정보를 읽고, 탭을 만들고, 수정할 수 있게 해 줍니다.
    • 기능: 탭 관리, 탭 검색, 탭 그룹화.
    • 사용 예시: 중복된 탭을 닫는 플러그인, 탭을 그룹으로 묶어 관리하는 플러그인.
    • 주의사항: activeTab과 달리, 이 권한은 플러그인이 활성 탭뿐만 아니라 모든 탭에 접근할 수 있게 합니다. 따라서 사용자의 프라이버시를 침해하지 않도록 주의해야 합니다.
  • topSites:
    • 설명: 사용자가 가장 자주 방문하는 웹사이트 목록에 접근할 수 있게 해 줍니다.
    • 기능: 자주 방문하는 웹사이트 추천, 웹사이트 순위 표시.
    • 사용 예시: 새로운 탭 페이지에 자주 방문하는 웹사이트를 표시하는 플러그인, 웹사이트 순위를 보여주는 플러그인.
    • 주의사항: 사용자의 웹사이트 방문 패턴을 분석하는 데 사용될 수 있으므로, 개인 정보 보호에 민감하게 접근해야 합니다.
  • webNavigation:
    • 설명: 웹 페이지의 탐색 이벤트를 관찰하고 처리할 수 있도록 합니다.
    • 기능: URL 변경 감지, 페이지 로딩 상태 확인, 리디렉션 처리.
    • 사용 예시: 특정 URL로 이동할 때 알림을 표시하는 플러그인, 페이지 로딩 시간을 측정하는 플러그인.
    • 주의사항: 웹 페이지의 탐색 흐름을 변경할 수 있으므로, 사용자 경험을 해치지 않도록 주의해야 합니다.

2. 기능 권한: 플러그인의 추가 기능 구현

이 권한들은 플러그인이 특정 기능을 수행할 수 있도록 허용합니다.

  • background:
    • 설명: 브라우저가 닫혀도 플러그인의 백그라운드 스크립트가 계속 실행되도록 합니다. (Manifest V2에서 사용, V3에서는 Service Worker로 대체)
    • 기능: 백그라운드 작업 실행, 알림 표시, 데이터 동기화.
    • 사용 예시: 주기적으로 데이터를 업데이트하는 플러그인, 브라우저가 닫혀도 알림을 표시하는 플러그인.
    • 주의사항: 백그라운드 스크립트는 시스템 리소스를 소비하므로, 불필요한 작업은 최소화해야 합니다.
  • certificateProvider:
    • 설명: 플러그인이 TLS/SSL 인증서를 제공할 수 있도록 합니다.
    • 기능: 보안 연결 강화, 사용자 정의 인증서 사용.
    • 사용 예시: 특수한 보안 요구 사항이 있는 경우 사용.
    • 주의사항: 인증서 관련 기능은 보안에 매우 중요하므로, 전문가의 도움을 받아 신중하게 개발해야 합니다.
  • contentSettings:
    • 설명: 플러그인이 웹 페이지의 콘텐츠 설정을 변경할 수 있도록 합니다.
    • 기능: JavaScript 활성화/비활성화, 쿠키 허용/차단, 이미지 표시 설정.
    • 사용 예시: 특정 웹사이트에서 JavaScript를 비활성화하는 플러그인, 모든 웹사이트에서 쿠키를 차단하는 플러그인.
    • 주의사항: 웹 페이지의 동작을 변경할 수 있으므로, 사용자 경험을 해치지 않도록 주의해야 합니다.
  • contextMenus:
    • 설명: 브라우저의 컨텍스트 메뉴 (마우스 오른쪽 버튼 클릭 시 나타나는 메뉴)에 항목을 추가할 수 있도록 합니다.
    • 기능: 플러그인 기능 실행, 웹 페이지 정보 공유.
    • 사용 예시: 선택한 텍스트를 번역하는 플러그인, 현재 페이지를 소셜 미디어에 공유하는 플러그인.
    • 주의사항: 컨텍스트 메뉴를 너무 많이 추가하면 사용자 경험을 해칠 수 있으므로, 필요한 기능만 추가해야 합니다.
  • debugger:
    • 설명: 브라우저의 디버거 API에 접근할 수 있도록 합니다.
    • 기능: 웹 페이지 디버깅, 웹 개발 도구, 성능 분석.
    • 사용 예시: 웹 페이지의 오류를 찾는 데 사용, 웹 페이지의 성능을 분석하는 데 사용.
    • 주의사항: 웹 페이지의 코드를 디버깅할 수 있도록 허용하지만, 악용될 경우 보안 문제가 발생할 수 있습니다.
  • declarativeContent:
    • 설명: 플러그인이 현재 페이지의 콘텐츠에 따라 액션을 수행할 수 있도록 합니다.
    • 기능: 특정 URL 패턴에서만 팝업 활성화, 특정 콘텐츠가 있는 페이지에서만 기능 활성화.
    • 사용 예시: 특정 웹사이트에서만 작동하는 플러그인, 특정 키워드가 포함된 페이지에서만 기능을 활성화하는 플러그인.
    • 주의사항: 콘텐츠에 따라 액션이 달라지므로, 다양한 상황을 고려하여 개발해야 합니다.
  • downloads:
    • 설명: 플러그인이 파일을 다운로드할 수 있도록 합니다.
    • 기능: 파일 다운로드 자동화, 다운로드 관리.
    • 사용 예시: 특정 웹사이트에서 파일을 자동으로 다운로드하는 플러그인, 다운로드 매니저 플러그인.
    • 주의사항: 사용자의 동의 없이 파일을 다운로드하지 않도록 주의해야 합니다.
  • fileSystemProvider:
    • 설명: 플러그인이 파일 시스템 API를 사용하여 파일을 관리할 수 있도록 합니다.
    • 기능: 가상 파일 시스템 제공, 클라우드 스토리지 연동.
    • 사용 예시: 클라우드 스토리지에 저장된 파일을 브라우저에서 직접 접근할 수 있도록 하는 플러그인.
    • 주의사항: 파일 시스템 관련 기능은 보안에 매우 중요하므로, 전문가의 도움을 받아 신중하게 개발해야 합니다.
  • fontSettings:
    • 설명: 플러그인이 브라우저의 글꼴 설정을 변경할 수 있도록 합니다.
    • 기능: 글꼴 변경, 글꼴 크기 조절.
    • 사용 예시: 특정 웹사이트의 글꼴을 변경하는 플러그인, 글꼴 크기를 조절하는 플러그인.
    • 주의사항: 웹 페이지의 가독성을 해치지 않도록 주의해야 합니다.
  • geolocation:
    • 설명: 플러그인이 사용자의 지리적 위치 정보에 접근할 수 있도록 합니다.
    • 기능: 위치 기반 서비스 제공, 지도 표시.
    • 사용 예시: 현재 위치를 기반으로 주변 정보를 제공하는 플러그인, 지도 표시 플러그인.
    • 주의사항: 사용자 동의가 필요하며, 위치 정보는 매우 민감한 정보이므로 보안에 주의해야 합니다.
  • identity:
    • 설명: 플러그인이 사용자의 Google 계정 정보에 접근할 수 있도록 합니다.
    • 기능: Google 계정 연동, OAuth 2.0 인증.
    • 사용 예시: Google 계정으로 로그인하는 플러그인, Google Drive에 파일을 저장하는 플러그인.
    • 주의사항: OAuth 2.0 인증이 필요하며, 사용자의 개인 정보를 안전하게 관리해야 합니다.
  • idle:
    • 설명: 플러그인이 사용자의 유휴 상태를 감지할 수 있도록 합니다.
    • 기능: 유휴 상태 감지, 자동 로그아웃.
    • 사용 예시: 사용자가 일정 시간 동안 활동하지 않으면 자동으로 로그아웃하는 플러그인.
    • 주의사항: 사용자의 활동을 감지하는 기능이므로, 개인 정보 보호에 민감하게 접근해야 합니다.
  • management:
    • 설명: 플러그인이 설치된 확장 프로그램 목록을 읽고 관리할 수 있도록 합니다.
    • 기능: 확장 프로그램 관리, 확장 프로그램 정보 표시.
    • 사용 예시: 설치된 확장 프로그램 목록을 보여주는 플러그인, 특정 확장 프로그램을 활성화/비활성화하는 플러그인.
    • 주의사항: 사용자의 확장 프로그램 정보를 변경할 수 있으므로, 신중하게 사용해야 합니다.
  • nativeMessaging:
    • 설명: 플러그인이 네이티브 애플리케이션과 통신할 수 있도록 합니다.
    • 기능: 로컬 프로그램 연동, 시스템 기능 제어.
    • 사용 예시: 로컬 프로그램을 실행하는 플러그인, 시스템의 볼륨을 조절하는 플러그인.
    • 주의사항: 네이티브 애플리케이션과의 통신은 보안에 매우 중요하므로, 전문가의 도움을 받아 신중하게 개발해야 합니다.
  • notifications:
    • 설명: 플러그인이 사용자에게 알림을 표시할 수 있도록 합니다.
    • 기능: 알림 표시, 이벤트 알림, 업데이트 알림.
    • 사용 예시: 새로운 메일이 도착했을 때 알림을 표시하는 플러그인, 업데이트 알림을 표시하는 플러그인.
    • 주의사항: 알림을 너무 많이 표시하면 사용자 경험을 해칠 수 있으므로, 필요한 알림만 표시해야 합니다.
  • offscreen:
    • 설명: 플러그인이 오프스크린 문서 (보이지 않는 문서)를 생성하여 백그라운드 작업을 수행할 수 있도록 합니다.
    • 기능: 백그라운드 작업 실행, 웹 페이지 분석, 데이터 처리.
    • 사용 예시: 웹 페이지의 데이터를 분석하는 데 사용, 백그라운드에서 데이터를 처리하는 데 사용.
    • 주의사항: 오프스크린 문서는 시스템 리소스를 소비하므로, 불필요한 작업은 최소화해야 합니다.
  • pageCapture:
    • 설명: 플러그인이 웹 페이지의 스크린샷을 캡처할 수 있도록 합니다.
    • 기능: 스크린샷 캡처, 웹 페이지 저장.
    • 사용 예시: 현재 페이지의 스크린샷을 캡처하는 플러그인, 웹 페이지를 이미지 파일로 저장하는 플러그인.
    • 주의사항: 웹 페이지에 민감한 정보가 포함될 수 있으므로, 보안에 주의해야 합니다.
  • platformKeys:
    • 설명: 플러그인이 플랫폼 키 API를 사용하여 암호화 작업을 수행할 수 있도록 합니다.
    • 기능: 암호화, 디지털 서명, 보안 통신.
    • 사용 예시: 데이터 암호화에 사용, 디지털 서명에 사용.
    • 주의사항: 암호화 관련 기능은 보안에 매우 중요하므로, 전문가의 도움을 받아 신중하게 개발해야 합니다.
  • power:
    • 설명: 플러그인이 시스템의 전원 관리 기능에 접근할 수 있도록 합니다.
    • 기능: 화면 꺼짐 방지, 절전 모드 제어.
    • 사용 예시: 동영상 시청 시 화면이 꺼지지 않도록 하는 플러그인, 특정 작업 중에는 절전 모드를 비활성화하는 플러그인.
    • 주의사항: 배터리 소모를 증가시킬 수 있으므로, 필요한 경우에만 사용해야 합니다.
  • printerProvider:
    • 설명: 플러그인이 프린터 제공자 API를 사용하여 인쇄 기능을 확장할 수 있도록 합니다.
    • 기능: 사용자 정의 인쇄 기능 제공, 프린터 관리.
    • 사용 예시: 특정 형식으로 인쇄하는 플러그인, 프린터 관리 플러그인.
    • 주의사항: 인쇄 관련 기능은 시스템에 영향을 줄 수 있으므로, 신중하게 개발해야 합니다.
  • printing:
    • 설명: 플러그인이 인쇄 API를 사용하여 웹 페이지를 인쇄할 수 있도록 합니다.
    • 기능: 웹 페이지 인쇄, 인쇄 설정 변경.
    • 사용 예시: 웹 페이지를 PDF 파일로 저장하는 플러그인, 인쇄 설정을 변경하는 플러그인.
    • 주의사항: 인쇄 관련 기능은 시스템에 영향을 줄 수 있으므로, 신중하게 개발해야 합니다.
  • proxy:
    • 설명: 플러그인이 시스템 프록시 설정을 변경할 수 있도록 합니다.
    • 기능: 프록시 설정 변경, 익명 브라우징.
    • 사용 예시: 프록시 서버를 설정하는 플러그인, 익명 브라우징을 지원하는 플러그인.
    • 주의사항: 프록시 설정을 잘못 변경하면 인터넷 연결에 문제가 발생할 수 있으므로, 주의해야 합니다.
  • scripting:
    • 설명: chrome.scripting API를 사용하여 웹 페이지에 스크립트와 CSS를 삽입하고 실행할 수 있도록 합니다.
    • 기능: 웹 페이지 내용 변경, 사용자 인터페이스 변경, 웹 페이지 기능 확장.
    • 사용 예시: 웹 페이지의 특정 요소를 숨기는 플러그인, 웹 페이지에 새로운 기능을 추가하는 플러그인.
    • 주의사항: 웹 페이지의 동작을 변경할 수 있으므로, 사용자 경험을 해치지 않도록 주의해야 합니다.
  • search:
    • 설명: 플러그인이 브라우저의 검색 API를 사용하여 검색 기능을 확장할 수 있도록 합니다.
    • 기능: 사용자 정의 검색 엔진 추가, 검색 결과 개선.
    • 사용 예시: 새로운 검색 엔진을 추가하는 플러그인, 검색 결과를 개선하는 플러그인.
    • 주의사항: 검색 결과를 조작할 수 있으므로, 신뢰성을 유지해야 합니다.
  • signedInDevices:
    • 설명: 플러그인이 사용자의 Google 계정으로 로그인한 장치 목록에 접근할 수 있도록 합니다.
    • 기능: 장치 관리, 보안 강화.
    • 사용 예시: 로그인한 장치 목록을 보여주는 플러그인, 의심스러운 장치가 로그인했을 때 알림을 보내는 플러그인.
    • 주의사항: 사용자의 장치 정보는 매우 민감한 정보이므로, 보안에 각별히 신경 써야 합니다.
  • tabCapture:
    • 설명: 플러그인이 탭의 내용을 캡처할 수 있도록 합니다.
    • 기능: 화면 공유, 녹화, 스트리밍.
    • 사용 예시: 화면 공유 플러그인, 화면 녹화 플러그인, 스트리밍 플러그인.
    • 주의사항: 웹 페이지에 민감한 정보가 포함될 수 있으므로, 보안에 주의해야 합니다.
  • tts:
    • 설명: 플러그인이 텍스트 음성 변환 (TTS) API를 사용하여 텍스트를 음성으로 변환할 수 있도록 합니다.
    • 기능: 텍스트 읽어주기, 음성 알림.
    • 사용 예시: 웹 페이지의 텍스트를 읽어주는 플러그인, 음성 알림을 제공하는 플러그인.
    • 주의사항: 사용자의 언어 설정을 고려하여 개발해야 합니다.
  • ttsEngine:
    • 설명: 플러그인이 TTS 엔진 API를 사용하여 사용자 정의 TTS 엔진을 제공할 수 있도록 합니다.
    • 기능: 사용자 정의 음성 제공, 특정 언어 지원.
    • 사용 예시: 특정 억양의 음성을 제공하는 플러그인, 특정 언어를 지원하는 플러그인.
    • 주의사항: TTS 엔진 개발은 전문적인 지식이 필요합니다.
  • vpnProvider:
    • 설명: 플러그인이 VPN 제공자 API를 사용하여 VPN 연결을 관리할 수 있도록 합니다.
    • 기능: VPN 연결 관리, 보안 강화.
    • 사용 예시: VPN 연결을 설정하고 관리하는 플러그인.
    • 주의사항: VPN 관련 기능은 보안에 매우 중요하므로, 전문가의 도움을 받아 신중하게 개발해야 합니다.
  • wallpaper:
    • 설명: 플러그인이 바탕 화면 배경을 변경할 수 있도록 합니다.
    • 기능: 바탕 화면 변경, 배경 화면 관리.
    • 사용 예시: 주기적으로 바탕 화면을 변경하는 플러그인, 다양한 배경 화면을 제공하는 플러그인.
    • 주의사항: 시스템 설정에 영향을 줄 수 있으므로, 신중하게 개발해야 합니다.

3. 시스템 정보 권한: 시스템 정보 접근

이 권한들은 플러그인이 시스템 정보를 얻을 수 있도록 합니다.

  • system.cpu: 플러그인이 시스템의 CPU 정보를 얻을 수 있도록 합니다. (CPU 모델, 코어 수 등)
  • system.display: 플러그인이 시스템의 디스플레이 정보를 얻을 수 있도록 합니다. (해상도, 화면 크기 등)
  • system.memory: 플러그인이 시스템의 메모리 정보를 얻을 수 있도록 합니다. (총 메모리, 사용 가능한 메모리 등)
  • system.storage: 플러그인이 시스템의 저장 장치 정보를 얻을 수 있도록 합니다. (디스크 용량, 사용 가능한 용량 등)

주의사항: 시스템 정보는 사용자의 하드웨어 정보를 포함하므로, 개인 정보 보호에 민감하게 접근해야 합니다.


4. 기업 권한: 기업 환경에서의 플러그인 사용

이 권한들은 기업 환경에서 관리되는 장치에서 플러그인이 특정 기능을 수행할 수 있도록 합니다.

  • enterprise.deviceAttributes: 플러그인이 기업 장치의 속성 정보를 얻을 수 있도록 합니다. (장치 ID, 일련 번호 등)
  • enterprise.platformKeys: 플러그인이 기업 플랫폼 키 API를 사용하여 암호화 작업을 수행할 수 있도록 합니다.

주의사항: 기업 권한은 기업 환경에서 관리되는 장치에서만 사용할 수 있습니다.


5. 보안 및 개인 정보 권한: 보안 및 개인 정보 보호 관련

이 권한들은 플러그인의 보안 및 개인 정보 보호와 관련된 기능들을 제어합니다.

  • debugger: 웹 페이지의 코드를 디버깅할 수 있도록 허용하지만, 악용될 경우 보안 문제가 발생할 수 있습니다.
  • privacy: 플러그인이 브라우저의 개인 정보 보호 설정을 관리할 수 있도록 합니다.
  • unlimitedStorage: 플러그인이 저장 공간 제한 없이 데이터를 저장할 수 있도록 합니다. (브라우저의 저장 공간 관리 정책을 우회)
  • webRequest: 플러그인이 웹 요청을 관찰하고 수정할 수 있도록 합니다. 매우 강력한 권한이며 신중하게 사용해야 합니다.
  • webRequestBlocking: webRequest 권한과 함께 사용하여 웹 요청을 차단하거나 수정할 수 있도록 합니다.

주의사항: 이 권한들은 보안 및 개인 정보 보호에 매우 민감한 영향을 미칠 수 있으므로, 필요한 경우에만 요청하고, 안전하게 사용해야 합니다.


6. 기타 권한: 특수한 기능들을 위한 권한

이 권한들은 특수한 기능들을 위한 권한입니다.

  • declarativeNetRequest: 플러그인이 네트워크 요청을 필터링하고 수정하는 규칙을 선언적으로 정의할 수 있도록 합니다. (광고 차단, 트래커 차단)
  • declarativeNetRequestFeedback: declarativeNetRequest API를 사용할 때 발생하는 문제에 대한 피드백을 받을 수 있도록 합니다.
  • declarativeNetRequestWithHostAccess: declarativeNetRequest API를 호스트 권한과 함께 사용하여 네트워크 요청을 수정할 수 있도록 합니다.
  • documentScan: 플러그인이 연결된 스캐너를 사용하여 문서를 스캔할 수 있도록 합니다.
  • gcm: 플러그인이 Google Cloud Messaging (GCM)을 사용하여 푸시 알림을 받을 수 있도록 합니다.
  • idleSensor: 사용자가 주변에 있는지 감지합니다.
  • loginState: 사용자의 로그인 상태에 접근합니다.
  • offscreen: 오프스크린 문서 작성
  • pageCapture: 현재 탭의 페이지를 HTML로 저장합니다.
  • power: 전원 관리 시스템에 접근합니다.
  • printingMetrics: 인쇄 작업에 관한 정보에 접근합니다.
  • processes: 운영체제 프로세스에 접근합니다.
  • ttsEngine: 텍스트를 음성으로 변환하는 엔진
  • unlimitedStorage: 저장 공간 제한 없이 데이터 저장
  • wallpaper: 배경화면 변경

주의사항: 이 권한들은 특수한 기능들을 위한 권한이므로, 필요한 경우에만 요청해야 합니다.