Documentation

GCP Onboarding - Ternary Access with GCP VPC Service Controls (VPC-SC)

If your organization has implemented GCP VPC Service Controls (VPC-SC) or is currently considering implementing VPC-SC, we have developed a VPC-SC policy template to quickly onboard Ternary within your security perimeter. Parameters in CODE BLOCKS(SERVICE_ACCOUNT_ID, SOURCE_DATASET_PROJECT_NUMBER) require your input and are unique to your organization. Parameters in bold (project ID) will be provided by your Ternary account team. We have a have different set of parameters for Americas-based Ternary customers and EU-based Ternary customers. Please ask your Ternary team if you are unsure which region Ternary is hosting your environment.

The two parameters you will need to provide

Access Level stanza

TERNARY_ALLOWED_SA = {
combining_function = "AND"
conditions = [{
ip_subnetworks = []
required_access_levels = null
members = ["SERVICE_ACCOUNT_ID"]
negate = false
regions = null
}]
}

Ingress Policy stanza

ternary_policy_in = {
ingress_from = {
identity_type = "ANY_IDENTITY"
sources = {
resource = "projects/111111111111"
}
}
ingress_to = {
resources = ["projects/SOURCE_DATASET_PROJECT_NUMBER"]
operations = {
"bigquery.googleapis.com" = [{ method = "*" }],
"bigquerydatatransfer.googleapis.com" = [{ method = "*" }],
"cloudasset.googleapis.com" = [{ method = "*" }],
"cloudresourcemanager.googleapis.com" = [{ method = "*" }],
"monitoring.googleapis.com" = [{ method = "*" }],
"recommender.googleapis.com" = [{ method = "*" }],
}
}
}

Egress Policy stanza

ternary_policy_out = {
egress_from = {
identity_type = "ANY_IDENTITY"
}
egress_to = {
resources = ["projects/**111111111111**","projects/**222222222222**","projects/**333333333333**"]
operations = {
"bigquery.googleapis.com" = [{ method = "*" }],
"bigquerydatatransfer.googleapis.com" = [{ method = "*" }],
"cloudasset.googleapis.com" = [{ method = "*" }],
"cloudresourcemanager.googleapis.com" = [{ method = "*" }],
"monitoring.googleapis.com" = [{ method = "*" }],
"recommender.googleapis.com" = [{ method = "*" }],
}
}
}