Preparación de tu organización para las protecciones de datos del usuario en macOS 10.14

Este artículo explica las nuevas protecciones de datos del usuario en macOS Mojave 10.14 o posterior, que son gestionadas por el entorno de seguridad ampliada de Apple, Transparency Consent and Control (TCC). Las organizaciones pueden usar la gestión de dispositivos móviles (MDM) para gestionar a distancia estas preferencias de seguridad con la nueva carga útil «Control de políticas de preferencias de privacidad» de Apple en macOS 10.14 o posterior.

Nota:

A partir de Jamf Pro 10.9, puedes configurar el perfil «Control de políticas de preferencias de privacidad» como una carga útil independiente en perfiles de configuración de ordenadores. Esta carga útil te permite configurar ajustes para permitir o denegar el acceso a aplicaciones y servicios en el panel de preferencias Seguridad y privacidad del ordenador de destino.

Este artículo proporciona información sobre lo siguiente:
  • Nuevas protecciones de datos del usuario en macOS 10.14 o posteriorInformación sobre las nuevas protecciones de datos del usuario y sus implicaciones para los usuarios finales y los administradores de Jamf Pro
  • Preaprobación del entorno de gestión de JamfRequisitos y contenido del perfil «Control de políticas de preferencias de privacidad» instalado automáticamente y recursos para crear un perfil de configuración personalizado
  • Preaprobación de Apple Events (Eventos de Apple)Información para los administradores de Jamf Pro sobre el uso de scripts de Apple, que pueden tener que aprobar el entorno de gestión de Jamf para comunicarse con las aplicaciones y los servicios integrados mediante el servicio Apple Events (Eventos de Apple)

Nuevas protecciones de datos del usuario en macOS 10.14 o posterior

En macOS 10.14 o posterior, el acceso a algunos datos de aplicaciones del usuario requerirá la aprobación del usuario.

Los usuarios pueden preaprobar apps añadiéndolas a la nueva categoría «Acceso total al disco» del panel «Seguridad y privacidad» de Preferencias del Sistema. Al añadir apps, el usuario preaprueba el acceso a todos sus datos confidenciales y privados sin necesidad de que el sistema pida permiso. Para realizar este proceso en Preferencias del Sistema se requieren credenciales de administrador.

Las aprobaciones también se pueden gestionar a distancia en MDM con la nueva carga útil «Control de políticas de preferencias de privacidad» de macOS 10.14 o posterior.

Implicaciones para usuarios

En macOS 10.14 o posterior, las apps que intentan acceder a datos de apps y archivos protegidos pueden pedir permiso a los usuarios finales, que tienen las opciones «permitir» y «denegar». Si el desarrollador de apps añadió cadenas de finalidad al archivo Info.plist, explicando los motivos para solicitar el acceso a los datos, esa información también se indicará en la petición de permiso.

Las apps compiladas con versiones anteriores de Xcode pueden no mostrar una descripción de uso para la petición de permiso.

Implicaciones para administradores de Jamf Pro

Los administradores de Jamf Pro deben prepararse para los siguientes comportamientos en macOS 10.14 o posterior:

  • Algunas políticas ejecutadas desde Self Service pueden preguntar a los usuarios si permiten o deniegan la ejecución de «jamfAgent».

  • Algunas políticas ejecutadas desde Terminal pueden preguntar a los usuarios si permiten o deniegan la ejecución de «Terminal».

  • Algunas políticas ejecutadas en segundo plano por el Jamf binary pueden provocar un error. Estos fallos pueden comunicarse erróneamente como correctos.

Carga útil «Control de políticas de preferencias de privacidad»

Las organizaciones pueden usar la gestión de dispositivos móviles para gestionar a distancia preferencias de seguridad con la nueva carga útil «Control de políticas de preferencias de privacidad» de Apple en macOS 10.14 o posterior.

La carga útil «Control de políticas de preferencias de privacidad» controla las siguientes claves de diccionario de servicios de privacidad.
  • AddressBook

  • Calendar

  • Reminders

  • Fotos

  • Camera

  • Microphone

  • Accesibilidad

  • PostEvent

  • SystemPolicyAllFiles

  • SystemPolicySysAdminFiles

  • AppleEvents

Para permitir o denegar que una app o un binario acceda a una de las claves de diccionario de servicios de privacidad anteriores, puedes crear una carga útil que incluya lo siguiente:
Clave de diccionarioDescripción

Identificador

Un valor identificativo único para la app o servicio. Usa un ID de paquete para apps o una ruta de instalación del binario.

Tipo de identificador

Debe ser el ID de paquete o la ruta del archivo, en función de si se trata de un paquete de aplicaciones o del binario.

Requisito de código

Un valor único basado en el certificado de desarrollador usado para firmar la app o servicio. Este valor se obtiene con el comando codesign – display -r -

Código estático

Opcional: Si una app ya se ha definido como Allow=True con los servicios mostrados usando el /usr/bin/log pero sigue activando mensajes, puede que sea necesario definir este valor como verdadero. Si se define como verdadero, valida estáticamente el requisito de código de la app o el servicio en el disco. Si se define como falso, comprueba la app en la memoria mientras se ejecuta. Esto solo se usa si el proceso invalida su firma de código dinámico. El ajuste por omisión es falso.

Permitido

Booleano: Si se define como true (verdadero), el acceso se concede. Si se define como false (falso), el acceso se deniega. Un valor falso invalida un valor definido anteriormente por un usuario en Preferencias del Sistema.

Requisitos de firma de código e identificadores de paquete
Los administradores de Jamf Pro que creen un perfil de configuración personalizado deben incluir el requisito de firma de código y el ID de paquete para una app para permitir el acceso a datos de usuario protegidos. Puedes obtener el requisito de firma de código y el identificador del paquete (si hace falta) ejecutando los siguientes comandos de codesign:
codesign -dr - /Applications/Application.ap
codesign -dr - /path/to/binary
Consulta ejemplos en la siguiente tabla:
EntradaSalida
codesign -dr - /usr/local/bin/jamf

Executable=/usr/local/jamf/bin/jamf designated => identifier "com.jamfsoftware.jamf" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] / exists / and certificate leaf[field.1.2.840.113635.100.6.1.13] / exists / and certificate leaf[subject.OU] = "483DWKW443"

codesign -dr - /Library/Application\ Support/JAMF/Jamf.app

Executable=/Library/Application Support/JAMF/Jamf.app/Contents/MacOS/Jamf designated => identifier "com.jamf.management.Jamf" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] / exists / and certificate leaf[field.1.2.840.113635.100.6.1.13] / exists / and certificate leaf[subject.OU] = "483DWKW443"

Usa lo siguiente como firma de código:

"identifier "com.jamfsoftware.jamf" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] / exists / and certificate leaf[field.1.2.840.113635.100.6.1.13] / exists / and certificate leaf[subject.OU] = "483DWKW443" " 
Nota: Si el desarrollador de apps cambia su certificado de firma de código, el perfil existente será invalidado y requerirá un nuevo perfil con la nueva firma de código.
Identificación de procesos y apps que intentan acceder a datos

Para identificar la app o binario para los que intentas permitir el acceso a los datos, ejecuta el siguiente comando:

/usr/bin/log stream --debug --predicate 'subsystem == "com.apple.TCC" AND eventMessage BEGINSWITH "AttributionChain"'
Para consultar los accesos a datos solicitados previamente, ejecuta el siguiente comando:
/usr/bin/log show --predicate 'subsystem == "com.apple.TCC"' | grep Prompting

Preaprobación del entorno de gestión de Jamf

Los administradores de Jamf Pro pueden preaprobar el entorno de gestión de Jamf con el perfil de configuración «Control de políticas de preferencias de privacidad». Este perfil se puede instalar automáticamente en Jamf Pro 10.7.1 o posterior.

Los administradores de Jamf Pro también pueden crear su propio perfil de configuración con la información del panel «Control de políticas de preferencias de privacidad» de un perfil de configuración para ordenadores.

Requisitos generales

Para instalar el perfil «Control de políticas de preferencias de privacidad» en ordenadores, se deben cumplir los siguientes requisitos:
  • MDM aprobado por usuario

  • Ordenadores de destino con macOS 10.14 o posterior

  • Notificaciones push activadas

Si la instalación es denegada por un sistema que no tiene MDM aprobado por el usuario, el perfil permanecerá en cola e intentará reinstalarse automáticamente cuando el ordenador adquiera el estado de MDM aprobado por el usuario. Si quieres más información sobre MDM aprobado por el usuario y Jamf Pro, consulta el artículo https://docs.jamf.com/technical-articles/index.html?contextId=499.

Nota:

Si tu organización solo usa jamf binary sin MDM aprobado por el usuario para la gestión, no se podrá instalar este perfil de configuración usando el comando profiles o haciendo clic manualmente en el perfil. Se debe enviar por MDM desde un servidor con estado de MDM aprobado por el usuario.

Contenido del perfil «Control de políticas de preferencias de privacidad»

Para aprobar el entorno de gestión de Jamf con macOS 10.14 o posterior, se deben aprobar las siguientes tres apps y procesos con el servicio Systems Policy All Files (Todos los archivos de políticas de sistemas):
  • jamf agent

  • jamf binary

  • jamf.app

El siguiente archivo .mobileconfig aprobará estas apps y procesos, y se trata del mismo perfil de configuración que se instalará automáticamente en los ordenadores con macOS 10.14 o posterior y Jamf Pro 10.7.1 o posterior.
Nota:

Si se instalan varias cargas útiles de este tipo, se usan los ajustes más restrictivos de dichas cargas.

<key>Services</key>
                        <dict>
                                <key>SystemPolicyAllFiles</key>
                                <array>
                                        <dict>
                                                <key>Comment</key>
                                                <string>Allow jamfAgent to access all files</string>
                                                <key>Identifier</key>
                                                <string>/usr/local/jamf/bin/jamfAgent</string>
                                                <key>IdentifierType</key>
                                                <string>path</string>
                                                <key>Allowed</key>
                                                <true/>
                                                <key>CodeRequirement</key>
                                                <string>identifier "com.jamfsoftware.jamfAgent" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "483DWKW443"</string>
                                        </dict>
                                        <dict>
                                                <key>Comment</key>
                                                <string>Allow jamf binary to access all files</string>
                                                <key>Identifier</key>
                                                <string>/usr/local/jamf/bin/jamf</string>
                                                <key>IdentifierType</key>
                                                <string>path</string>
                                                <key>Allowed</key>
                                                <true/>
                                                <key>CodeRequirement</key>
                                                <string>identifier "com.jamfsoftware.jamf" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "483DWKW443"</string>
                                        </dict>
                                        <dict>
                                                <key>Comment</key>
                                                <string>Allow Jamf.app access to all files</string>
                                                <key>Identifier</key>
                                                <string>com.jamf.management.Jamf</string>
                                                <key>IdentifierType</key>
                                                <string>bundleID</string>
                                                <key>Allowed</key>
                                                <true/>
                                                <key>CodeRequirement</key>
                                                <string>identifier "com.jamf.management.Jamf" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "483DWKW443"</string>
                                        </dict>
                                </array>
                        </dict>

Instalación automática del perfil «Control de políticas de preferencias de privacidad»

Un perfil de configuración que preaprueba el entorno de gestión de Jamf se instalará automáticamente en Jamf Pro 10.7.1 o posterior. La opción Instalar automáticamente un perfil «Control de políticas de preferencias de privacidad» (macOS 10.14 o posterior) está activada por omisión en los ajustes de Seguridad al actualizar a Jamf Pro 10.7.1 o posterior. Para acceder a esta prestación, navega a Ajustes > Gestión de ordenadores > Seguridad.

Con esta opción activada en los ajustes de Seguridad, Jamf Pro 10.7.1 o posterior recopilará automáticamente la versión de macOS de los ordenadores gestionados al iniciar la sesión. Esto permite a Jamf Pro detectar inmediatamente cuando un ordenador se ha actualizado a macOS 10.14 o posterior e iniciar la instalación del perfil «Control de políticas de preferencias de privacidad». Esta detección automática de la versión de SO al iniciar la sesión solo se aplica cuando se instala automáticamente el perfil usando la opción en los ajustes de Seguridad. Esto no se aplica al implementar manualmente un perfil de configuración personalizado.

Creación de un perfil de configuración personalizado

A partir de Jamf Pro 10.9, puedes configurar el perfil «Control de políticas de preferencias de privacidad» como una carga útil independiente en perfiles de configuración de ordenadores. Esta carga útil te permite configurar ajustes para permitir o denegar el acceso a aplicaciones y servicios en el panel de preferencias Seguridad y privacidad del ordenador de destino. Para acceder a estos ajustes, navega a Ordenadores > Perfiles de configuración y usa la carga útil «Control de políticas de preferencias de privacidad» para gestionar estos ajustes.
Nota:

Si el perfil de configuración se ha implementado manualmente en un ordenador con macOS 10.13 o anterior, el perfil de configuración no se respetará cuando el ordenador se actualice a macOS 10.14. Será necesario volver a implementar el perfil de configuración después de actualizar a macOS 10.14 o posterior.

Preaprobación de Apple Events (Eventos de Apple)

Los administradores de Jamf Pro que usen procesos de AppleScript que requieran la interacción del usuario pueden tener que aprobar el entorno de gestión dse Jamf para que se comunique con aplicaciones y servicios integrados usando el servicio Apple Events (Eventos de Apple) en la carga útil «Control de políticas de preferencias de privacidad». Para usar el servicio restringido Apple Events (Eventos de Apple), los administradores de Jamf Pro deben proporcionar el tipo de identificador y el requisito de código para las aplicaciones emisora y receptora.

Entre los servicios y apps integrados habituales que reciben el servicio restringido Apple Events (Eventos de Apple) necesario para la interacción del usuario se incluyen los siguientes:
Eventos del sistema:
  • Identificador del receptor: com.apple.systemevents
  • Tipo de identificador del receptor: ID de paquete
  • Requisito de código del receptor: Identificador «com.apple.systemevents» y delimitador apple
SystemUIServer:
  • Identificador del receptor: com.apple.systemuiserver
  • Tipo de identificador del receptor: ID de paquete
  • Requisito de código del receptor: Identificador «com.apple.systemuiserver» y delimitador apple
Finder:
  • Identificador del receptor: com.apple.finder
  • Tipo de identificador del receptor: ID de paquete
  • Requisito de código del receptor: Identificador «com.apple.finder» y delimitador apple

Puedes descargar en el siguiente repositorio GitHub de Jamf un perfil de configuración predefinido para aprobar la interacción entre el entorno de gestión de Jamf y estos tres servicios de Apple: https://github.com/jamf/JamfPrivacyPreferencePolicyControlProfiles. Carga el perfil de configuración en Jamf Pro 10.7.1 o posterior.

Nota:

Puedes cargar este perfil en Jamf Pro sin firmar, y generará automáticamente los valores de «Payload UUID» (UUID de carga útil).

Además, una app de código abierto creada por Jamf para la comunidad de Apple puede ayudar con los requisitos de identificación necesarios para permitir que las apps funcionen con el entorno de «Control de políticas de preferencias de privacidad». Esta app también está disponible en el repositorio GitHub de Jamf: https://github.com/jamf/PPPC-Utility.

Nota:

Puedes cargar la carga útil «Control de políticas de preferencias de privacidad» sin firmar en Jamf Pro usando la API.