09.12 · OCI

Oracle Cloud Infrastructure

Compartments, an IAM policy syntax that reads like English, and security zones — what OCI got right and what its users still trip over.

Oracle Cloud Infrastructure (OCI) is the smallest of the four major hyperscalers but the most heavily used in regulated and financial-services environments because of Oracle's pre-existing database footprint. OCI was redesigned from the ground up in 2016 (after Oracle's "Classic" cloud was widely considered a failure), and that re-architecture shows in some thoughtful choices around tenancy structure and policy language.

This page is a shorter survey than the AWS/Azure/GCP chapters: the concepts you need to recognize OCI in a multi-cloud architecture diagram, with notes on where it diverges interestingly.

Tenancy and compartments

An OCI tenancy is the top-level container for your Oracle cloud account — the equivalent of an AWS Organization root or an Azure tenant. Below the tenancy sits a tree of compartments — OCI's primary mechanism for isolating resources.

The IAM policy syntax — written in English

OCI's IAM policy syntax is the most distinctive thing about the platform. Where AWS uses JSON policy documents and GCP uses role bindings, OCI policies are written as English-like statements. Once you read a few, they become readable at a glance:

// Group "PaymentsAdmins" can do anything with payments-compartment resources Allow group PaymentsAdmins to manage all-resources in compartment Payments // Group "BackupReader" can read backups across two specific compartments Allow group BackupReader to read object-family in compartment Backups Allow group BackupReader to read object-family in compartment Archives // Dynamic group: instances tagged "role=web" can read from a vault Allow dynamic-group WebServers to read secret-family in compartment SharedServices where target.vault.id = 'ocid1.vault.oc1...'

The four verbsinspect, read, use, manage — are a strict hierarchy. inspect just lists. read additionally reads metadata. use additionally operates on existing resources. manage additionally creates and deletes. This is a cleaner model than AWS's hundreds of permission strings, at the cost of some granularity.

Dynamic groups let you write policies that apply to resources matching a rule, similar to AWS IAM Roles attached to EC2 instances. The example above grants secret access to "instances tagged role=web" — no key file, no static credential, the resource's own attributes are the auth.

Security Zones

A Security Zone in OCI is a compartment (or set of compartments) with a baked-in security policy that enforces rules at create-time, not just detects them after the fact. If you try to create a resource that violates the zone's policy, the create fails. Standard zone policy includes:

What it enforces

No public buckets. No instances without OCI Vault-managed encryption. No use of default tenancy-level groups. All resources must be created in the same security zone as their dependencies.

Effectively a policy-as-code guardrail, baked into the platform rather than checked after the fact by a posture management tool.

How it compares

Closest analogue: AWS SCPs combined with Service Catalog templates, or Azure Policy with Deny effects, or GCP Organization Policies with constraint-based denial.

The advantage: it's a unified, declarative model with one product. The disadvantage: less flexible than the more general policy-engine approaches.

Object Storage, networking, the usual

OCI Object Storage (buckets) supports public buckets, pre-authenticated requests (PARs — the OCI equivalent of S3 presigned URLs and Azure SAS tokens), and customer-managed encryption keys via OCI Vault. The same hardening discipline applies: disable public buckets at the compartment level, prefer PARs to public, use Vault-managed keys for sensitive data.

Networking gives you Virtual Cloud Networks (VCNs) — the OCI VPC — with subnets, route tables, security lists (the OCI security group), and network security groups (a separate, more flexible filtering layer). Private endpoints for OCI services (Object Storage, Autonomous Database, etc.) let workloads reach services privately, same pattern as Azure Private Endpoint and GCP Private Service Connect.

What OCI got right; what users still trip over

Right: Compartments are a cleaner isolation unit than per-account-in-Org models. The English-like policy language is genuinely easier to write and read than JSON. Security Zones bake guardrails into resource creation. Free tier is meaningful: Always Free includes Autonomous Database and Compute instances.

Trip-ups: The default tenancy admin group (Administrators) is unbelievably powerful and frequently includes more humans than it should. Default network ACLs (security lists) on new VCNs allow inbound SSH from 0.0.0.0/0 — verify and lock down on every new VCN. Compartment moves are not free; resources tagged into a compartment have to be physically migrated to leave it.

The point

OCI is the cleanest second-system rewrite among the four major clouds. The compartment model, the English-like policy syntax, and Security Zones reflect lessons Oracle learned from watching AWS, Azure, and GCP for a decade. The disciplines that work in those clouds — least privilege, default-deny on public access, encrypt with customer-managed keys, monitor continuously — work here too with slightly different vocabulary.

If your job lands you in OCI, the skill that transfers fastest is reading the policy language. Once Allow group X to manage resource-family in compartment Y reads naturally, the rest of OCI starts to make sense.

References

Formatted in APA 7. Alphabetized by first author's last name.

  1. Oracle. (n.d.-a). Managing compartments. Oracle Cloud Infrastructure documentation. https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcompartments.htm
  2. Oracle. (n.d.-b). Policy syntax. Oracle Cloud Infrastructure documentation. https://docs.oracle.com/en-us/iaas/Content/Identity/Reference/policysyntax.htm
  3. Oracle. (n.d.-c). Security Zones overview. Oracle Cloud Infrastructure documentation. https://docs.oracle.com/en-us/iaas/security-zone/using/security-zones.htm
  4. Oracle. (n.d.-d). Security overview. Oracle Cloud Infrastructure documentation. https://docs.oracle.com/en-us/iaas/Content/Security/Concepts/security_overview.htm