cloud-foundation-fabric/modules/data-catalog-policy-tag
Wiktor Niesiobędzki 1a657b31d3 Bump beta provider to 4.48
This is the first version that supports `gateway_api_config` block
2023-01-29 15:50:24 +01:00
..
README.md Enforce terraform fmt in examples 2022-12-18 14:00:19 +01:00
iam.tf Policy Tag: Add IAM at tag level (#579) 2022-03-10 19:21:54 +01:00
main.tf Policy Tag: Add IAM at tag level (#579) 2022-03-10 19:21:54 +01:00
outputs.tf Fix data catalog policy tag output. 2022-03-31 10:36:47 +02:00
variables.tf cannot instead of can not 2022-11-11 11:56:47 +00:00
versions.tf Bump beta provider to 4.48 2023-01-29 15:50:24 +01:00

README.md

Data Catalog Module

This module simplifies the creation of Data Catalog Policy Tags. Policy Tags can be used to configure Bigquery column-level access.

Note: Data Catalog is still in beta, hence this module currently uses the beta provider.

Examples

Simple Taxonomy with policy tags

module "cmn-dc" {
  source     = "./fabric/modules/data-catalog-policy-tag"
  name       = "my-datacatalog-policy-tags"
  project_id = "my-project"
  tags = {
    low = null, medium = null, high = null
  }
}
# tftest modules=1 resources=4

Taxonomy with IAM binding

module "cmn-dc" {
  source     = "./fabric/modules/data-catalog-policy-tag"
  name       = "my-datacatalog-policy-tags"
  project_id = "my-project"
  tags = {
    low    = null
    medium = null
    high   = { "roles/datacatalog.categoryFineGrainedReader" = ["group:GROUP_NAME@example.com"] }
  }
  iam = {
    "roles/datacatalog.categoryAdmin" = ["group:GROUP_NAME@example.com"]
  }
}
# tftest modules=1 resources=6

Variables

name description type required default
name Name of this taxonomy. string
project_id GCP project id.
activated_policy_types A list of policy types that are activated for this taxonomy. list(string) ["FINE_GRAINED_ACCESS_CONTROL"]
description Description of this taxonomy. string "Taxonomy - Terraform managed"
group_iam Authoritative IAM binding for organization groups, in {GROUP_EMAIL => [ROLES]} format. Group emails need to be static. Can be used in combination with the iam variable. map(list(string)) {}
iam IAM bindings in {ROLE => [MEMBERS]} format. map(list(string)) {}
iam_additive IAM additive bindings in {ROLE => [MEMBERS]} format. map(list(string)) {}
iam_additive_members IAM additive bindings in {MEMBERS => [ROLE]} format. This might break if members are dynamic values. map(list(string)) {}
location Data Catalog Taxonomy location. string "eu"
prefix Optional prefix used to generate project id and name. string null
tags List of Data Catalog Policy tags to be created with optional IAM binging configuration in {tag => {ROLE => [MEMBERS]}} format. map(map(list(string))) {}

Outputs

name description sensitive
tags Policy Tags.
taxonomy_id Taxonomy id.

TODO

  • Support IAM at tag level.
  • Support Child policy tags