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é :
Filtrez toutes les règles qui ne s'appliquent pas à l'utilisateur.
Excluez les règles qui ne contiennent pas le paramètre.
Filtrez les règles qui s'appliquent à l'UO dans laquelle l'utilisateur cible ne se trouve pas.
Filtrez les règles qui s'appliquent au groupe auquel l'utilisateur cible n'appartient pas.
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.
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 :
|
| enable_webhooks | true dans les SKU EDU, false dans les SKU non EDU. SKU EDU :
|
|
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
|