Oracle Enterprise Landing Zone v2 Configuration

This information provides details about the required and available configurations for deploying Oracle Enterprise Landing Zone (OELZ) v2 in Oracle Cloud Infrastructure (OCI).

Prerequisites

OELZ v2 is designed for deployment to a tenancy owned by a tenancy administrator. To deploy OELZ v2, you must be a member of the administrators group for the tenancy. The tenancy must have the required resource limits and have the OCI Logging Analytics service enabled. For details about the prerequisites, how to check if your tenancy meets them, and how to enable features, see Oracle Enterprise Landing Zone v2 Implementation.

Minimum Required Configuration

Deployment of OELZ v2 is controlled by several Terraform input variables. The following information provides the minimum required configurations to deploy OELZ v2.

Basic Terraform Connection

The following information supplies the required provider variables for OELZ v2.

NameDescriptionTypeDefaultRequired
current_user_ocidID of user to deploy the OELZ v2string""No
api_fingerprintAPI fingerprint that can be retrieved from the OCI Consolestring""No
api_private_keyAPI private keystring""No
api_private_key_pathLocal path to the API private keystring""No
tenancy_ocidID of tenancystringNot applicableYes
regionOCI region to deploy the OELZ v2 resources tostringNot applicableYes
resource_labelPrefix used to avoid naming conflictstringNot applicableNo

Compartment Module

The following diagram illustrates the compartments that the landing zone deploys.


Image of the compartments that the landing zone deploys

The OELZ v2 home compartment is created in the landing zone. The other compartments are created in:

  • elz-environment
  • elz-workload

Required arguments for the OELZ v2 home compartment are:

  • compartment_parent_id: Oracle Cloud Identifier (OCID) of the compartment and tenancy in which you create OELZ v2.
  • compartment_name: Name of the OELZ v2 home compartment.
  • compartment_description: Description of the OELZ v2 home compartment.
  • enable_compartment_delete: Unless enable_delete is explicitly set to true, Terraform doesn’t delete compartments on destroy.

The following information provides required input for configuring the compartment.

NameDescriptionTypeDefaultRequired
enable_compartment_deleteSet to true to allow the compartments to be deleted on Terraform destroy.booltrueNo
home_compartment_nameName of the home compartment in which all OELZ v2 resources are deployed.string"OCI-ELZ-CMP-HOME"No

Identity Module

Each environment has its own identity domain. The identity domain applies to all resources in the environment compartment. OELZ v2 only supports the new identity domains in OCI (Henosis), and not previous IDCS domains.

Required attributes are:

  • Display Name: Display name of the identity domain. The default is OCI-ELZ--IDT.
  • Description: Description of the identity domain. The default is OCI OELZ v2 Identity Domain.
  • Domain Type: Premium.
  • Domain Admin: Email address for the domain admin.
  • Compartment: OCID for the compartment where the domain is stored. This compartment should be the L4-Security compartment.
  • Tags: Optional free-form tags.

Identity Domain Configurations

The following information provides required arguments and parameters for the identity domain.

NameDescriptionTypeDefaultRequired
nonprod_domain_admin_emailEmail address for the NonProd identity domain admin.stringNot applicableYes
prod_domain_admin_emailEmail address for the Prod identity domain admin.stringNot applicableYes
break_glass_user_email_listUnique list of break glass user Email addresses that don't exist in the tenancy. These users are added to the Administrator group.list(string)[]No

Groups and Policies

For control over users and user groups, create a federate-able identity domain in the L4-Security compartment for each environment. If you're deploying OELZ v2, set up federation after the OELZ v2 has been deployed.

OELZ v2 creates six different user groups for managing individually deployed environments (two by default for production and non-production).

  • Network Admin: OCI OELZ v2 Network Administrators Group that manages all network resources
  • SecOps Admin: OCI OELZ v2 Security Administrators Group
  • IAM Admin: OCI OELZ v2 IAM Group
  • Ops Admin: OCI OELZ v2 Ops Admin Group
  • Platform Admin: OCI OELZ v2 Platform Admin Group

When you create these user groups, the inputs are optional since there are default values for the group name; however, if you want to set up federation, you need to update the user groups with the names that exist in the federated domain.

The following information provides required arguments and parameters for the groups.

Production Environment

NameDescriptionTypeDefaultRequired
prod_network_admin_group_nameThe group name for the OCI OELZ v2 Network Administrators Groupstring"OCI-ELZ-UGP-<Env>-NET-ADMIN"No
prod_ops_admin_group_nameThe group name for the OCI OELZ v2 Ops Administrators Groupstring"OCI-ELZ-UGP-<Env>-OPS-ADMIN"No
prod_iam_admin_group_nameThe group name for the OCI OELZ v2 IAM Administrators Groupstring"OCI-ELZ-UGP-<Env>-IAM-ADMIN"No
input_prod_security_admin_group_nameThe group name for the OCI OELZ v2 Security Administrators Groupstring"OCI-ELZ-UGP-<Env>-SEC-ADMIN"No
prod_platform_admin_group_nameThe group name for the OCI OELZ v2 Platform Administrators Groupstring"OCI-ELZ-UGP-<Env>-PLT-ADMIN"No

Non-Production Environment

NameDescriptionTypeDefaultRequired
nonprod_network_admin_group_nameThe group name for the OCI OELZ v2 Network Administrators Groupstring"OCI-ELZ-UGP-<Env>-NET-ADMIN"No
input_nonprod_ops_admin_group_nameThe group name for the OCI OELZ v2 Ops Administrators Groupstring"OCI-ELZ-UGP-<Env>-OPS-ADMIN"No
input_nonprod_iam_admin_group_nameThe group name for the OCI OELZ v2 IAM Administrators Groupstring"OCI-ELZ-UGP-<Env>-IAM-ADMIN"No
nonprod_security_admin_group_nameThe group name for the OCI OELZ v2 Security Administrators Groupstring"OCI-ELZ-UGP-<Env>-SEC-ADMIN"No
nonprod_platform_admin_group_nameThe group name for the OCI OELZ v2 Platform Administrators Groupstring"OCI-ELZ-UGP-<Env>-PLT-ADMIN"No

OELZ v2 deploys policies that grant administrative privileges to members of each group over resources in their respective compartments.

Budget and Tagging Module

Budget and Tagging modules let you enable or disable budgets and tags in individual environments during and after deployment without impacting the landing zone operation.

The deployment mode of the modules is the same for each additional environment you create.

Budget Module

The Budget module is responsible for deploying the budget component in a single environment. OELZ v2 creates the following components:

  • 1 budget per environment
    • Budget scope: Environment (Production and Non-Production)

The following information provides the arguments and parameters for the Budget module.

NameDescriptionTypeDefaultRequired
nonprod_enable_budgetNot applicableboolNot applicableYes
input_prod_enable_budgetNot applicableboolNot applicableYes

Production Environment

NameDescriptionTypeDefaultRequired
input_prod_budget_amountAmount of the budget expressed as a whole number in the currency of the rate cardstring""No
prod_budget_alert_rule_thresholdThreshold for the budget alertstring""No
prod_domain_admin_email"stringNot applicableYes
prod_budget_alert_rule_messageAlert message for budget alertsstring""No

Non-Production Environment

NameDescriptionTypeDefaultRequired
nonprod_budget_amountAmount of the budget expressed as a whole number in the currency of the rate cardstring""No
input_nonprod_budget_alert_rule_thresholdThreshold for the budget alertstring""No
input_nonprod_domain_admin_emailEmail address for the Non Prod identity domain adminstringNot applicableYes
nonprod_budget_alert_rule_messageAlert message for budget alertsstring""No

Tagging Module

The Tagging module is responsible for deploying tags in the L2 Environment compartment.

OELZ v2 creates the following components:

  • Tag namespace per environment containing the following defined tags and tag defaults:
    • Cost Center
    • Geo Location
    • Environment Prefix

The following information provides the arguments and parameters for the Tagging module.

Production Environment

NameDescriptionTypeDefaultRequired
prod_enable_taggingOption to enable Tagging gateway in the production environmentboolfalseNo
prod_cost_center_taggingProduction cost centerstringNot applicableYes
prod_geo_location_taggingProduction geo centerstringNot applicableYes

Non-Production Environment

NameDescriptionTypeDefaultRequired
nonprod_enable_taggingOption to enable Tagging gateway in the non-production environmentboolfalseNo
nonprod_cost_center_taggingNon-production geo locationstringNot applicableYes
nonprod_geo_location_taggingNon-production geo locationstringNot applicableYes

Monitoring Module

The Monitoring module lets you actively and passively monitor resources by using metrics and alarms features. By default, the Monitoring module creates all the components in each environment. Alerts are disabled.

Monitoring Module Known Limitation

The Monitoring module configures at least 100 Alarms. Make sure the tenancy meets the required service limit.

Required Arguments and Parameters for the Monitoring Module

Production Environment

VariableDescriptionDefault ValueUsage
prod_enable_security_monitoring_alarmsEnable Security Monitoring Alarmsfalse (bool)Set to true
prod_enable_network_monitoring_alarmsEnable Network Monitoring Alarmsfalse (bool)Set to true
prod_enable_workload_monitoring_alarmsEnable Workload Monitoring Alarmsfalse (bool)Set to true
prod_network_topic_endpointsEnable Network Notifications Topicempty (list)Email Address
prod_secops_topic_endpointsEnable Security OPS Notifications Topicempty (list)Email Address
prod_platform_topic_endpointsEnable Platform Notifications Topicempty (list)Email Address
prod_identity_topic_endpointsEnable Identity Notifications Topicempty (list)Email Address

Non-Production Environment

VariableDescriptionDefault ValueUsage
nonprod_enable_security_monitoring_alarmsEnable Security Monitoring Alarmsfalse (bool)Set to true
nonprod_enable_network_monitoring_alarmsEnable Network Monitoring Alarmsfalse (bool)Set to true
nonprod_enable_workload_monitoring_alarmsEnable Workload Monitoring Alarmsfalse (bool)Set to true
nonprod_network_topic_endpointsEnable Network Notifications Topicempty (list)Email Address
nonprod_secops_topic_endpointsEnable Security OPS Notifications Topicempty (list)Email Address
nonprod_platform_topic_endpointsEnable Platform Notifications Topicempty (list)Email Address
nonprod_identity_topic_endpointsEnable Identity Notifications Topicempty (list)Email Address

Networking Module

The Networking module deploys the hub-and-spoke distribution paradigm, VPN, and OCI FastConnect in the landing zone environment.

Networking Module Known Limitation

  • The following CIDR ranges can't be used during OELZ v2 deployment:
    • 169.254.10.0-169.254.19.255
    • 169.254.100.0-169.254.109.255
    • 169.254.192.0-169.254.201.255
    • 100.64.0.0–100.127.255.255 (Used by Exadata X8M/X9M for the interconnect)

Required Arguments and Parameters for the Networking Module

Production Environment

Hub-Related Variables

VariableDescriptionDefault ValueUsage
prod_hub_vcn_cidr_blockHUB VCN CIDR Block"" (string)Provide CIDR IP
prod_enable_internet_gateway_hubEnable Internet Gateway In Hub"false" (string)To Enable Set to "true"
prod_enable_service_gateway_hubEnable Service Gateway In Hub"false" (string)To Enable Set to "true"
prod_enable_nat_gateway_hubEnable NAT Gateway In Hub"false" (string)To Enable Set to "true"

Spoke-Related Variables

VariableDescriptionDefault ValueUsage
prod_spoke_vcn_cidrSpoke VCN CIDR Block"" (string)Provide CIDR IP
prod_enable_service_gateway_spokeEnable Service Gateway In Spoke"false" (string)To Enable Set to "true"
prod_enable_nat_gateway_spokeEnable NAT Gateway In Spoke"false" (string)To Enable Set to "true"
prod_spoke_subnet_web_cidr_blockSpoke Web CIDR Block"" (string)Provide CIDR IP
prod_spoke_subnet_app_cidr_blockSpoke App CIDR Block"" (string)Provide CIDR IP
prod_spoke_subnet_db_cidr_blockSpoke DB CIDR Block"" (string)Provide CIDR IP

VPN-Related Variables

VariableDescriptionDefault ValueUsage
enable_vpn_or_fastconnectEnable VPN or Fastconnect Service"VPN | FASTCONNECT" (string)Set to "VPN" or "FASTCONNECT"
prod_enable_vpnEnable VPN on Environmentfalse (bool)Set to true
prod_cpe_ip_addressVPN CPE IP Address"" (string)CPE Public IP Address
prod_cpe_display_nameVPN CPE Display Name"" (string)CPE Display Name
prod_cpe_vendorVPN CPE Vender0 (number)Follow CPE Vendor List
prod_ipsec_connection_static_routesIpsec Static Route"" (list)Onpremise IPsec Static Route
prod_shared_secretShared Key for IPSec Tunnel"EXAMPLE" (string)Provide IpSec Tunnel Shared Key
prod_ipsec_routing_typeIpsec Routing Type"STATIC" (string)Set to "STATIC" or "BGP" to use
prod_customer_bgp_asnBGP ASN(IF BGP Selected)"" (string)Provide BGP ASN
prod_bgp_cust_tunnela_ipCPE Side Tunnel End IP Address"" (string)Provide IP Address
prod_customer_bgp_asnOCI Side Tunnel End IP Address"" (string)Provide IP Address

OCI FastConnect-Related Variables (By design, FastConnect-related variables are deployed only in the production environment.)

VariableDescriptionDefault ValueUsage
enable_vpn_or_fastconnectEnable VPN or Fastconnect Service"VPN | FASTCONNECT" (string)Set to "VPN" or "FASTCONNECT"
fastconnect_providerEnable VPN on Environment"" (string)Follow FastConnect List
virtual_circuit_bandwidth_shapeProvisioned Bandwidth"1500" (string)Provide Bandwidth
virtual_circuit_display_nameProvisioned VC Name""(string)VC Display Name
fastconnect_routing_policyFastconnect Routing Policy"" (list)Follow Fastconnect Routing Policy
virtual_circuit_typeVC IP Address Type"PRIVATE | PUBLIC" (string)Provide VC Type
customer_primary_bgp_peering_ipCustomer End BGP Peering IPv4 Address"" (string)Provide IP Address
oracle_primary_bgp_peering_ipOracle End BGP Peering IPv4 Address"" (string)Provide IP Address
virtual_circuit_customer_asnVC BGP ASN""(string)VC BGP ASN
customer_onprem_ip_cidrOn Premise IP CIDR"" (list)On Premise IP CIDR
bgp_md5auth_keyOptional : BGP Authentication MD5""(string)Provide Key
virtual_circuit_is_bfd_enabledOptional : Enable BFD on VCfalse(bool)To Enable Set to true

FastConnect Provider List

FastConnect Provider
AT&T
Azure
Megaport
QTS
CEintro
Cologix
CoreSite
Digital Realty
EdgeConneX
Epsilon
Equinix
InterCloud
Lumen
Neutrona
OMCS
OracleL2ItegDeployment
OracleL3ItegDeployment
Orange
Verizon
Zayo

FastConnect Routing Policy

FastConnect Routing Policy
ORACLE_SERVICE_NETWORK
REGIONAL
MARKET_LEVEL
GLOBAL

Non-Production Environment Variables

Hub-Related Variables

VariableDescriptionDefault ValueUsage
nonprod_hub_vcn_cidr_blockHUB VCN CIDR Block"" (string)Provide IP Address
nonprod_enable_internet_gateway_hubEnable Internet Gateway In Hub"false" (string)To Enable Set to "true"
nonprod_enable_service_gateway_hubEnable Service Gateway In Hub"false" (string)To Enable Set to "true"
nonprod_enable_nat_gateway_hubEnable NAT Gateway In Hub"false" (string)To Enable Set to "true"

Spoke-Related Variables

VariableDescriptionDefault ValueUsage
nonprod_spoke_vcn_cidrSpoke VCN CIDR Block"" (string)Provide IP Address
nonprod_enable_service_gateway_spokeEnable Service Gateway In Spoke"false" (string)To Enable Set to "true"
nonprod_enable_nat_gateway_spokeEnable NAT Gateway In Spoke"false" (string)To Enable Set to "true"
nonprod_spoke_subnet_web_cidr_blockSpoke Web CIDR Block"" (string)Provide IP Address
nonprod_spoke_subnet_app_cidr_blockSpoke App CIDR Block"" (string)Provide IP Address
nonprod_spoke_subnet_db_cidr_blockSpoke DB CIDR Block"" (string)Provide IP Address

VPN-Related Variables

VariableDescriptionDefault ValueUsage
enable_vpn_or_fastconnectEnable VPN or Fastconnect Service"VPN | FASTCONNECT" (string)Set to "VPN" or "FASTCONNECT"
nonprod_enable_vpnEnable VPN on Environmentfalse (bool)Set to true
nonprod_cpe_ip_addressVPN CPE IP Address"" (string)CPE Public IP Address
nonprod_cpe_display_nameVPN CPE Display Name"" (string)CPE Display Name
nonprod_cpe_vendorVPN CPE Vender0 (number)Follow CPE Vendor List
nonprod_ipsec_connection_static_routesIpsec Static Route (list)IPsec Static Route
nonprod_shared_secretShared Key for IPSec Tunnel"EXAMPLE" (string)Provide IpSec Tunnel Shared Key
nonprod_ipsec_routing_typeIpsec Routing Type"STATIC" (string)Set to "STATIC" or "BGP" to use
nonprod_customer_bgp_asnBGP ASN(IF BGP Selected)"" (string)Provide BGP ASN
nonprod_bgp_cust_tunnela_ipCPE Side Tunnel End IP Address"" (string)Provide IP Address
nonprod_customer_bgp_asnOCI Side Tunnel End IP Address"" (string)Provide IP Address

CPE Vendor List

NumberCPE Vendor
0Yamaha-RTX1210
1Other
2Cisco-9.7.1-or-later
3Yamaha-RTX830
4Libreswan
5Fortinet
6NEC
7Cisco-8.5+
8Cisco-IOS
9WatchGuard
10Juniper-MX
11Juniper-SRX
12Furukawa
13Check_Point
14Palo_Alto

Hub-and-Spoke Network

The hub-and-spoke distribution paradigm allows workloads to interconnect. Hub instances are configured on shared network compartments and spoke instances are deployed in workload compartments.

Hub Module

Naming Convention

ResourceDeployed Name
Hub VCN NameOCI-ELZ-VCN-<Environment>-HUB-<Region>
Hub Public Subnet NameOCI-ELZ-VCN-<Environment>-HUB-<Region> 001
Hub Private Subnet NameOCI-ELZ-VCN-<Environment>-HUB-<Region> 002
Hub Internet Gateway Name*OCI-ELZ-IGW-<Environment>-HUB
Hub Service Gateway NameOCI-ELZ-SGW-<Environment>-HUB
Hub NAT Gateway NameOCI-ELZ-NGW-<Environment>-HUB
Hub Public Route Table NameOCI-ELZ-RTPUB-<Environment>-HUB001
Hub Private Route Table NameOCI-ELZ-RTPRV-<Environment>-HUB002

Route Rule

Public Route Table information:

  1. If Internet Gateway is enabled, it will act as default gateway.
  2. All Spoke Subnet destination will be forwarded to DRG.

Private Route Table information:

  1. If NAT Gateway is enabled, it will act as default gateway.
  2. If Service Gateway is enabled, all OCI services can access Hub resources.
  3. All Spoke Subnet destinations are forwarded to DRG.

Security Rule

  1. Ingress Rule: Allow All ICMP Traffic.
  2. Egress Rule: Allow All Protocol Traffic.

Spoke Module

Naming Convention

ResourceDeployed Name
Spoke VCN NameOCI-ELZ-VCN-<Environment>-SPK-<Region>
Spoke Web Subnet NameOCI-ELZ-VCN-<Environment>-SPK-<Region>001
Spoke App Subnet NameOCI-ELZ-VCN-<Environment>-SPK-<Region>002
Spoke DB Subnet NameOCI-ELZ-VCN-<Environment>-SPK-<Region>003
Spoke Service Gateway NameOCI-ELZ-SGW-<Environment>-SPK
Spoke NAT Gateway NameOCI-ELZ-NGW-<Environment>-SPK
Spoke Route TableOCI-ELZ-RTPRV-<Environment>-SPK001

Route Rule

Public Route Table Information:

  1. If NAT Gateway is enabled, it acts as default gateway.
  2. If Service Gateway is enabled, all OCI services can access Spoke resources.
  3. All Hub Subnet destinations are forwarded to DRG.
  4. All Spoke Subnet destination are forwarded to DRG.

Security Rule

  1. Ingress Rule: Allow All ICMP Traffic.
  2. Egress Rule: Allow All Protocol Traffic.

VPN Module

The VPN module is deployed in the Shared Infrastructure Network compartment. The IPsec connection is deployed using the Static or BGP connection.

Naming Convention

ResourceDeployed Name
CPE NameOCI-ELZ-CPE-<Environment>-HUB-<REGION]001
IPsec Connection NameOCI-ELZ-IPC-<Environment>-HUB-<REGION]001

Route Rule

Route Table Information OCI-ELZ-RTPUB-<Environment>-HUB001 Route Will be Updated

  • On Premise IPSec static route will be forwarded to DRG.

Route Rule

Route Table Information OCI-ELZ-RTPRV-<Environment>-HUB001 Route Will be Updated

  • On-premises IPSec static route will be forwarded to DRG.

Route Table Information OCI-ELZ-RTPRV-<Environment>-SPK001 Route Will be Updated

  • On-premises IPSec static route will be forwarded to DRG.

FastConnect Module

Naming Convention

ResourceDeployed Name
FastConnect Circuit NameOCI-ELZ-FCN-<Environment>-HUB-<REGION]001

Route Rule

Route Table Information: OCI-ELZ-RTPUB-<Environment>-HUB001 Route Table Will be Updated

  • On-premises IP CIDR Route will be forwarded to DRG.

Route Table Information: OCI-ELZ-RTPRV-<Environment>-HUB001 Route Table Will be Updated

  • On-premises IP CIDR Route will be forwarded to DRG.

Route Table Information: OCI-ELZ-RTPRV-<Environment>-SPK001 Route Table Will be Updated

  • On-premises IP CIDR Route will be forwarded to DRG.

RPC Attachment

The on-premises subnet route doesn't propagate over the RPC connection to the second hub-and-spoke, and conversely. To accomplish this, create two separate route tables in the DRG called "OCI-ELZ-DRG-P-HUB", one for the IPSec/VC attachment and the other for the RPC attachment. Specify the types of routes to import.

To update DRG OCI-ELZ-DRG-<Environment>-HUB:

  1. Create Import Route Distribution for On Prem.
  2. Create Import Route Distribution for RPC.
  3. Create Route Table for On Prem.
  4. Create Route Table for RPC.
  5. Apply the new route tables to the attachments.

Security

To provide a secure environment, OELZ v2 deploys several Oracle security services, such as Oracle Cloud Guard to monitor for insecure cloud resource deployments, OCI Vulnerability Scanning Service to scan compute instances for open ports and known vulnerabilities, and OCI OS Management Service to manage updates and patches.

To provide secure storage and key management, OELZ v2 deploys a vault and creates a master encryption key stored in the vault, which can be used to encrypt data in object storage.

For secure storage and future analysis of logging data, OELZ v2 directs all logging data, including general log data, service events, and audit logs, to secure storage. This can be secure object storage buckets created by OELZ v2 and encrypted with the master encryption key stored in the central vault.

For secure access to workload resources, OELZ v2 deploys a bastion in the L4 Security compartment.

Security Services

OELZ v2 deploys configurations for multiple security services. Vulnerability Scanning scans compute instances deployed in OELZ v2 (for example, as part of the workloads) for open ports and known security vulnerabilities. OS Management Service works with operating systems on deployed compute instances, such as Oracle Autonomous Linux, to manage patches and updates, helping to ensure a secure environment.

Cloud Guard Sub Module

Cloud Guard can monitor multiple security conditions. OELZ v2 configures Cloud Guard with several Oracle-managed security recipes for up-to-date best practice security monitoring.

By default, Cloud Guard is configured to monitor only the resources deployed in the OELZ v2 home compartment and sub compartments. An option is for Cloud Guard to monitor the entire tenancy. It's controlled by the cloud_guard_target_tenancy variable.

This is a Boolean variable that defaults to false. If it's set to true Cloud Guard is configured to monitor the entire tenancy, instead of the OELZ v2 home compartment.

Cloud Guard Target is deployed in the base compartment of both L2-Prod and L2-Non-Prod environments with related IAM policies. All Oracle managed responder recipes reside in the L4 Security compartment of each environment.

The following target_detector_recipes are Oracle managed:

  • OCI Config Detector Recipes
  • OCI Threat Detector Recipes
  • OCI Activity Detector Recipe

For more information about Cloud Guard, see Cloud Guard.

Required Arguments and Parameters in the Cloud Guard Module

NameDescriptionTypeDefaultRequired
input_enable_cloud_guardTrue if you don't have Cloud Guard enabled, and false if you have Cloud Guard enabled.booltrueNo
cloud_guard_target_tenancyTrue if Cloud Guard targets to tenancy, and false if Cloud Guard targets to the OELZ v2 home compartmentboolfalseNo

Bastion Sub Module

The OCI Bastion service is created in the L4 Security compartment within the L2-Prod compartment, with a second one created in the L4 Security compartment within the L2-Non-Prod compartment. It allows secure access to compute resources in the respective environments. The CIDR Block provided gives the address range of all the resources the Bastion service can host sessions for.

The following information provides the required arguments and parameters in the Bastion module.

Production Environment

NameDescriptionTypeDefaultRequired
prod_enable_bastionOption to enable the Bastion serviceboolNot applicableYes
prod_bastion_client_cidr_block_allow_listList of address ranges in the CIDR notation that you want to allow to connect to sessions hosted by the bastionlist(string)Not applicableYes

Non-Production Environment

NameDescriptionTypeDefaultRequired
nonprod_enable_bastionOption to enable Bastion serviceboolNot applicableYes
nonprod_bastion_client_cidr_block_allow_listList of address ranges in the CIDR notation that you want to allow to connect to sessions hosted by the bastionlist(string)Not applicableYes

Vulnerability Scanning Sub Module

Vulnerability Scanning is part of many security services deployed in OELZ v2. It scans compute instances deployed in OELZ v2 (for example, as part of workloads) for open ports and other known security vulnerabilities.

Key Features:

  • Vulnerability Scanning recipes are created in the L4-Security compartment in both the production and non-production environments to manage instances and read components and VNICs.
  • Network and agent based scanning in enabled by default.
  • Scans are configured with a "Daily" schedule.
  • Qualys integration lets you to run reports on the Qualys Dashboard instead of Cloud Guard. This feature is not currently available from Terraform Code Support, but might be available for later versions.

There are no input parameters required for the Vulnerability Scanning module.

OS Management Sub Module

The OS Management service works with operating systems on deployed compute instances, such as Oracle Autonomous Linux, to manage patches and updates, helping you ensure a secure environment.

Key Features:

  • IAM policy is created at the tenancy level for the OS Management service to emit metrics for instances in the tenancy.
  • Dynamic group is created with name: $-"OCI-ELZ-DG".
  • Matching rules are created with compartment OCIDs (where instances reside), such as L4-Security, Logging, Network, Workload, and Base compartment OCIDs.
  • IAM policy for the dynamic group is created in the landing zone home compartment.

There are no input parameters required for the OS Management module.

Vault and Key Management Sub Module

The OCI Vault service is a key management service that stores and manages master encryption keys and secrets for secure access to resources.

Key Features

  • A virtual vault is created for secure storage of cryptographic keys within L4-Security compartment of both production and non-production environments.
  • A user-manageable master encryption key is also created, stored in the vault, and is usable for encryption of data in OCI storage services.
  • Vault supports the bring your own key (BYOK) scenario and can store all user keys.
  • IAM policies for storage services to use keys are created in the landing zone Base compartment.

Required Arguments and Parameters for the Vault and Key Management Module

Production Environment

NameDescriptionTypeDefaultRequired
prod_vault_typeType of vault to createstring"DEFAULT"No
prod_vault_replica_regionRegion to create replica tostring""No
prod_enable_vault_replicationOption to enable vault replicationboolfalseNo
prod_create_master_encryption_keyOption to create master encryption keybooltrueNo

Non-Production Environment

NameDescriptionTypeDefaultRequired
nonprod_vault_typeType of vault to createstring"DEFAULT"No
nonprod_vault_replica_regionRegion to create replica tostring""No
nonprod_enable_vault_replicationOption to enable vault replicationboolfalseNo
nonprod_create_master_encryption_keyOption to create master encryption keybooltrueNo

For a typical enterprise adopting OCI, Vault must be configured to address the most common enterprise use cases. For common enterprise scenarios and the corresponding recommended guidance, see Vault Best Practices After Landing Zone Implementation.

Logging

OELZ v2 sets up secure storage of all log data generated by resources and services in the landing zone. For both environments in L2-Prod and L2-NonProd compartments, a logging compartment “L3-Logging Compartment” is created. This compartment hosts the following three listed immutable storage buckets:

  • AuditLogs_standard: Bucket for audit logs
  • DefaultLogs_standard: Bucket for general logging
  • ServiceEvents_standard: Bucket for service events

The buckets are encrypted with the master encryption key (MEK) stored in the vault. Retention policies are also applied to the buckets to manage data retention, disallowing deletion or modifications of data for a configurable time period.

The default log group (Name: Default_Group) is created in the L4-Security compartment. Service logs for all supported services (VCN Flow logs, Object Storage, and so on) are enabled and stored in the L3-Logging compartment.

All the events in the OELZ v2 environment are streamed to standard object storage. The stream pool is created in the L4-Security compartment and encrypted with the MEK. The service events are stored in the standard object storage bucket in the Logging compartment.

OCI Service Connector Hub is used to ship all the audit, service logs, and events in OELZ v2 to the buckets in the Logging compartment. All IAM policies for Service Connector Hub are created in the L2 level home compartment of each environment.

Required Arguments and Parameters for Bucket Retention Policies

Production Environment

NameDescriptionTypeDefaultRequired
prod_retention_policy_duration_amountThe timeAmount is interpreted in units defined by the timeUnit parameter, and is calculated in relation to each object's Last-Modified timestamp.string"1"No
prod_retention_policy_duration_time_unitThe unit that should be used to interpret timeAmount.string"DAYS"No

Non-Production Environment

NameDescriptionTypeDefaultRequired
nonprod_retention_policy_duration_amountThe timeAmount is interpreted in units defined by the timeUnit parameter, and is calculated in relation to each object's Last-Modified timestamp.string"1"No
nonprod_retention_policy_duration_time_unitThe unit that should be used to interpret timeAmount.string"DAYS"No

Archive Log

NameDescriptionTypeDefaultRequired
archive_log_retention_policy_duration_amountThe timeAmount is interpreted in units defined by the timeUnit parameter, and is calculated in relation to each object's Last-Modified timestamp.string"1"No
archive_log_retention_policy_duration_time_unitThe unit that should be used to interpret timeAmount.string"DAYS"No