Data Boundary for Criminal Justice Information Systems (CJIS)
This page describes the set of controls that are applied on CJIS workloads in Assured Workloads. It provides detailed information about data residency , supported Google Cloud products and their API endpoints, and any applicable restrictions or limitations on those products. The following additional information applies to CJIS:
- Data residency: The CJIS control package sets data location controls to support US-only regions . See the Google Cloud-wide organization policy constraints section for more information.
- Support: Technical support services for CJIS workloads are available with Enhanced or Premium Cloud Customer Care subscriptions. CJIS workloads support cases are routed to US Persons located in the US who have completed CJIS background checks. For more information, see Getting support .
- Pricing: The CJIS control package is included in Assured Workloads' Premium tier , which incurs an 20% additional charge. See Assured Workloads pricing for more information.
Prerequisites
To remain compliant as a user of the CJIS control package, verify that you satisfy and adhere to the following prerequisites:
- Create an CJIS folder using Assured Workloads and deploy your CJIS workloads only in that folder.
- Only enable and use in-scope CJIS services for CJIS workloads.
- Don't change the default organization policy constraint values unless you understand and are willing to accept the data residency risks that might occur.
- Consider adopting the general security best practices provided in the Google Cloud security best practices center .
- When accessing the Google Cloud console, you have the option of using the Jurisdictional Google Cloud console
.
You are not required to use the Jurisdictional Google Cloud console for
CJIS. It can be accessed at one of the following URLs:
- console.us.cloud.google.com
- console.us.cloud.google for federated identity users
Supported products and API endpoints
Unless otherwise noted, users can access all supported products through the Google Cloud console. Restrictions or limitations that affect the features of a supported product, including those that are enforced through organization policy constraint settings , are listed in the following table.
If a product is not listed, that product is unsupported and has not met the control requirements for CJIS. Unsupported products are not recommended for use without due diligence and a thorough understanding of your responsibilities in the shared responsibility model . Before using an unsupported product, ensure that you are aware of and are willing to accept any associated risks involved, such as negative impacts to data residency or data sovereignty.
Supported product | API endpoints | Restrictions or limitations |
---|---|---|
accesscontextmanager.googleapis.com
|
None | |
accessapproval.googleapis.com
|
None | |
alloydb.googleapis.com
|
None | |
apigee.googleapis.com
|
None | |
artifactregistry.googleapis.com
|
None | |
gkebackup.googleapis.com
|
None | |
bigquery.googleapis.com
bigquerydatapolicy.googleapis.com
bigquerymigration.googleapis.com
bigqueryreservation.googleapis.com
bigquerystorage.googleapis.com
|
Affected features | |
bigquerydatatransfer.googleapis.com
|
None | |
bigtable.googleapis.com
bigtableadmin.googleapis.com
|
None | |
privateca.googleapis.com
|
None | |
cloudbuild.googleapis.com
|
None | |
composer.googleapis.com
|
None | |
dns.googleapis.com
|
Affected features | |
datafusion.googleapis.com
|
None | |
cloudkms.googleapis.com
|
None | |
run.googleapis.com
|
None | |
cloudkms.googleapis.com
|
None | |
cloudidentity.googleapis.com
|
None | |
compute.googleapis.com
|
Affected features | |
cloudkms.googleapis.com
|
Organization policy constraints | |
compute.googleapis.com
|
Affected features | |
logging.googleapis.com
|
Affected features | |
monitoring.googleapis.com
|
Affected features | |
compute.googleapis.com
|
Affected features | |
oslogin.googleapis.com
|
None | |
compute.googleapis.com
|
Affected features | |
run.googleapis.com
|
Affected features | |
sqladmin.googleapis.com
|
None | |
mesh.googleapis.com
meshca.googleapis.com
meshconfig.googleapis.com
|
None | |
storage.googleapis.com
|
None | |
cloudtasks.googleapis.com
|
None | |
compute.googleapis.com
|
Affected features | |
vision.googleapis.com
|
None | |
workstations.googleapis.com
|
None | |
compute.googleapis.com
|
Affected features and organization policy constraints | |
gkeconnect.googleapis.com
|
None | |
dialogflow.googleapis.com
|
None | |
dlp.googleapis.com
|
None | |
dataflow.googleapis.com
datapipelines.googleapis.com
|
None | |
dataform.googleapis.com
|
Affected features | |
dataplex.googleapis.com
datalineage.googleapis.com
|
None | |
dataproc-control.googleapis.com
dataproc.googleapis.com
|
None | |
documentai.googleapis.com
|
None | |
essentialcontacts.googleapis.com
|
None | |
eventarc.googleapis.com
|
None | |
file.googleapis.com
|
None | |
firebaserules.googleapis.com
|
None | |
firestore.googleapis.com
|
None | |
gkehub.googleapis.com
|
None | |
anthosidentityservice.googleapis.com
|
None | |
aiplatform.googleapis.com
|
None | |
discoveryengine.googleapis.com
|
None | |
compute.googleapis.com
networksecurity.googleapis.com
|
Affected features | |
container.googleapis.com
containersecurity.googleapis.com
|
None | |
N/A
|
None | |
iam.googleapis.com
|
None | |
iap.googleapis.com
|
None | |
config.googleapis.com
|
None | |
looker.googleapis.com
|
None | |
redis.googleapis.com
|
None | |
networkconnectivity.googleapis.com
|
Affected features | |
orgpolicy.googleapis.com
|
None | |
compute.googleapis.com
|
None | |
pubsub.googleapis.com
|
None | |
cloudresourcemanager.googleapis.com
|
None | |
secretmanager.googleapis.com
|
None | |
securesourcemanager.googleapis.com
|
None | |
spanner.googleapis.com
|
Organization policy constraints | |
speech.googleapis.com
|
Affected features | |
storagetransfer.googleapis.com
|
None | |
texttospeech.googleapis.com
|
None | |
accesscontextmanager.googleapis.com
|
None | |
discoveryengine.googleapis.com
|
Affected features | |
notebooks.googleapis.com
|
None | |
compute.googleapis.com
|
None | |
webrisk.googleapis.com
|
None |
Restrictions and limitations
The following sections describe Google Cloud-wide or product-specific restrictions or limitations for features, including any organization policy constraints that are set by default on CJIS folders. Other applicable organization policy constraints —even if not set by default— can provide additional defense-in-depth to further protect your organization's Google Cloud resources.
Google Cloud-wide
Affected Google Cloud-wide features
- console.us.cloud.google.com
- console.us.cloud.google for federated identity users
Google Cloud-wide organization policy constraints
The following organization policy constraints apply across Google Cloud.
allowedValues
list: -
us-locations
-
us-central1
-
us-central2
-
us-east1
-
us-east4
-
us-east5
-
us-south1
-
us-west1
-
us-west2
-
us-west3
-
us-west4
Changing this value by making it less restrictive potentially undermines data residency by allowing data to be created or stored outside of a compliant data boundary.
gcp.restrictCmekCryptoKeyProjects
under:organizations/your-organization-name
, which is your
Assured Workloads organization. You can further restrict this value by specifying a
project or folder.Limits the scope of approved folders or projects that can provide Cloud KMS keys for encrypting at-rest data using CMEK. This constraint prevents unapproved folders or projects from providing encryption keys, thus helping to guarantee data sovereignty for in-scope services' at-rest data.
-
bigquery.googleapis.com
-
compute.googleapis.com
-
container.googleapis.com
-
logging.googleapis.com
-
sqladmin.googleapis.com
-
storage.googleapis.com
Each listed service requires Customer-managed encryption keys (CMEK) . CMEK allows that at-rest data is encrypted with a key managed by you, not Google's default encryption mechanisms.
Changing this value by removing one or more in-scope services from the list may undermine data sovereignty, because new at-rest data will be automatically encrypted using Google's own keys instead of yours. Existing at-rest data will remain encrypted by the key you provided.
Determines which services can be used by restricting runtime access to their resources. For more information, see Restricting resource usage .
-
TLS_1_0
-
TLS_1_1
BigQuery
Affected BigQuery features
- In the Google Cloud console, go to the Assured Workloads page.
- Select your new Assured Workloads folder from the list.
- On the Folder Details page in the Allowed services section, click Review Available Updates .
- In the Allowed services
pane, review the services to be added to the Resource Usage Restriction
organization policy for the folder. If BigQuery services are listed, click Allow Services
to add them.
If BigQuery services are not listed, wait for the internal process to complete. If the services are not listed within 12 hours of folder creation, contact Cloud Customer Care .
After the enablement process is completed, you can use BigQuery in your Assured Workloads folder.
Gemini in BigQuery is not supported by Assured Workloads.
- Interaction with remote data sources
- Externally-trained BQML models are not supported. Internally-trained BQML models are supported.
- Dynamic data masking
- GDrive export
- Remote functions
- Saved queries
- Workflow scheduling
- For BigQuery Studio, notebooks are unsupported.
- Gemini in BigQuery is not supported.
gcloud --version
and then gcloud components update
to update to
the newest version.projectname.dataset.table
in the BigQuery
CLI._default
logging buckets or restrict _default
buckets to
in-scope regions to maintain compliance using the following command:gcloud alpha logging settings update --organization=ORGANIZATION_ID --disable-default-sink
See Regionalize your logs for more information.
Compute Engine
Affected Compute Engine features
Feature | Description |
---|---|
Suspending and resuming a VM instance | This feature is disabled. Suspending and resuming a VM instance requires persistent disk storage, and persistent disk storage used for storing the suspended VM state cannot currently be encrypted by using CMEK. See the gcp.restrictNonCmekServices
organization policy
constraint in the section above to understand the data sovereignty and data residency
implications of enabling this feature. |
Local SSDs | This feature is disabled. You will be unable to create an instance with Local SSDs because they currently cannot be encrypted by using CMEK. See the gcp.restrictNonCmekServices
organization policy
constraint in the section above to understand the data sovereignty and data residency
implications of enabling this feature. |
Guest environment | It is possible for scripts, daemons, and binaries that are included with the guest
environment to access unencrypted at-rest and in-use data. Depending on your VM
configuration, updates to this software may be installed by default. See Guest environment
for specific
information about each package's contents, source code, and more. These components help you meet data sovereignty through internal security controls and processes. However, if you want additional control, you can also curate your own images or agents and optionally use the compute.trustedImageProjects
organization policy
constraint.See the Building a custom image page for more information. |
OS policies in VM Manager | Inline scripts and binary output files within the OS policy files
are not encrypted using customer-managed encryption keys (CMEK).
Therefore, don't include any sensitive information in these files.
Alternatively, consider storing these
scripts and output files in Cloud Storage buckets. For more information, see Example OS policies
. If you want to restrict the creation or modification of OS policy resources that use inline scripts or binary output files, enable the constraints/osconfig.restrictInlineScriptAndOutputFileUsage
organization policy constraint.For more information, see Constraints for OS Config . |
instances.getSerialPortOutput()
|
This API is disabled; you will be unable to get serial port output from the specified
instance using this API. Change the compute.disableInstanceDataAccessApis
organization policy constraint
value to False
to enable this API. You can also enable and use the interactive serial
port by following the instructions in Enabling access for a project
. |
instances.getScreenshot()
|
This API is disabled; you will be unable to get a screenshot from the specified instance
using this API. Change the compute.disableInstanceDataAccessApis
organization policy constraint
value to False
to enable this API. You can also enable and use the interactive serial
port by following the instructions in Enabling access for a project
. |
Compute Engine organization policy constraints
compute.disableGlobalCloudArmorPolicy
Disables the creation of new global Google Cloud Armor security policies , and the addition or modification of rules to existing global Google Cloud Armor security policies. This constraint doesn't restrict the removal of rules or the ability to remove or change the description and listing of global Google Cloud Armor security policies. Regional Google Cloud Armor security policies are unaffected by this constraint. All global and regional security policies that exist prior to the enforcement of this constraint remain in effect.
compute.disableInstanceDataAccessApis
Globally disables the
instances.getSerialPortOutput()
and instances.getScreenshot()
APIs.Enabling this constraint prevents you from generating credentials on Windows Server VMs .
If you need to manage a username and password on a Windows VM, do the following:
- Enable SSH for Windows VMs .
- Run the following command to change the VM's password:
gcloud compute ssh VM_NAME --command "net user USERNAME PASSWORD "
- VM_NAME : The name of the VM you're setting the password for.
- USERNAME : The username of the user who you're setting the password for.
- PASSWORD : The new password.
compute.restrictNonConfidentialComputing
compute.trustedImageProjects
Setting this value constrains image storage and disk instantiation to the specified list of projects. This value affects data sovereignty by preventing use of any unauthorized images or agents.
Dataform
Affected Dataform features
Feature | Description |
---|---|
Features | It is your responsibility not to use the Vertex Colab Enterprise product or features because it is not compliant with CJIS. |
Cloud Interconnect
Affected Cloud Interconnect features
Feature | Description |
---|---|
High-availability (HA) VPN | You must enable high-availability (HA) VPN functionality when using Cloud Interconnect with Cloud VPN. Additionally, you must adhere to the encryption and regionalization requirements listed in the Affected Cloud VPN features section. |
Cloud KMS
Cloud KMS organization policy constraints
cloudkms.allowedProtectionLevels
-
SOFTWARE
-
HSM
-
EXTERNAL
-
EXTERNAL_VPC
Cloud Logging
Affected Cloud Logging features
Feature | Description |
---|---|
Log sinks | Filters shouldn't contain Customer Data. Log sinks include filters which are stored as configuration. Don't create filters that contain Customer Data. |
Live tailing log entries | Filters shouldn't contain Customer Data. A live tailing session includes a filter which is stored as configuration. Tailing logs doesn't store any log entry data itself, but can query and transmit data across regions. Don't create filters that contain Customer Data. |
Cloud Monitoring
Affected Cloud Monitoring features
Feature | Description |
---|---|
Synthetic Monitor | This feature is disabled. |
Uptime checks | This feature is disabled. |
Log panel widgets in Dashboards | This feature is disabled. You cannot add a log panel to a dashboard. |
Error reporting panel widgets in Dashboards | This feature is disabled. You cannot add an error reporting panel to a dashboard. |
Filter in EventAnnotation
for Dashboards
|
This feature is disabled. Filter of EventAnnotation
cannot be set in a dashboard. |
SqlCondition
in alertPolicies
|
This feature is disabled. You cannot add a SqlCondition
to an alertPolicy
. |
Cloud Run
Affected Cloud Run features
Cloud VPN
Affected Cloud VPN features
Feature | Description |
---|---|
VPN endpoints | You must use only Cloud VPN endpoints that are located in an in-scope region . Ensure that your VPN gateway is configured for use in an in-scope region only. |
Google Cloud Armor
Affected Google Cloud Armor features
Feature | Description |
---|---|
Globally scoped security policies | This feature is disabled by the compute.disableGlobalCloudArmorPolicy
organization policy constraint. |
Spanner
Spanner organization policy constraints
Organization policy constraint | Description |
---|---|
spanner.disableMultiRegionInstanceIfNoLocationSelected
|
Set to True
. Disables the ability to create multi-region Spanner instances to enforce data residency and data sovereignty. |
Speech-to-Text
Affected Speech-to-Text features
Feature | Description |
---|---|
Custom Speech-to-Text models | It is your responsibility not to use Custom Speech-to-Text models because they are not compliant with CJIS. |
Vertex AI Search
Affected Vertex AI Search features
Feature | Description |
---|---|
Search tuning | It is your responsibility not to use the Vertex AI Search search tuning feature because it is not compliant with CJIS. |
Generic recommendations | It is your responsibility not to use the Vertex AI Search generic recommendations feature because it is not compliant with CJIS. |
Media recommendations | It is your responsibility not to use the Vertex AI Search media recommendations feature because it is not compliant with CJIS. |
What's next
- Learn how to create an Assured Workloads folder
- Understand Assured Workloads pricing