안전 센터 개요

이 페이지에서는 Android의 보안 및 개인 정보 보호 설정과 안전 센터를 통해 이 설정(구조, 통합, 맞춤설정 등)에 액세스하는 방법을 설명합니다.

Android 13부터 안전 센터에서는 보안 및 개인 정보 보호 항목을 단일 페이지인 보안 및 개인 정보 보호로 결합합니다. 안전 센터는 빠른 설정 타일에서도 액세스할 수 있습니다.

안전 센터에서는 사용자가 특정 보안 및 개인 정보 보호 설정에 액세스할 수 있도록 리디렉션 항목을 제공합니다. 또한 안전 센터는 여러 소스에서 수신된 동적 데이터를 결합하여 사용자가 기기나 계정에서 해결할 수 있는 문제를 식별합니다. 이 데이터는 특정 권장사항이 있는 일반적인 안전 상태를 사용자에게 제공합니다.

보안 및 개인정보 보호 설정 보안 및 개인정보 보호 설정

그림 1. 안전 센터 화면

통합 요구사항 및 가이드라인

  • Android 13 및 메인라인 M-2022-11 이상
  • 안전 센터를 사용 설정하는 Android 프레임워크 구성 파일:
  • 서버 측 요구사항(Android 13에만 적용):

    • DeviceConfig 플래그 safety_center_is_enabledtrue로 설정됩니다(Android 14부터 기본값 true).

가이드라인

  • 안전 센터를 구현하지 않는 GMS OEM은 config.xml 파일의 오버레이 가능한 config_enableSafetyCenter 필드를 false(기본값은 true)로 설정하여 선택 해제할 수 있습니다. 자세한 내용은 안전 센터 사용 설정 또는 사용 중지를 참고하세요.
  • Android 13에서 잠금 화면 통합에 발생하는 버그를 방지하려면 PendingIntent 정보PendingIntent 해결 방법을 참고하세요. Android 14나 Android 13 QPR에서는 문제가 해결되었으므로 이 작업이 필요하지 않습니다.

안전 센터와 통합

  1. 기기에서 안전 센터를 사용 설정합니다.
  2. (선택사항) 안전 센터 구성 파일을 수정하여 데이터가 제공되는 방식을 변경합니다. 구성 파일 업데이트를 참고하세요. 구성 파일 변경은 맞춤설정 요구사항을 충족해야 하고 수정사항에 엄격한 제약 조건을 적용하는 GTS 테스트로 테스트해야 합니다.
  3. (선택사항) 설정 앱을 수정하여 보안 및 개인 정보 보호 항목을 추가하거나 변경합니다.
  4. 안전 소스 지원을 추가하거나 변경하여 안전 센터가 잠금 화면이나 생체 인식(지원되는 경우)과 같은 신호로 작동하도록 합니다. 이렇게 하려면 설정 앱을 일부 변경하여 이를 올바르게 구현해야 합니다. 구성 파일에서 설정 패키지 이름을 적절한 이름으로 변경하거나 설정 앱에서 안전 센터 소스 API를 사용하는 것을 예로 들 수 있습니다.
  5. (선택사항) 테마와 패딩, 기타 기능을 오버레이하여 안전 센터 UI를 맞춤설정합니다.
  6. 연결된 GTS 및 CTS 테스트를 실행하고 통과합니다.
  7. 13에서 서버 측 허용 목록을 위해 기기 지문을 제출했는지 확인합니다. 14에서는 이 작업을 하지 않아도 됩니다.

안전 센터 소스

안전 센터 소스는 안전 센터에 데이터를 제공합니다. 소스는 일반적으로 기기의 별도 앱에서 소유합니다. 현재는 시스템 앱만 안전 소스로 허용됩니다. 서드 파티 앱은 안전 소스가 아닙니다.

다음은 안전 센터 소스 예입니다.

  • 잠금 화면
  • 생체 인식
  • 보안 업데이트
  • 내 기기 찾기
  • Google Play 프로텍트
  • Google 계정 보안 진단
  • 개인 정보 보호 신호

안전 센터 소스는 다음 유형의 데이터를 제공할 수 있습니다.

  • 사용자를 다른 화면으로 리디렉션하는 안전 센터 UI의 항목. 이 항목에는 사용자가 위험에 처해있는지 나타내는 상태 및 상태와 연결된 추가 메타데이터(예: 제목, 요약)가 있습니다.
  • 안전 센터에서 직접 해결하거나 사용자를 다른 화면으로 리디렉션하여 해결할 수 있는 경고 카드(문제라고도 함). 각 문제에도 제목, 요약, 버튼 라벨, 작업 등 연결된 추가 메타데이터가 있습니다.
  • 안전 센터에 데이터를 제공하려고 할 때 발생할 수 있는 오류
  • 소스에서 안전 센터에 데이터를 전송하는 이유

구성 파일

안전 센터 소스는 허용 목록 역할을 하는 구성 파일에 나열됩니다. 또한 이 파일은 각 UI 항목의 기본 데이터를 제공합니다. 구성 파일은 안전 센터 상태나 문제(정적 안전 소스라고도 함)에 영향을 미칠 수 없는 정적 리디렉션 항목을 지정할 수 있습니다. 자세한 내용은 구성 파일 업데이트를 참고하세요.

Mainline 모듈

안전 센터는 주로 PermissionController 메인라인 모듈의 일부이므로 Google에서는 메인라인을 지원하는 GMS OEM 기기의 메인라인 업데이트의 일부로 이 기능을 업데이트할 수 있습니다.

비 GMS OEM 기기 및 메인라인을 지원하지 않는 GMS OEM 기기는 이 기능이 시스템 이미지에 포함된 경우 안전 센터를 사용할 수 있습니다. 그러나 M-2022-11 이상의 코드를 사용해야 합니다. 요구사항은 안전 센터 사용 설정 또는 사용 중지를 참고하세요.

안전 센터 API

안전 센터 API는 Java로 작성되며 이 페이지의 코드 샘플도 Java로 작성되어 있습니다. 그러나 Kotlin은 Java와 상호 운용될 수 있으므로 안전 센터 API를 Kotlin에서도 사용할 수 있습니다. 안전 센터와 상호작용하는 PermissionController 시스템 앱의 여러 부분이 Kotlin으로 작성되어 있습니다.

API를 사용하여 안전 센터와 상호작용할 수 있습니다. 이러한 API는 주로 System API인 SafetyCenterManager를 통해 액세스할 수 있습니다. 자세한 내용은 안전 센터와 상호작용을 참고하세요.

인텐트 작업 및 추가 항목

Android 13부터 공개 인텐트 작업(서드 파티 앱에서 액세스 가능)이 Intent 클래스에서 정의되어 안전 센터로 리디렉션됩니다.

추가 작업 및 추가 항목은 SafetyCenterManager에서 정의되고 특정 문제로의 리디렉션 등을 허용하도록 시스템 앱에서만 액세스할 수 있습니다.

안전 센터 지원 API

SafetyCenterManager는 안전 센터가 기기에서 사용 설정되어 있는지 여부를 반환하는 API를 노출합니다. API는 기기에 올바른 메인라인 모듈 버전이 설치되어 있는지 등 기기가 안전 센터 요구사항을 충족하는지 확인합니다. 이 확인은 안전 센터가 설정 및 다른 위치에 표시되는지 확인하는 데 사용됩니다. 데이터를 안전 센터에 제공해야 하는지 결정하는 데도 사용됩니다. 안전 센터를 사용 설정 또는 사용 중지하는 방법에 관한 자세한 내용은 안전 센터 사용 설정 또는 사용 중지를 참고하세요.

안전 센터 소스 API

안전 센터 소스는 안전 센터 소스 API를 사용하여 동적 데이터를 안전 센터에 제공합니다. 안전 센터 소스 API는 다음 기능을 실행합니다.

  • 지정된 안전 센터 소스의 데이터를 설정합니다
  • 지정된 안전 센터 소스의 최신 데이터 세트를 가져옵니다.
  • 지정된 안전 센터 소스의 오류를 신고합니다.

안전 센터 소스는 안전 센터 페이지가 열릴 때 등 특별한 경우에 안전 센터에 데이터를 전송하는 신호를 받도록 선택하여 제공된 데이터가 최신인지 확인할 수 있습니다.

내부 안전 센터 API

일부 안전 센터 API는 내부용이며 셸 및 테스트를 제외하고 PermissionController 메인라인 모듈에서만 사용됩니다. 기술적인 이유로 이러한 API는 숨겨지지 않으며 SafetyCenterManager에 의해 노출됩니다.

안전 센터 API는 다음 기능을 실행합니다.

  • 안전 센터 소스에 신호를 보내 데이터를 새로고침합니다.
  • 구성 파일의 표현을 가져옵니다.
  • 여러 안전 센터 소스에서 병합된 데이터를 가져옵니다.
  • 데이터 변경사항을 구독하거나 구독 취소합니다.
  • 경고 카드를 닫습니다.
  • 경고 카드 작업을 실행합니다.

테스트 API

SafetyCenterManager에는 테스트에 사용되는 안전 센터 테스트 API가 포함되어 있습니다.

안전 센터 테스트 API는 다음 작업을 할 수 있습니다.

  • 안전 센터에서 저장한 모든 데이터를 삭제합니다.
  • 구성 파일을 재정의하고 재정의를 삭제합니다.

셸 명령어

일부 셸 명령어는 Android 디버그 브리지 셸(adb shell)을 통해 안전 센터와 상호작용하기 위해 제공됩니다. adb shell cmd safety_center help를 사용하여 명령어 목록과 할 수 있는 작업을 확인하세요.

안전 센터 사용자 인터페이스

안전 센터 사용자 인터페이스는 PermissionController 모듈 내 PermissionController 시스템 앱에서 정의됩니다. UI는 내부 안전 센터 API에 설명된 API를 사용하는 활동 및 여러 프래그먼트로 구성됩니다. 안전 센터에서 노출되는 빠른 설정 타일은 배치 방식이 약간 변경된 동일한 UI 구성요소를 사용합니다.

이 페이지의 디자인과 분위기는 오버레이를 사용하여 변경할 수 있습니다. 자세한 내용은 안전 센터 UI 맞춤설정을 참고하세요.