Git Product home page Git Product logo

cdmc's Introduction

Google Cloud CDMC Reference Architecture

This repository contains the CDMC reference architecture for Google Cloud. This guide provides the detailed instructions and technical artefacts required to stand up a Google Cloud architecture compliant with the 14 Controls of the EDMCouncil Cloud Data Management Capabilities (CDMC).

This architecture has been tested for compliance against the controls by an indipendent third party, and has achieved compliance on the controls.

This architecture should be seen as an example guide. Each user who wishes to work towards CDMC compliance for their organisation will need to customise the architecture to their needs and undergo a separate CDMC assessment on their solution.

Prerequisites

GCP Setup

Obtain application default credentials (ADC)

In order to run the scripts in the repositories, you will need to set up the application default credentials for any machine used to run the script.

gcloud auth application-default login

You will be asked to login and enter an authorization code.

This command will place the credentials file in the following location:

  • Linux, macOS: $HOME/.config/gcloud/application_default_credentials.json
  • Windows: %APPDATA%\gcloud\application_default_credentials.json

Infrastructure creation

The CDMC architecture relies on a number of GCP component which need to be provisioned.

  • Optional: create a GCP Folder:

      gcloud resource-manager folders create --display-name=CDMC-LABS
    
GCP Projects setup

This guide relies on two projects being available:

  • A project to store the data, and run the controls against. For example cdmc-confdata. You can create the data project with this command:

      gcloud projects create cdmc-confdata --folder [FOLDER_ID]
    
  • A project to act as your data governance one. For example cdmc-gov. You can create the data governance project with this command:

      gcloud projects create cdmc-gov --folder [FOLDER_ID]
    
Infrastructure configuration

The setup.sh script creates the necessary GCP components in the Data and Gov projects created above.

Before running the setup.sh script, make sure you have created and customised your environment-variables.sh file, using environment-variables.example as a template.

cp environment-variables.example environment-variables.sh

Once you have customised the environment-variables.sh, make sure to execute it:

source environment-variables.sh

Then create the infrastructure using the setup.sh convenience script.

source setup.sh

Virtual Environment

It is advisable to create a virtual environment to install the required python dependencies in the machine you are running any script from.

# Install virtual environment and activate
python3 -m venv .venv
source .venv/bin/activate

Deployment Guide

Each component of the reference architecture has its own deployment guide. To deploy the entire reference architecture, follow the steps in each of the guides. There are 7 guides in total listed below:

cdmc's People

Contributors

mtronci avatar swainjo avatar edu-marreto avatar adityapawardt2 avatar marktomlinson1 avatar caleonardo avatar shirleycohen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.