Settings available in the API
This document describes the settings that the Policy API supports.
If the supported settings are missing from the Cloud Identity Policy API response, see Default field values . If the missing setting is not mentioned in Default field values , contact Cloud Customer Care .
API Controls
api_controls.custom_user_message
api_controls.unconfigured_third_party_apps
Select what happens when users try to access unconfigured third-party apps with their account.
-
ACCESS_LEVEL_UNSPECIFIED -
BLOCK_ALL -
ALLOW_SIGN_IN_ONLY
api_controls.unconfigured_third_party_apps
Select what happens when users under 18 try to access unconfigured third-party apps with their account.
-
ACCESS_LEVEL_UNSPECIFIED -
ALLOW_SIGN_IN_ONLY
api_controls.internal_apps
api_controls.app_approval_requests
-
OPTION_UNSPECIFIED -
ENABLED -
DISABLED
api_controls.google_services
API Controls Sub-Settings
This table provides API Controls sub-settings that are referenced by other API Controls settings.
-
UNSPECIFIED -
DRIVE_ALL -
DRIVE_HIGH_RISK -
GMAIL_ALL -
GMAIL_HIGH_RISK -
CALENDAR_ALL -
CONTACTS_ALL -
GSUITE_ADMIN_ALL -
VAULT_ALL -
CLOUD_PLATFORM -
CLOUD_BILLING -
CLOUD_ML -
APPS_SCRIPT_RUNTIME -
APPS_SCRIPT_API -
CLASSROOM_ALL -
CLASSROOM_HIGH_RISK -
COMMUNICATIONS -
TASKS -
GROUPS -
KEEP -
CLOUD_SEARCH -
CHAT -
SIGN_IN -
CHAT_HIGH_RISK -
MEET
Calendar Settings
calendar.appointment_schedules
calendar.external_invitations
calendar.interoperability
calendar.interoperability
calendar.primary_calendar_max_allowed_external_sharing
-
EXTERNAL_FREE_BUSY_ONLY -
EXTERNAL_ALL_INFO_READ_ONLY -
EXTERNAL_ALL_INFO_READ_WRITE -
EXTERNAL_ALL_INFO_READ_WRITE_MANAGE
calendar.secondary_calendar_max_allowed_external_sharing
-
EXTERNAL_FREE_BUSY_ONLY -
EXTERNAL_ALL_INFO_READ_ONLY -
EXTERNAL_ALL_INFO_READ_WRITE -
EXTERNAL_ALL_INFO_READ_WRITE_MANAGE
Chat Settings
chat.chat_history
chat.chat_file_sharing
-
ALL_FILES -
IMAGES_ONLY -
NO_FILES -
FILE_SHARING_OPTION_UNSPECIFIED
chat.space_history
-
DEFAULT_HISTORY_ON -
DEFAULT_HISTORY_OFF -
HISTORY_ALWAYS_ON -
HISTORY_ALWAYS_OFF -
HISTORY_STATE_UNSPECIFIED
chat.external_chat_restriction
-
NO_RESTRICTION -
TRUSTED_DOMAINS -
RESTRICTION_UNSPECIFIED
chat.chat_apps_access
chat.third_party_archiving
chat.external_spaces
-
DOMAIN_ALLOWLIST_MODE_UNSPECIFIED -
TRUSTED_DOMAINS -
ALL_DOMAINS
chat.space_access_default
-
ACCESS_TYPE_UNSPECIFIED -
RESTRICTED -
PRIMARY_TARGET_AUDIENCE
Classroom Settings
classroom.teacher_permissions
-
ANYONE_IN_DOMAIN -
ALL_PENDING_AND_VERIFIED_TEACHERS -
VERIFIED_TEACHERS_ONLY
classroom.guardian_access
-
VERIFIED_TEACHERS_AND_DOMAIN_ADMINS -
DOMAIN_ADMINS_ONLY
classroom.class_membership
-
ANYONE_IN_DOMAIN -
ANYONE_IN_ALLOWLISTED_DOMAINS -
ANY_GOOGLE_WORKSPACE_USER -
ANYONE
-
CLASSES_IN_DOMAIN -
CLASSES_IN_ALLOWLISTED_DOMAINS -
ANY_GOOGLE_WORKSPACE_CLASS
classroom.api_data_access
classroom.originality_reports
classroom.student_unenrollment
-
STUDENTS_AND_TEACHERS -
TEACHERS_ONLY
classroom.roster_import
-
OFF -
ON_CLEVER
Data Compliance Settings
access_management.user_scoping
-
PREFERENCE_UNSPECIFIED -
CJIS_IRS_1075_GOOGLE_STAFF -
US_GOOGLE_STAFF -
EU_GOOGLE_STAFF
data_regions.data_at_rest_region
-
REGION_UNSPECIFIED -
ANY_REGION -
US -
EUROPE
data_regions.data_processing_region
access_approval.axa_user_scoping
Directory Settings
directory.external_directory_sharing
-
SHARING_OPTION_UNSPECIFIED -
REQUESTER_BASIC_PROFILE_ONLY -
ORGANIZATION_DIRECTORY_DATA
Drive and Docs Settings
drive_and_docs.external_sharing
-
DISALLOWED -
ALLOWLISTED_DOMAINS -
ALLOWED
-
RECIPIENTS_OR_AUDIENCE_OR_PUBLIC -
RECIPIENTS_OR_AUDIENCE -
RECIPIENTS_ONLY
-
ALL_ELIGIBLE_USERS -
ELIGIBLE_INTERNAL_USERS -
NONE
drive_and_docs.general_access_default
-
PRIVATE_TO_OWNER -
PRIMARY_AUDIENCE_WITH_LINK -
PRIMARY_AUDIENCE_WITH_LINK_OR_SEARCH
drive_and_docs.shared_drive_creation
-
CREATOR_ORG_UNIT -
CUSTOM_ORG_UNIT
-
ALL -
EDITORS_ONLY(Managers, contributors and content managers) -
MANAGERS_ONLY
drive_and_docs.file_security_update
-
APPLY_TO_IMPACTED_FILES -
REMOVE_FROM_IMPACTED_FILES
drive_and_docs.drive_sdk
drive_and_docs.drive_for_desktop
drive_and_docs.external_file_warning
Gmail Settings
gmail.confidential_mode
gmail.smime_encryption
-
STATUS_UNSPECIFIED -
STATUS_DISABLED -
STATUS_ENABLED
gmail.enhanced_smime_encryption
gmail.enhanced_pre_delivery_message_scanning
gmail.email_spam_filter_ip_allowlist
gmail.spoofing_and_authentication
-
WARNING -
SPAM_FOLDER -
QUARANTINE -
NO_ACTION
-
WARNING -
SPAM_FOLDER -
QUARANTINE -
NO_ACTION
-
WARNING -
SPAM_FOLDER -
QUARANTINE -
NO_ACTION
-
WARNING -
SPAM_FOLDER -
QUARANTINE -
NO_ACTION
-
PRIVATE_GROUPS_ONLY -
ALL_GROUPS
-
WARNING -
SPAM_FOLDER -
QUARANTINE -
NO_ACTION
gmail.links_and_external_images
gmail.email_attachment_safety
-
WARNING -
SPAM_FOLDER -
QUARANTINE
-
WARNING -
SPAM_FOLDER -
QUARANTINE
-
WARNING -
SPAM_FOLDER -
QUARANTINE
gmail.email_address_lists
gmail.blocked_sender_lists
gmail.spam_override_lists
gmail.content_compliance
gmail.restrict_delivery
gmail.objectionable_content
gmail.attachment_compliance
gmail.comprehensive_mail_storage
gmail.user_email_uploads
gmail.pop_access
gmail.imap_access
gmail.workspace_sync_for_outlook
gmail.auto_forwarding
gmail.name_format
-
FIRSTNAME_LASTNAME -
LASTNAME_COMMA_FIRSTNAME
gmail.per_user_outbound_gateway
gmail.email_image_proxy_bypass
gmail.mail_delegation
Gmail Sub-Settings
This table provides Gmail sub-settings that are referenced by other Gmail settings.
-
NO_EFFECT -
EXCLUDED -
REQUIRED
EXACT
REGEXP
GROUP_MEMBERSHIP
SIMPLE_CONTENT
ADVANCED_CONTENT
METADATA
PREDEFINED_CONTENT
FILE_TYPE
FILE_NAME
MESSAGE_SIZE
HEADERS_AND_BODY
FULL_HEADERS
BODY
SUBJECT
SENDER_HEADER
RECIPIENTS_HEADER
ENVELOPE_SENDER
ANY_ENVELOPE_RECIPIENT
RAW_MESSAGE
STARTS_WITH
ENDS_WITH
CONTAINS_TEXT
NOT_CONTAINS_TEXT
EQUALSIS_EMPTY
MATCHES_REGEXP
NOT_MATCHES_REGEXP
MATCH_ANY_WORD
MATCH_ALL_WORDS
MESSAGE_AUTHENTICATION
SOURCE_IP
TLS
MESSAGE_SIZE
SMIME_ENCRYPTED
SMIME_SIGNED
CONFIDENTIAL_MODE
SPAM
MESSAGE_AUTHENTICATED
MESSAGE_NOT_AUTHENTICATED
SOURCE_IP_IN_RANGE
SOURCE_IP_NOT_IN_RANGE
TLS_ENCRYPTED
TLS_NOT_ENCRYPTED
MESSAGE_SIZE_GREATER_THAN
MESSAGE_SIZE_LESS_THAN
MESSAGE_IS_SMIME_ENCRYPTED
MESSAGE_IS_NOT_SMIME_ENCRYPTED
MESSAGE_IS_SMIME_SIGNED
MESSAGE_IS_NOT_SMIME_SIGNED
MESSAGE_IS_IN_CONFIDENTIAL_MODE
MESSAGE_IS_NOT_IN_CONFIDENTIAL_MODE
MALWARE_DETECTED_FROM_SECURITY_SANDBOX
-
MEDIUM -
HIGH
MODIFY_MESSAGE
REPLACE_ADDRESS
REPLACE_USER
REPLACE_DOMAIN
Groups For Business Settings
groups_for_business.groups_sharing
-
ANYONE_CAN_ACCESS -
DOMAIN_USERS_ONLY
-
ADMIN_ONLY -
USERS_IN_DOMAIN -
ANYONE_CAN_CREATE
-
OWNERS -
MANAGERS -
GROUP_MEMBERS -
DOMAIN_USERS -
ANYONE_CAN_VIEW_TOPICS
Legal and Compliance
cloud_sharing_options.cloud_data_sharing
-
UNSUPPORTED -
ENABLED -
DISABLED
Marketplace Settings
workspace_marketplace.apps_allowlist
workspace_marketplace.apps_access_options
-
ALLOW_ALL -
ALLOW_LISTED_APPS -
ALLOW_NONE
Marketplace Sub-Settings
-
ALLOWED -
BLOCKED
The workspace_marketplace.apps_allowlist
setting in the API response exposes the Marketplace application_id
, instead of application_name
. The following Python script can be used to convert one or more application_id
that are specified on the command line to application_name
.
import
re
import
requests
import
sys
output
=
{}
app_ids
=
sys
.
argv
[
1
:]
for
id
in
app_ids
:
url
=
f
"https://workspace.google.com/marketplace/app/_/
{
id
}
"
response
=
requests
.
get
(
url
,
allow_redirects
=
False
)
final_url
=
response
.
headers
[
'Location'
]
pattern
=
f
"^https://workspace.google.com/marketplace/app/(.*)/
{
id
}
$"
a
=
re
.
search
(
pattern
,
final_url
)
output
[
id
]
=
a
.
group
(
1
)
# Output application name captured from returned URL
print
(
output
)
Meet Settings
meet.video_recording
meet.automatic_transcription
meet.automatic_recording
meet.safety_domain
-
SAME_ORGANIZATION_ONLY -
LOGGED_IN -
ALL
meet.safety_access
-
SAME_ORGANIZATION_ONLY -
ANY_WORKSPACE_ORGANIZATION -
ALL
meet.safety_host_management
meet.safety_external_participants
meet.joining
-
ALLOWED_AUDIENCE_UNSPECIFIED -
OPEN -
TRUSTED -
RESTRICTED
meet.messaging
meet.presenting
meet.questions
meet.polls
meet.meet_incoming_call_restrictions
-
ALLOWED_CALLERS_UNSPECIFIED -
ALL -
CONTACTS_AND_ORGANIZATION_ONLY -
NONE
Provisioning Settings
provisioning.conflicting_accounts_management
-
OPTION_UNSPECIFIED -
AUTOMATICALLY_SEND_INVITATIONS -
REPLACE_CONFLICTING_ACCOUNT -
PRESERVE_CONFLICTING_ACCOUNT
-
UNACCEPTED_INVITATION_RESOLUTION_OPTION_UNSPECIFIED -
REPLACE_CONFLICTING_ACCOUNT_ON_NEXT_CREATION -
PRESERVE_CONFLICTING_ACCOUNT_ON_NEXT_CREATION
Rules and Detectors Settings
Data Protection Rules Settings
For an overview of how to create data protection rules and detectors for the supported applications, see Create data protection rules .
rule.dlp
-
ACTIVE -
INACTIVE
Triggers
The following table provides the list of available platforms, applications, and triggers:
google.workspace.gmail.email.v1.send
google.workspace.gmail.email.v1.receive
google.workspace.drive.file.v1.share
google.workspace.chat.message.v1.send
google.workspace.chat.attachment.v1.upload
google.workspace.chrome.file.v1.upload
google.workspace.chrome.file.v1.download
google.workspace.chrome.web_content.v1.upload
google.workspace.chrome.page.v1.print
google.workspace.chrome.url.v1.navigation
google.workspace.chromeos.file.v1.transfer
Conditions
To represent data conditions, the API uses Common Expressions Language (CEL) expressions. Each condition follows the pattern of {content type}.{content to scan for}({additional scan parameters})
. For example, all_content.contains('apple')
represents a data condition that matches if any of the scanned content (e.g. Drive doc, chat message, etc) contains the substring apple
.
Content type
The list of available content types, corresponding to the matching configurations of the same names in the Admin Console.
- access_levels
- all_content
- all_headers
- body
- destination_type
- destination_url
- drive_enterprise_metadata
- encryption_state
- envelope_from
- file_size_in_bytes
- file_type
- from_header
- message_security_status
- request_attributes
- sender_header
- source_chrome_context
- source_url
- source_url_category
- subject
- suggestion
- target_user
- title
- to_header_recipients
- url
- url_category
Content to scan for
The list of available content to scan for, corresponding to the matching configurations of the same names in the Admin Console.
-
contains({string}) -
starts_with({string}) -
ends_with({string}) -
equals({string}) -
matches_dlp_detector({detector name}, {likelihood}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})- Corresponds to the matches predefined data typeoption in the Admin Console.
-
{detector name}denotes the predefined data type to scan for, which can be one of the built-in infotypes supported by Cloud DLP: https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference. For example,CREDIT_CARD_NUMBERorUS_SOCIAL_SECURITY_NUMBER -
{likelihood}denotes the likelihood threshold of the match. For example, google.privacy.dlp.v2.Likelihood.LIKELYcorresponds to the Highthreshold in the Admin Console.
-
matches_regex_detector({detector name}, {minimum_match_count: {count}})- Corresponds to the matches regular expressionoption in the Admin Console.
-
{detector name}is the resource name of the policy that represents the regular expression detector. See Data Protection Detector section on how to query detector policies in the API.
-
matches_word_list({detector name}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})- Corresponds to the matches words from word listoption in the Admin Console.
-
{detector name}is the resource name of the policy that represents the word list detector. See Data Protection Detector section on how to query detector policies in the API.
-
matches_web_category({category})- Corresponds to the URL category matchesoption in the Admin Console for Chrome URL visited trigger.
-
{category}denotes the URL category supported by the Admin Console configuration. For the list of available categories and their API representations, see URL categories .
-
contains_word({string})- Matches if the content contains
{string}as a whole word.
- Matches if the content contains
-
matches_file_extension({extension})- Matches if the file extension is
{extension}.
- Matches if the file extension is
-
matches_mime_types({categories}, {custom_types})- Matches if the file's MIME type belongs to one of the specified
{categories}or{custom_types}.
- Matches if the file's MIME type belongs to one of the specified
-
matches_metadata({metadata_criteria})- Matches Drive files based on
{metadata_criteria}defined in Drive labels.
- Matches Drive files based on
-
matches_enum({enum_value})- Matches enum-based fields against
{enum_value}. For example,encryption_state.matches_enum('ENCRYPTED').
- Matches enum-based fields against
-
matches_url_list({url_list_id})- Matches if the URL is present in the specified URL list
{url_list_id}.
- Matches if the URL is present in the specified URL list
-
matches_url_risk_level({risk_level})- Matches if the URL risk level is
{risk_level}.
- Matches if the URL risk level is
-
matches_address({email})- Matches if the email address is
{email}.
- Matches if the email address is
-
matches_address_domain_name({domain})- Matches if domain of the email address is
{domain}.
- Matches if domain of the email address is
-
matches_address_regex({regex})- Matches if the email address matches the regular expression
{regex}.
- Matches if the email address matches the regular expression
Composite conditions
Multiple base conditions can be mixed with AND (&&), OR (||), or NOT (!) operators to form a composite condition. For example, "all_content.contains('apple') && all_content.contains('banana')"
represents a condition that matches if any of the scanned content contains both 'apple' and 'banana' substrings.
CEL Expression Syntax for Rules
The Common Expression Language (CEL) expression that defines a rule's logic is found within the condition
field of the Rule
resource. This field is typically a google.type.Expr
message, with the CEL expression in either an expression
or cel_expression
field.
To create a valid rule, you must use CEL functions that are supported by the specific application, trigger event, and content type (match source) that you're targeting.
The following table lists the available match sources and condition functions for each application and trigger for Data Protection (DLP) rules.
| Application | Trigger Event | Match Source (Content Type) | Available CEL Condition Functions |
|---|---|---|---|
|
Gmail
|
Message sent Message received |
all_content
, body
, subject
, all_headers
|
contains({string})
contains_word({string})
matches_regex_detector({detector name}, {minimum_match_count: {count}})
matches_dlp_detector({detector name}, {likelihood}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
matches_word_list({detector name}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
|
| |
file_name
|
contains({string})
contains_word({string})
|
|
| |
file_extension
|
matches_file_extension({extension})
|
|
| |
file_type
|
matches_mime_types({categories}, {custom_types})
|
|
| |
drive_enterprise_metadata
|
matches_metadata({metadata_criteria})
|
|
| |
message_security_status
|
matches_enum({enum_value})
(e.g., 'CONFIDENTIAL_MODE_ENABLED'
) |
|
|
Drive
|
Drive files | all_content
, body
|
contains({string})
matches_regex_detector({detector name}, {minimum_match_count: {count}})
matches_dlp_detector({detector name}, {likelihood}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
matches_word_list({detector name}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
|
| |
title
|
contains({string})
contains_word({string})
ends_with({string})
starts_with({string})
matches_regex_detector({detector name}, {minimum_match_count: {count}})
matches_dlp_detector({detector name}, {likelihood}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
matches_word_list({detector name}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
|
|
| |
suggestion
|
contains({string})
contains_word({string})
matches_regex_detector({detector name}, {minimum_match_count: {count}})
matches_dlp_detector({detector name}, {likelihood}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
matches_word_list({detector name}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
|
|
| |
file_name
|
contains({string})
contains_word({string})
|
|
| |
file_extension
|
matches_file_extension({extension})
|
|
| |
file_type
|
matches_mime_types({categories}, {custom_types})
|
|
| |
drive_enterprise_metadata
|
matches_metadata({metadata_criteria})
|
|
| |
encryption_state
|
matches_enum({enum_value})
(e.g., 'ENCRYPTED'
) |
|
|
Chat
|
Message sent File uploaded |
all_content
|
contains({string})
matches_regex_detector({detector name}, {minimum_match_count: {count}})
matches_dlp_detector({detector name}, {likelihood}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
matches_word_list({detector name}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
|
| |
File uploaded only | file_name
|
contains({string})
contains_word({string})
|
| |
file_extension
|
matches_file_extension({extension})
|
|
| |
file_type
|
matches_mime_types({categories}, {custom_types})
|
|
|
Chrome
|
File uploaded File downloaded Content pasted Content printed |
all_content
, body
|
contains({string})
contains_word({string})
matches_regex_detector({detector name}, {minimum_match_count: {count}})
matches_dlp_detector({detector name}, {likelihood}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
matches_word_list({detector name}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
|
| |
File uploaded File downloaded Content printed |
title
|
contains({string})
contains_word({string})
ends_with({string})
starts_with({string})
matches_regex_detector({detector name}, {minimum_match_count: {count}})
matches_dlp_detector({detector name}, {likelihood}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
matches_word_list({detector name}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
|
| |
All Chrome Triggers | url
, source_url
|
contains({string})
ends_with({string})
starts_with({string})
matches_regex_detector({detector name}, {minimum_match_count: {count}})
matches_word_list({detector name}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
matches_url_list({url_list_id})
(Note: url
also supports matches_url_risk_level({risk_level})
) |
| |
url_category
, source_url_category
|
matches_web_category({category})
|
|
| |
file_type
|
matches_mime_types({categories}, {custom_types})
|
|
| |
file_size_in_bytes
|
Standard comparison operators (e.g., all_content.file_size_in_bytes > 1048576
) |
|
| |
web_app_signed_in_account
, source_web_app_signed_in_account
|
matches_address({email})
matches_address_domain_name({domain})
matches_address_regex({regex})
|
|
| |
Content pasted only | source_chrome_context
|
matches_enum({enum_value})
(values: 'CLIPBOARD'
, 'INCOGNITO'
, 'OTHER_PROFILE'
) |
|
ChromeOS
|
File transfer restrictions | all_content
, body
|
contains({string})
contains_word({string})
matches_regex_detector({detector name}, {minimum_match_count: {count}})
matches_dlp_detector({detector name}, {likelihood}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
matches_word_list({detector name}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
|
| |
title
|
contains({string})
contains_word({string})
ends_with({string})
starts_with({string})
matches_regex_detector({detector name}, {minimum_match_count: {count}})
matches_dlp_detector({detector name}, {likelihood}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
matches_word_list({detector name}, {minimum_match_count: {count}, minimum_unique_match_count: {count}})
|
|
| |
file_type
|
matches_mime_types({categories}, {custom_types})
|
|
| |
file_size_in_bytes
|
Standard comparison operators |
Actions
Each application specifies the action to take when the data condition matches in a nested message. For example, { "driveAction" { "warnUser" { } } }
represents a Drive action that warns users on external sharing. The application specific actions available are the following:
Action Parameters
Action parameters provide additional configuration for rule actions. The available parameters depend on the application.
Example of Setting Action Parameters
The following example demonstrates how to specify action parameters for a Chrome blockContent
action, enabling the Evidence Locker ( saveContent
) and setting a watermark message ( watermarkMessage
). This uses the generic Struct representation used by the API.
fields {
key: "action"
value {
struct_value {
fields {
key: "chromeAction"
value {
struct_value {
fields {
key: "blockContent"
value {
struct_value {
fields {
key: "actionParams"
value {
struct_value {
fields {
key: "saveContent"
value {
bool_value: true
}
}
fields {
key: "watermarkMessage"
value {
string_value: "CONFIDENTIAL"
}
}
}
}
}
}
}
}
}
}
}
}
}
}
Drive Action Parameters
Drive actions generally do not take additional parameters. However, the restrictCopyPrintDownload
action requires specifying a scope.
restrict_copy_print_download.scope
-
SCOPE_UNSPECIFIED: Unspecified scope. -
VIEWERS_AND_COMMENTERS: Disable for viewers and commenters. -
ALL_COLLABORATORS: Disable for all collaborators (viewers, commenters, writers, owners).
Gmail Action Parameters
apply_internal_messages
apply_external_messages
apply_to_internal_receive_messages
apply_to_external_receive_messages
custom_end_user_message.unsafe_html_message_body
<a>
tags are supported.add_footer.footer.title
add_footer.footer.unsafe_html_message_body
<a>
tags are supported (maximum 300 characters).add_footer.footer.banner_highlighted
add_footer.footer.position
TOP
or BOTTOM
.apply_labels.label_delta
-
label_id: string -
field_delta: Struct with fields:-
field_id: string -
selection: string (for single selection fields) -
selection_list: Struct withoperation(SET,MERGE) andvalues(string[])
-
apply_labels.conflict_resolution_strategy
SYSTEM_OVERRIDE
or ALLOW_USER_OVERRIDE
.apply_labels.custom_end_user_message.unsafe_html_message_body
<a>
tags are supported.quarantine_message.quarantine_resource_name
quarantines/obfuscated<id>
or quarantines/default
.Chat Action Parameters
| Parameter | Data type | Description |
apply_internal_direct_messages
|
boolean | Applies the action to messages sent using internal 1:1 direct messages. |
apply_external_direct_messages
|
boolean | Applies the action to messages sent using external 1:1 direct messages. |
apply_internal_rooms
|
boolean | Applies the action to messages sent to internal rooms. |
apply_external_rooms
|
boolean | Applies the action to messages sent to external rooms. |
apply_internal_group_chats
|
boolean | Applies the action to messages sent to internal group chats. |
apply_external_group_chats
|
boolean | Applies the action to messages sent to external group chats. |
custom_end_user_message.unsafe_html_message_body
|
string | HTML message content to display to the end user when a rule triggers. Only <a>
tags are supported. |
Google Chrome Action Parameters
save_content
watermark_message
custom_end_user_message.unsafe_html_message_body
<a>
tags are supported.block_screenshot
true
.match_only_download_url
force_save_to_cloud_sub_action.destination
-
DESTINATION_UNSPECIFIED: Unspecified destination. -
GOOGLE_DRIVE_CORP: Saves files to corporate Google Drive. -
ONEDRIVE_CORP: Saves files to corporate Microsoft OneDrive.
data_masking.regex_detector
data_masking.regex_detector[].mask_type
-
MASK_TYPE_LIGHT_OBFUSCATION: Masked text can be revealed on mouse hover. -
MASK_TYPE_HARD_OBFUSCATION: Masked text can be revealed on mouse click. -
MASK_TYPE_REDACT: Text is replaced entirely and cannot be recovered.
data_masking.regex_detector[].resource_name
data_masking.regex_detector[].display_name
data_masking.regex_detector[].regex_pattern
ChromeOS Action Parameters
| Parameter | Data type | Description |
save_content
|
boolean | Enables securely saving content that triggers this rule. |
Rule type specific metadata
This attribute contains the metadata specific to the rule type. For Data Protection rules, it contains the alerting event severity when the event is reported under the security dashboard and alert center. An example value of the metadata representing LOW alert severity:
fields {
key: "ruleTypeMetadata"
value {
struct_value {
fields {
key: "dlpRuleMetadata"
value {
struct_value {
fields {
key: "alertSeverity"
value {
string_value: "LOW"
}
}
}
}
}
}
}
}
Data Protection Detectors Settings
For an overview of data protection rules and detectors, see Create DLP for Drive rules and custom content detectors .
detector.word_list
.System Defined Alert Rules Settings
This section describes Google Workspace system-defined alert rules. The API returns only system-defined alerts that are modified from the default value by the administrator.
rule.system_defined_alerts
-
ACTIVE -
INACTIVE
Actions
System defined alert rules have a single action that denotes the notification settings for the alert.
Action Parameters
The following table provides the parameters for the alertCenterAction
:
| Parameter | Data type | Description |
alertCenterConfig.severity
|
enum | The severity of the alert (e.g., LOW
, MEDIUM
, HIGH
). |
alertCenterConfig.status
|
enum | Whether the alert is sent to the alert center (e.g., ENABLED
, DISABLED
). |
recipients
|
string[] | A list of email addresses to receive email notifications. |
Security Settings
security.super_admin_account_recovery
security.user_account_recovery
security.password
-
STRONG -
WEAK
security.session_controls
security.less_secure_apps
security.login_challenges
security.passkeys_restriction
-
ALLOWED_PASSKEYS_TYPE_UNSPECIFIED -
HARDWARE_SECURITY_KEYS_ONLY -
ANY_DEVICE_OR_PLATFORM
security.advanced_protection_program
-
ALLOWED_WITH_REMOTE_ACCESS -
ALLOWED_WITHOUT_REMOTE_ACCESS -
CODES_NOT_ALLOWED
security.two_step_verification_enrollment
security.two_step_verification_enforcement
security.two_step_verification_grace_period
security.two_step_verification_device_trust
security.two_step_verification_enforcement_factor
-
ALL -
PASSKEY_ONLY -
PASSKEY_PLUS_SECURITY_CODE -
PASSKEY_PLUS_IP_BOUND_SECURITY_CODE -
NO_TELEPHONY
security.two_step_verification_sign_in_code
multi_party_approval.require_approvals
-
MULTI_PARTY_APPROVAL_STATE_UNSPECIFIED -
ENABLED -
DISABLED
multi_party_approval.security_actions
multi_party_approval.security_actions_api_access
multi_party_approval.calendar_actions
multi_party_approval.groups_actions
multi_party_approval.domains_actions
Service Status Settings
The service_status
setting contains a boolean value implying if a service is
enabled for a certain OrgUnit
or Group
.
The Policy API supports service status settings for Google Workspace, Additional Google services, and Generative AIservices that are listed in the Admin Console.
Google Workspace
| Service name in Admin console | Service name in Policy API |
|---|---|
| AppSheet | appsheet |
| Calendar | calendar |
| Cloud Search | cloud_search |
| Drive and Docs | drive_and_docs |
| Gmail | gmail |
| Google Chat | chat |
| Google Meet | meet |
| Google Vault | vault |
| Google Voice | voice |
| Groups for Business | groups_for_business |
| Keep | keep |
| Sites | sites |
| Tasks | tasks |
Additional Google services
| Service name in Admin console | Service name in Policy API |
| AI Studio | ai_studio |
| Applied Digital Skills | applied_digital_skills |
| Assignments | assignments |
| Blogger | blogger |
| Brand Accounts | brand_accounts |
| Campaign Manager 360 | campaign_manager |
| Chrome Canvas | chrome_canvas |
| Chrome Cursive | chrome_cursive |
| Chrome Remote Desktop | chrome_remote_desktop |
| Chrome Web Store | chrome_web_store |
| Classroom | classroom |
| CS First | cs_first |
| Currents | currents |
| Early Access Apps | early_access_apps |
| Experimental Apps | experimental_apps |
| FeedBurner | feedburner |
| Google Ad Manager | ad_manager |
| Google Ads | ads |
| Google AdSense | adsense |
| Google Alerts | alerts |
| Google Analytics | analytics |
| Google Arts & Culture | arts_and_culture |
| Google Bookmarks | bookmarks |
| Google Books | books |
| Google Chrome Sync | chrome_sync |
| Google Cloud | cloud |
| Google Cloud Print | cloud_print |
| Google Colab | colab |
| Google Developer | developers |
| Google Domains | domains |
| Google Earth | earth |
| Google Fi | fi |
| Google Groups | groups |
| Google Maps | maps |
| Google Messages | messages |
| Google My Business | my_business |
| Google My Maps | my_maps |
| Google News | news |
| Google Pay | pay |
| Google Photos | photos |
| Google Play | play |
| Google Play Console | play_console |
| Google Public Data Explorer | public_data |
| Google Read Along | read_along |
| Google Search Console | search_console |
| Google Takeout | takeout |
| Google Translate | translate |
| Google Trips | trips |
| Jamboard | jamboard |
| Location History | location_history |
| Data Studio | data_studio |
| Managed Google Play | managed_play |
| Material Gallery | material_gallery |
| Merchant Center | merchant_center |
| Partner Dash | partner_dash |
| Pinpoint | pinpoint |
| Play Books Partner Center | play_books_partner_center |
| Programmable Search Engine | programmable_search_engine |
| QuestionHub | question_hub |
| Scholar Profiles | scholar_profiles |
| Search Ads 360 | search_ads_360 |
| Search and Assistant | search_and_assistant |
| Socratic | socratic |
| Studio | studio |
| Third-party App Backups | third_party_app_backups |
| Tour Creator | tour_creator |
| Work Insights | work_insights |
| YouTube | youtube |
Generative AI
| Service name in Admin console | Service name in Policy API |
|---|---|
| Gemini app | gemini_app |
| NotebookLM | notebooklm |
Sites Settings
sites.sites_creation_and_modification
UserTakeout Settings
-
blogger.user_takeout -
books.user_takeout -
maps.user_takeout -
pay.user_takeout -
photos.user_takeout -
play.user_takeout -
play_console.user_takeout -
location_history.user_takeout -
youtube.user_takeout
-
TAKEOUT_STATUS_UNSPECIFIED -
ENABLED -
DISABLED

