설명
chrome.privacy
API를 사용하여 사용자의 개인 정보 보호에 영향을 줄 수 있는 Chrome의 기능 사용을 제어합니다. 이 API는 Chrome 구성을 가져오고 설정하기 위해 유형 API의 ChromeSetting 프로토타입을 사용합니다.
권한
privacy
API를 사용하려면 확장 프로그램의 매니페스트에서 '개인 정보 보호' 권한을 선언해야 합니다. 예를 들면 다음과 같습니다.
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
개념 및 사용
Chrome 설정의 현재 값을 읽는 것은 간단합니다. 먼저 관심 있는 속성을 찾은 다음 해당 객체에서 get()
를 호출하여 현재 값과 확장 프로그램의 제어 수준을 가져옵니다. 예를 들어 Chrome의 신용카드 자동 완성 기능이 사용 설정되어 있는지 확인하려면 다음과 같이 작성합니다.
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
설정 값을 변경하는 것은 조금 더 복잡합니다. 먼저 확장 프로그램이 설정을 제어할 수 있는지 확인해야 하기 때문입니다. 확장 프로그램이 기업 정책에 의해 특정 값으로 잠긴 설정을 전환하거나(levelOfControl
이 'not_controllable'로 설정됨) 다른 확장 프로그램이 값을 제어하는 경우 (levelOfControl
이 'controlled_by_other_extensions'로 설정됨) 사용자에게 설정 변경사항이 표시되지 않습니다. set()
호출은 성공하지만 설정이 즉시 재정의됩니다. 혼란을 줄 수 있으므로 사용자가 선택한 설정이 실제로 적용되지 않는 경우 사용자에게 경고하는 것이 좋습니다.
즉, get()
메서드를 사용하여 액세스 수준을 결정한 다음 확장 프로그램이 설정을 제어할 수 있는 경우에만 set()
를 호출해야 합니다. 확장 프로그램이 설정을 제어할 수 없는 경우 사용자 혼란을 줄이기 위해 이 기능을 시각적으로 사용 중지하는 것이 좋습니다.
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.levelOfControl === 'controllable_by_this_extension') {
chrome.privacy.services.autofillCreditCardEnabled.set({ value: true }, function() {
if (chrome.runtime.lastError === undefined) {
console.log("Hooray, it worked!");
} else {
console.log("Sadness!", chrome.runtime.lastError);
}
});
}
});
설정 값의 변경사항에 관심이 있는 경우 onChange
이벤트에 리스너를 추가합니다. 이를 통해 최근에 설치된 확장 프로그램이 설정을 제어하거나 엔터프라이즈 정책이 관리자의 제어를 재정의하는 경우 사용자에게 경고할 수 있습니다. 예를 들어 신용카드 자동 완성 상태의 변경사항을 리슨하려면 다음 코드로 충분합니다.
chrome.privacy.services.autofillCreditCardEnabled.onChange.addListener(
function (details) {
// The new value is stored in `details.value`, the new level of control
// in `details.levelOfControl`, and `details.incognitoSpecific` will be
// `true` if the value is specific to Incognito mode.
}
);
예
이 API를 사용해 보려면 chrome-extension-samples 저장소에서 privacy API 예시를 설치합니다.
유형
IPHandlingPolicy
WebRTC의 IP 처리 정책
열거형
'default'
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
속성
network
Chrome의 일반적인 네트워크 연결 처리에 영향을 미치는 설정입니다.
유형
객체
속성
-
networkPredictionEnabled
types.ChromeSetting<boolean>
이 기능을 사용 설정하면 Chrome에서 DNS 항목을 미리 확인하고 서버에 대한 TCP 및 SSL 연결을 선제적으로 열어 웹 탐색 환경의 속도를 높이려고 시도합니다. 이 환경설정은 Chrome의 내부 예측 서비스에서 취하는 작업에만 영향을 미칩니다. 웹페이지에서 시작된 미리 가져오기 또는 사전 연결에는 영향을 미치지 않습니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
webRTCIPHandlingPolicyChrome 48 이상
사용자가 WebRTC 트래픽의 라우팅 방식과 노출되는 로컬 주소 정보의 양에 영향을 미치는 미디어 성능/개인 정보 보호 절충점을 지정할 수 있습니다. 이 환경설정의 값은 IPHandlingPolicy 유형이며 기본값은
default
입니다.
services
Google 및 기본 검색 제공업체에서 제공하는 서드 파티 네트워크 서비스가 필요한 기능을 사용 설정 또는 사용 중지하는 설정입니다.
유형
객체
속성
-
alternateErrorPagesEnabled
types.ChromeSetting<boolean>
사용 설정하면 Chrome에서 웹 서비스를 사용하여 탐색 오류를 해결합니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70 이상사용 설정된 경우 Chrome에서 주소 및 기타 양식 데이터를 자동으로 입력할 수 있습니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 이상사용 설정하면 Chrome에서 신용카드 양식을 자동으로 작성해 줍니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
autofillEnabled
types.ChromeSetting<boolean>
Chrome 70부터 지원 중단됨privacy.services.autofillAddressEnabled 및 privacy.services.autofillCreditCardEnabled를 사용하세요. 이 속성은 이 버전에서 이전 버전과의 호환성을 위해 유지되며 향후 삭제될 예정입니다.
사용 설정하면 Chrome에서 양식을 자동으로 작성해 줍니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
passwordSavingEnabled
types.ChromeSetting<boolean>
사용 설정하면 비밀번호 관리자에서 비밀번호를 저장할지 묻는 메시지가 표시됩니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
이 기능을 사용 설정하면 Chrome에서 피싱 및 멀웨어로부터 사용자를 보호하기 위해 최선을 다합니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
사용 설정하면 세이프 브라우징에서 페이지를 차단할 때 Chrome에서 차단된 페이지의 콘텐츠와 같은 추가 정보를 Google에 전송합니다. 이 환경설정의 값은 불리언이며 기본값은
false
입니다. -
searchSuggestEnabled
types.ChromeSetting<boolean>
이 기능을 사용 설정하면 Chrome에서 검색주소창에 입력한 텍스트를 기본 검색엔진으로 전송하여 사용자가 지금까지 입력한 내용을 완성할 가능성이 높은 웹사이트 및 검색어의 예상 검색어를 제공합니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다. -
spellingServiceEnabled
types.ChromeSetting<boolean>
사용 설정된 경우 Chrome은 웹 서비스를 사용하여 맞춤법 오류를 수정합니다. 이 환경설정의 값은 불리언이며 기본값은
false
입니다. -
translationServiceEnabled
types.ChromeSetting<boolean>
이 기능을 사용 설정하면 Chrome에서 내가 읽을 수 없는 언어로 된 페이지를 번역하도록 제안합니다. 이 환경설정의 값은 불리언이며 기본값은
true
입니다.
websites
Chrome에서 웹사이트에 제공할 정보를 결정하는 설정입니다.
유형
객체
속성
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111 이상사용 중지하면 Attribution Reporting API 및 Private Aggregation API가 비활성화됩니다. 이 환경설정의 값은 불리언 유형이며 기본값은
true
입니다. 확장 프로그램은 값을false
로 설정하여만 이러한 API를 사용 중지할 수 있습니다. 이러한 API를true
로 설정하려고 하면 오류가 발생합니다. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 이상사용 설정된 경우 Chrome은 요청과 함께 '추적 금지' (
DNT: 1
) 헤더를 전송합니다. 이 환경설정의 값은 불리언 유형이며 기본값은false
입니다. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 이상사용 중지하면 Fledge API가 비활성화됩니다. 이 환경설정의 값은 불리언 유형이며 기본값은
true
입니다. 확장 프로그램은 값을false
로 설정하여만 이 API를 사용 중지할 수 있습니다. 이 API를true
로 설정하려고 하면 오류가 발생합니다. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
사용 설정하면 Chrome은 웹사이트에서 요청할 때 감사 핑을 전송합니다 (
<a ping>
). 이 환경설정의 값은 불리언 유형이며 기본값은true
입니다. -
protectedContentEnabled
types.ChromeSetting<boolean>
Windows 및 ChromeOS에서만 사용 가능: 사용 설정하면 Chrome에서 보호된 콘텐츠를 실행하기 위해 플러그인에 고유 ID를 제공합니다. 이 환경설정의 값은 불리언 유형이며 기본값은
true
입니다. -
referrersEnabled
types.ChromeSetting<boolean>
사용 설정하면 Chrome에서 요청과 함께
referer
헤더를 전송합니다. 예, 이 환경설정의 이름이 잘못된 철자의 헤더와 일치하지 않습니다. 아니요. 변경하지 않을 예정입니다. 이 환경설정의 값은 불리언 유형이며 기본값은true
입니다. -
types.ChromeSetting<boolean>
Chrome 121 이상사용 중지하면 관련 웹사이트 세트가 비활성화됩니다. 이 환경설정의 값은 불리언 유형이며 기본값은
true
입니다. 확장 프로그램은 값을false
로 설정하여만 이 API를 사용 중지할 수 있습니다. 이 API를true
로 설정하려고 하면 오류가 발생합니다. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
사용 중지하면 Chrome에서 서드 파티 사이트가 쿠키를 설정하지 못하도록 차단합니다. 이 환경설정의 값은 불리언 유형이며 기본값은
true
입니다.**참고:**유효한 예외가 있거나 대신 Storage Access API를 사용하는 경우 개별 사이트는 이 API가
false
를 반환할 때도 서드 파티 쿠키에 계속 액세스할 수 있습니다. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 이상사용 중지하면 Topics API가 비활성화됩니다. 이 환경설정의 값은 불리언 유형이며 기본값은
true
입니다. 확장 프로그램은 값을false
로 설정하여만 이 API를 사용 중지할 수 있습니다. 이 API를true
로 설정하려고 하면 오류가 발생합니다.