Coder Social home page Coder Social logo

trvsmtchll / oci-cis-landingzone-quickstart Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oracle-quickstart/oci-cis-landingzone-quickstart

1.0 1.0 0.0 3.34 MB

Quickstart Terraform configuration for tenancy setup according to CIS OCI Foundations Benchmark.

License: Universal Permissive License v1.0

HCL 73.83% Python 26.17%

oci-cis-landingzone-quickstart's Introduction

CIS OCI Landing Zone Quick Start Template

Overview

This Landing Zone template deploys a standardized environment in an Oracle Cloud Infrastructure (OCI) tenancy that helps organizations to comply with the CIS OCI Foundations Benchmark v1.1.

The template uses multiple compartments, groups, and IAM policies to segregate access to resources based on job function. The resources within the template are configured to meet the CIS OCI Foundations Benchmark settings related to:

  • IAM (Identity & Access Management)
  • Networking
  • Keys
  • Cloud Guard
  • Logging
  • Events
  • Notifications
  • Object Storage

This Landing Zone fork includes Aviatrix providing encrypted Multi-Cloud connectivity with centralized visibility and control. An Aviatrix Controller is required, the controller can be launched from marketplace of your preferred CSP. Please review the Getting Started guide here.

Deliverables

This repository encloses two deliverables:

  • A reference implementation written in Terraform HCL (Hashicorp Language) that provisions fully functional resources in an OCI tenancy.
  • A Python script that performs compliance checks for most of the CIS OCI Foundations Benchmark recommendations. The script is completely independent of the Terraform code and can be used against any existing tenancy.

Notable Enhancements in this Fork

  • Support for 2 OCI regions (oci_region_1 and oci_region_2)
  • Deployment of Aviatrix Transit VCN and High-Availability Gateway
  • Remote state in OCI Object Storage delineation between the two regions (Setup secret keys and bucket as a pre-req)
  • Deployment of Aviatrix Spoke
  • Details, Aviatrix pre-requisites, and instructions can be found in oci_region_1

Architecture

The Terraform code deploys a standard three-tier network architecture within a single Virtual Cloud Network (VCN). The three tiers are divided into:

  • One public subnet for load balancers and bastion servers;
  • Two private subnets: one for the application tier and one for the database tier.

The Landing Zone template also creates four compartments in the tenancy:

  • A network compartment: for all networking resources.
  • A security compartment: for all logging, key management, and notifications resources.
  • An application development compartment: for application development related services, including compute, storage, functions, streams, Kubernetes, API Gateway, etc.
  • A database compartment: for all database resources.

The compartment design reflects a basic functional structure observed across different organizations, where IT responsibilities are typically split among networking, security, application development and database admin teams. Each compartment is assigned an admin group, with enough permissions to perform its duties. The provided permissions lists are not exhaustive and are expected to be appended with new statements as new resources are brought into the Terraform template.

The diagram below shows services and resources that are deployed:

Architecture

The greyed out icons in the AppDev and Database compartments indicate services not provisioned by the template.

The resources are provisioned using a single user account with broad tenancy administration privileges.

Executing Instructions

Acknowledgements

Contributors

Feedback

We welcome your feedback. To post feedback, submit feature ideas or report bugs, please use the Issues section on this repository.

oci-cis-landingzone-quickstart's People

Contributors

andrecorreaneto avatar halimer avatar trvsmtchll avatar

Stargazers

 avatar

Watchers

 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.