Concepts de l'API Policy

Cette documentation décrit les concepts et les stratégies de l'API Cloud Identity Policy.

Réduction

Pour lister et obtenir des règles, consultez Configurer l'API Policy et Lister et obtenir des règles.

Terminologie

  • Valeur du paramètre : valeurs des paramètres fournies dans la règle

  • Valeur de paramètre réduite : valeurs de paramètre finales appliquées à une cible, telle qu'un utilisateur, une unité organisationnelle ou un groupe.

  • Réduction : processus de réduction des valeurs de paramètre des règles à une seule valeur de paramètre pour une cible, telle qu'un utilisateur, une unité organisationnelle ou un groupe.

  • Réducteur : type de règles qui déterminent comment les valeurs de paramètre des règles sont simplifiées en un seul paramètre pour un utilisateur.

  • Règles d'administration : règles créées par les administrateurs dans la console d'administration

  • Règles système : règles fournies par Google Workspace

Processus de réduction

Pour réduire un paramètre donné pour un utilisateur donné :

  1. Filtrez toutes les règles qui ne s'appliquent pas à l'utilisateur.

    1. Excluez les règles qui ne contiennent pas le paramètre.

    2. Filtrez les règles qui s'appliquent à l'UO dans laquelle l'utilisateur cible ne se trouve pas.

    3. Filtrez les règles qui s'appliquent au groupe auquel l'utilisateur cible n'appartient pas.

    4. Filtrer les règles qui s'appliquent à la licence que l'utilisateur cible ne possède pas. Pour en savoir plus sur les licences, consultez la section Licences.

  2. Appliquez le réducteur du paramètre donné.

    • Max : pour chaque champ du paramètre réduit, le réducteur Max choisit la valeur de la règle avec le sortOrder le plus élevé.

    • Fusion : pour chaque champ du paramètre réduit, le réducteur de fusion choisit la valeur de la règle avec le sortOrder le plus élevé qui possède une valeur pour ce champ. Si le champ est un tableau, le réducteur de fusion concatène les valeurs de toutes les règles.

    • MaxMap : le réducteur MaxMap est utilisé pour les paramètres où les entrées de tableau ont un champ qui fonctionne comme une clé primaire. Le réducteur MaxMap ne concatène pas les entrées de tableau avec la même clé primaire. Au lieu de cela, elle met à jour l'entrée à l'aide du réducteur Max sur les autres champs des entrées de tableau qui partagent la même clé primaire.

    • MergeMap : le réducteur MergeMap est utilisé pour les paramètres où les entrées de tableau ont un champ qui fonctionne comme une clé primaire. Le réducteur MergeMap ne concatène pas les entrées de tableau avec la même clé primaire. Au lieu de cela, il met à jour l'entrée à l'aide du réducteur de fusion sur les autres champs des entrées de tableau qui partagent la même clé primaire.

    • Liste : ces paramètres ne sont pas réduits à un seul paramètre. Au lieu de cela, l'intégralité de la séquence de paramètres est conservée et appliquée sous forme de liste.

Réducteurs pour les paramètres

Nom du paramètre Reducer
api_controls.custom_user_message Max
api_controls.google_services MaxMap
api_controls.internal_apps Max
api_controls.unconfigured_third_party_apps Fusionner
calendar.appointment_schedules Max
calendar.external_invitations Max
calendar.interoperability Fusionner
calendar.primary_calendar_max_allowed_external_sharing Fusionner
calendar.secondary_calendar_max_allowed_external_sharing Fusionner
chat.chat_apps_access Max
chat.chat_file_sharing Max
chat.chat_history Fusionner
chat.external_chat_restriction Fusionner
chat.space_history Max
classroom.api_data_access Max
classroom.class_membership Max
classroom.guardian_access Max
classroom.originality_reports Max
classroom.roster_import Max
classroom.student_unenrollment Max
classroom.teacher_permissions Max
cloud_sharing_options.cloud_data_sharing Max
detector.regular_expression Liste
detector.word_list Liste
drive_and_docs.drive_for_desktop Max
drive_and_docs.drive_sdk Fusionner
drive_and_docs.external_sharing Max
drive_and_docs.file_security_update Max
drive_and_docs.general_access_default Max
drive_and_docs.shared_drive_creation Max
gmail.attachment_compliance MaxMap
gmail.auto_forwarding Max
gmail.blocked_sender_lists MaxMap
gmail.comprehensive_mail_storage Max
gmail.confidential_mode Max
gmail.content_compliance MaxMap
gmail.email_address_lists MaxMap
gmail.email_attachment_safety Max
gmail.email_image_proxy_bypass Fusionner
gmail.email_spam_filter_ip_allowlist Max
gmail.enhanced_pre_delivery_message_scanning Max
gmail.enhanced_smime_encryption Max
gmail.imap_access Fusionner
gmail.links_and_external_images Max
gmail.mail_delegation Fusionner
gmail.name_format Fusionner
gmail.objectionable_content MaxMap
gmail.per_user_outbound_gateway Max
gmail.pop_access Max
gmail.rule_states MaxMap
gmail.spam_override_lists MaxMap
gmail.spoofing_and_authentication Max
gmail.user_email_uploads Max
gmail.workspace_sync_for_outlook Max
groups_for_business.groups_sharing Fusionner
meet.safety_access Max
meet.safety_domain Max
meet.safety_external_participants Max
meet.safety_host_management Max
meet.video_recording Max
rule.dlp Liste
rule.system_defined_alerts Liste
security.advanced_protection_program Max
security.less_secure_apps Fusionner
security.login_challenges Max
security.password Max
security.session_controls Max
security.super_admin_account_recovery Fusionner
security.two_step_verification_device_trust Max
security.two_step_verification_enforcement Max
security.two_step_verification_enforcement_factor Max
security.two_step_verification_enrollment Max
security.two_step_verification_grace_period Max
security.two_step_verification_sign_in_code Max
security.user_account_recovery Fusionner
SERVICE_STATUS_APP_NAME.service_status Max
sites.sites_creation_and_modification Max
user_takeout Max
workspace_marketplace.apps_access_options Fusionner
workspace_marketplace.apps_allowlist MergeMap (clé primaire : application_id)

Licences

Les règles s'appliquent aux utilisateurs en fonction de leurs licences Workspace. La condition de licence est fournie dans PolicyQuery.

Pour obtenir la liste complète des ID de SKU et de produit Workspace, consultez ID de SKU et de produit Google.

Les exemples suivants montrent comment appliquer des règles à certains groupes d'utilisateurs en fonction de leurs licences.

Exemple 1 : Clause normale uniquement

entity.licenses.exists(license, license in ['/product/Google-Apps/sku/1010020027'])

La règle s'applique à un utilisateur s'il dispose d'une licence pour au moins l'un des SKU de la liste.

Exemple 2 : Clause normale et clause inversée

entity.licenses.exists(license, license in ['/product/Google-Apps/sku/1010020027']) && !entity.licenses.exists(license, license in ['/product/Google-Apps/sku/1010060005'])

La règle s'applique à un utilisateur s'il dispose d'une licence pour au moins l'un des SKU de la première clause. Toutefois, si un utilisateur dispose d'une licence pour l'un des SKU de la deuxième clause, la règle ne s'applique pas du tout à cet utilisateur.

Exemple 3 : Clause inversée uniquement

!entity.licenses.exists(license, license in ['/product/Google-Apps/sku/1010060005'])

La règle s'applique à un utilisateur s'il ne dispose d'aucune licence pour les SKU de la liste.

Valeurs par défaut des champs

Lorsqu'un champ n'est pas présent dans le paramètre réduit, sa valeur par défaut est la suivante :

Nom du paramètre Champ Valeur de champ par défaut
api_controls.google_services services [] (liste vide)
calendar.external_invitations warn_on_invite true
calendar.interoperability enable_interoperability false
calendar.primary_calendar_max_allowed_external_sharing max_allowed_external_sharing EXTERNAL_FREE_BUSY_ONLY
calendar.secondary_calendar_max_allowed_external_sharing max_allowed_external_sharing EXTERNAL_ALL_INFO_READ_ONLY
chat.chat_apps_access enable_apps true dans les SKU EDU, false dans les SKU non EDU. SKU EDU :
  • /product/Google-Apps/sku/Google-Apps-For-Education
  • /product/Google-Apps/sku/1010310002
  • /product/Google-Apps/sku/1010310003
  • /product/Google-Apps/sku/1010310005
  • /product/Google-Apps/sku/1010310006
  • /product/Google-Apps/sku/1010310007
  • /product/Google-Apps/sku/1010310008
  • /product/Google-Apps/sku/1010310009
  • /product/Google-Apps/sku/1010310010
  • /product/Google-Apps/sku/1010460001
  • /product/Google-Apps/sku/1010460002
enable_webhooks true dans les SKU EDU, false dans les SKU non EDU. SKU EDU :
  • /product/Google-Apps/sku/Google-Apps-For-Education
  • /product/Google-Apps/sku/1010310002
  • /product/Google-Apps/sku/1010310003
  • /product/Google-Apps/sku/1010310005
  • /product/Google-Apps/sku/1010310006
  • /product/Google-Apps/sku/1010310007
  • /product/Google-Apps/sku/1010310008
  • /product/Google-Apps/sku/1010310009
  • /product/Google-Apps/sku/1010310010
  • /product/Google-Apps/sku/1010460001
  • /product/Google-Apps/sku/1010460002
chat.chat_history enable_chat_history false
history_on_by_default false
allow_user_modification true
chat.external_chat_restriction allow_external_chat false
external_chat_restriction NO_RESTRICTION
chat.chat_and_space_restrictions restriction_level UNRESTRICTED
devices.android_available_apps playstore_installable_apps ALL
devices.android_verify_apps turnoff_google_play_protect_allowed false
devices.android_developer_options Autorisés false
devices.android_work_data_sync Autorisés true
devices.android_work_profile_sharing Autorisés false
devices.ios_apple_watch no_wrist_detection_usage_allowed true
devices.ios_backup_encryption required false
devices.ios_data_actions external_data_sharing_allowed true
work_data_operation_type.non_workspace_apps_copy_paste_allowed true
work_data_operation_type.non_workspace_apps_sharing_allowed true
work_data_operation_type.personal_accounts_sharing_allowed true
work_data_operation_type.airdrop_sharing_allowed true
work_data_operation_type.files_printing_allowed true
work_data_operation_type.files_access_allowed true
work_data_operation_type.images_videos_saving_allowed true
work_data_operation_type.contacts_items_assignment_allowed true
devices.ios_handoff Autorisés true
devices.ios_icloud_backup Autorisés true
devices.ios_lock_screen_control_center Autorisés true
devices.ios_lock_screen_notifications_view Autorisés true
devices.ios_safari_secure_browsing fraudulent_website_warning_enforced true
devices.android_google_play_private_apps access_allowed false
publish_and_update_allowed false
devices.android_screen_capture Autorisés true
devices.compromised_devices compromised_android_devices_blocked false
jailbroken_ios_devices_blocked false
devices.encryption device_encryption_option NOT_REQUIRED
devices.ios_icloud_storage managed_apps_sync_allowed true
devices.ios_screen_capture Autorisés true
devices.ios_keychain_sync icloud_sync_allowed true
devices.ios_document_sync icloud_data_sync_allowed true
devices.android_location_sharing Autorisés true
devices.android_apps_settings modification_allowed true
devices.android_trust_agents smart_lock_allowed true
devices.android_lock_screen_notifications Autorisés true
devices.android_lock_screen_notification_details Autorisés true
devices.android_unknown_source_apps work_profile_installation_allowed false
personal_profile_installation_allowed true
directory.external_directory_sharing sharing_option ORGANIZATION_DIRECTORY_DATA
drive_and_docs.drive_sdk enable_drive_sdk_api_access true
drive_and_docs.external_sharing external_sharing_mode ALLOWED
allow_receiving_external_files true
warn_for_sharing_outside_allowlisted_domains true
allow_non_google_invites_in_allowlisted_domains false
allow_receiving_files_outside_allowlisted_domains true
warn_for_external_sharing true
allow_non_google_invites true
allow_publishing_files true
access_checker_suggestions RECIPIENTS_OR_AUDIENCE_OR_PUBLIC
allowed_parties_for_distributing_content ALL_ELIGIBLE_USERS
drive_and_docs.general_access_default default_file_access LINK_SHARING_PRIVATE
gmail.auto_forwarding enable_auto_forwarding true
gmail.email_image_proxy_bypass image_proxy_bypass_pattern [] (liste vide)
enable_image_proxy true
gmail.email_spam_filter_ip_allowlist allowed_ip_addresses [] (liste vide)
gmail.links_and_external_images apply_future_settings_automatically true
enable_aggressive_warnings_on_untrusted_links false
gmail.mail_delegation enable_mail_delegation false
gmail.smime_encryption enable_smime_encryption STATUS_DISABLED
allow_sha1_globally_in_smime_signature false
gmail.spoofing_and_authentication apply_future_settings_automatically true
gmail.user_email_uploads enable_mail_and_contacts_import false
gmail.workspace_sync_for_outlook enable_google_workspace_sync_for_microsoft_outlook true
gmail.external_recipient_warning activé true
groups_for_business.groups_sharing collaboration_capability DOMAIN_USERS_ONLY
create_groups_access_level USERS_IN_DOMAIN
view_topics_default_access_level DOMAIN_USERS
owners_can_allow_external_members false
owners_can_allow_incoming_mail_from_public true
owners_can_hide_groups false
new_groups_are_hidden false
security.less_secure_apps allow_less_secure_apps false
security.password allowed_strength STRONG
minimum_length 8
maximum_length 100
enforce_requirements_at_login false
allow_reuse false
expiration_duration 0
security.super_admin_account_recovery enable_account_recovery false
security.two_step_verification_device_trust allow_trusting_device true
security.two_step_verification_enforcement enforced_from Non défini
security.two_step_verification_enforcement_factor allowed_sign_in_factor_set ALL
security.two_step_verification_enrollment allow_enrollment true
security.two_step_verification_grace_period enrollment_grace_period 0s
security.user_account_recovery enable_account_recovery false
workspace_marketplace.apps_access_options access_level Pour les clients de l'enseignement primaire et secondaire : ALLOW_NONE Sinon : ALLOW_ALL
allow_all_internal_apps false
workspace_marketplace.apps_allowlist Workspace [] (liste vide)

Groupes système

Les groupes système Google sont des groupes qui ne sont pas exposés dans l'API Groups et qui sont associés à des règles système. Contrairement aux autres ID de groupe, leurs ID de groupe ne sont pas précédés du préfixe groups/. Le tableau suivant liste ces groupes et les utilisateurs qui en font partie.

GroupId Utilisateurs faisant partie de ce groupe
WORKSPACE_ALL_ADMIN_GROUP Tous les administrateurs.
UNCONSENTED_CHILD_GROUP Utilisateurs EDU désignés comme ayant moins de 18 ans pour lesquels l'autorisation parentale n'a pas été confirmée pour un ou plusieurs services supplémentaires.

Licences SKU non compatibles

Les SKU qui ne sont pas compatibles avec l'API License Manager ne sont pas présents au format standard :

entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}'])

À la place, elles sont représentées par un espace réservé dans la chaîne de requête :

entity.licenses.exists(license, license in ['{placeholder}'])

Exemple :

entity.licenses.exists(license, license in ['CHROMEBOOK-SOFTWARE'])

Le tableau suivant liste ces SKU et leurs espaces réservés correspondants.

Nom du produit Identifiant produit SKU ID Placeholder
Logiciel Chromebook Google-Chrome-Device-Management Google-Chrome-Device-Management-Perpetual CHROMEBOOK-SOFTWARE
Google-Chrome-Device-Management
Chrome-Active-Directory
Cloud Identity 101001 1010010001 GOOGLE-IDENTITY