{"id":910,"date":"2026-04-16T16:04:20","date_gmt":"2026-04-16T16:04:20","guid":{"rendered":"https:\/\/www.devopsschool.com\/tutorials\/oracle-cloud-license-manager-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-governance-and-administration\/"},"modified":"2026-04-16T16:04:20","modified_gmt":"2026-04-16T16:04:20","slug":"oracle-cloud-license-manager-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-governance-and-administration","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/tutorials\/oracle-cloud-license-manager-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-governance-and-administration\/","title":{"rendered":"Oracle Cloud License Manager Tutorial: Architecture, Pricing, Use Cases, and Hands-On Guide for Governance and Administration"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Category<\/h2>\n\n\n\n<p>Governance and Administration<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Introduction<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What this service is<\/h3>\n\n\n\n<p>In Oracle Cloud, <strong>License Manager<\/strong> is best understood as the <strong>governance and administration practice<\/strong> of tracking, controlling, and auditing software licensing obligations (for example, <strong>BYOL<\/strong>\u2014Bring Your Own License vs <strong>license-included<\/strong>, and third\u2011party vendor licenses) for workloads running in Oracle Cloud environments.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">One-paragraph simple explanation<\/h3>\n\n\n\n<p>Teams use <strong>License Manager<\/strong> to avoid \u201clicense drift\u201d: situations where cloud resources get created, scaled, cloned, or moved without clear license ownership, entitlements, or audit evidence. With a License Manager approach, you establish consistent tagging, reporting, and guardrails so you can answer: <em>What is deployed, what license model applies, who approved it, and how do we prove it during an audit?<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">One-paragraph technical explanation<\/h3>\n\n\n\n<p>Oracle Cloud Infrastructure (OCI) does not clearly document a single standalone, universally available service with an API named <strong>\u201cLicense Manager\u201d<\/strong> in the way AWS has \u201cAWS License Manager.\u201d Instead, license governance on Oracle Cloud is typically implemented using <strong>OCI Governance and Administration services<\/strong> such as <strong>Tagging (defined tags + cost-tracking tags)<\/strong>, <strong>IAM policies<\/strong>, <strong>Audit logs<\/strong>, <strong>Resource Search<\/strong>, <strong>Usage Reports<\/strong>, <strong>Cost Analysis<\/strong>, <strong>Budgets<\/strong>, and optionally <strong>Events + Notifications<\/strong> for automation. This tutorial shows a realistic \u201cLicense Manager\u201d implementation using those supported OCI building blocks. If your tenancy includes a console feature explicitly labeled \u201cLicense Manager,\u201d <strong>verify its exact scope and workflow in official Oracle documentation for your account<\/strong>, and use the same governance patterns described here.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What problem it solves<\/h3>\n\n\n\n<p>License Manager helps solve:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Compliance risk<\/strong>: proving correct license use and preventing unapproved deployments.<\/li>\n<li><strong>Cost risk<\/strong>: avoiding expensive \u201clicense-included\u201d consumption when BYOL was required (or vice versa), and preventing overprovisioning.<\/li>\n<li><strong>Operational risk<\/strong>: inability to inventory software deployments or reconstruct who changed what during an audit.<\/li>\n<li><strong>Security risk<\/strong>: unclear ownership of license keys, contracts, and privileged software installs.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">2. What is License Manager?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Official purpose<\/h3>\n\n\n\n<p>In Oracle Cloud\u2019s <strong>Governance and Administration<\/strong> context, License Manager\u2019s purpose is to help you <strong>manage licensing posture<\/strong> for software you run in Oracle Cloud\u2014by creating a <strong>repeatable system<\/strong> for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>recording <strong>license model<\/strong> (BYOL vs license-included vs enterprise agreement),<\/li>\n<li>mapping resources to <strong>contracts \/ entitlements<\/strong>,<\/li>\n<li>producing <strong>inventory and audit evidence<\/strong>, and<\/li>\n<li>enforcing <strong>guardrails<\/strong> so workloads are created consistently.<\/li>\n<\/ul>\n\n\n\n<blockquote>\n<p>Important clarification: Oracle\u2019s publicly accessible OCI documentation does not consistently present a single, standalone product page for an OCI service named <strong>License Manager<\/strong>. Treat \u201cLicense Manager\u201d here as the <strong>Oracle Cloud license governance implementation<\/strong> using documented OCI governance capabilities. <strong>Verify in official docs<\/strong> if your tenancy has an explicit \u201cLicense Manager\u201d feature and what it provides.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Core capabilities (as implemented in OCI governance)<\/h3>\n\n\n\n<p>A practical License Manager implementation on Oracle Cloud typically includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Standardized license metadata<\/strong> using <strong>defined tags<\/strong> (namespace + keys) applied to resources.<\/li>\n<li><strong>Cost allocation<\/strong> using <strong>cost-tracking tags<\/strong> and Cost Analysis.<\/li>\n<li><strong>Inventory<\/strong> using <strong>Resource Search<\/strong> and\/or usage exports.<\/li>\n<li><strong>Change evidence<\/strong> using <strong>Audit<\/strong> logs.<\/li>\n<li><strong>Controls<\/strong> using IAM policies and compartment design.<\/li>\n<li><strong>Alerts<\/strong> using Budgets, and optionally Events + Notifications.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Major components (OCI building blocks)<\/h3>\n\n\n\n<p>Common OCI services used to build License Manager controls:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tagging<\/strong> (defined tags, tag defaults, cost-tracking tags)<\/li>\n<li><strong>Identity and Access Management (IAM)<\/strong> (groups, dynamic groups, policies)<\/li>\n<li><strong>Compartments<\/strong> (organizational boundaries)<\/li>\n<li><strong>Audit<\/strong> (immutable event trail)<\/li>\n<li><strong>Resource Search<\/strong> (inventory queries)<\/li>\n<li><strong>Usage Reports \/ Cost Analysis \/ Budgets<\/strong> (cost governance)<\/li>\n<li><strong>Notifications \/ Events \/ Functions<\/strong> (automation and alerting, optional)<\/li>\n<li><strong>Object Storage<\/strong> (store exported reports, optional)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Service type<\/h3>\n\n\n\n<p>License Manager (as covered in this tutorial) is a <strong>governance pattern<\/strong> built on top of <strong>Oracle Cloud Governance and Administration<\/strong> services rather than a single compute\/data-plane service.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Scope (tenancy\/global\/regional)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tags, IAM, compartments, and audit<\/strong> are <strong>tenancy-level<\/strong> governance constructs (though resources and logs are regionally produced and viewed).<\/li>\n<li><strong>Cost and usage<\/strong> are typically reported at the <strong>tenancy level<\/strong>, with filters by compartment, tag, and time range (availability can vary by account settings and services\u2014<strong>verify in official docs<\/strong>).<\/li>\n<li>Resource inventory is scoped by <strong>tenancy<\/strong> and can be filtered by compartments and regions.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">How it fits into the Oracle Cloud ecosystem<\/h3>\n\n\n\n<p>License Manager ties together \u201cwho can create what\u201d (IAM), \u201cwhere resources live\u201d (compartments), \u201chow resources are labeled\u201d (tags), \u201cwhat it costs\u201d (billing and cost analysis), and \u201cwhat changed\u201d (audit). It\u2019s a central part of <strong>cloud governance<\/strong>\u2014especially when you run commercial software (Oracle software or third-party) where licensing obligations exist independently of cloud infrastructure billing.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">3. Why use License Manager?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Business reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reduce audit exposure<\/strong> by keeping provable inventory and approval evidence.<\/li>\n<li><strong>Avoid unplanned spend<\/strong> tied to licensed software deployment and scaling.<\/li>\n<li><strong>Standardize governance<\/strong> across business units and projects.<\/li>\n<li><strong>Support procurement<\/strong> with accurate consumption and entitlement mapping.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Technical reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Consistent metadata<\/strong> (tags) enables automation and reporting.<\/li>\n<li><strong>Compartment boundaries<\/strong> enable clear separation of duties and cost ownership.<\/li>\n<li><strong>Searchable inventory<\/strong> helps operations quickly find affected assets during incidents.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Operational reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Faster incident response: \u201cWhich instances run software X?\u201d<\/li>\n<li>Faster change review: \u201cWho changed the license model tag last week?\u201d<\/li>\n<li>Easier migrations: map license posture before moving workloads.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Security\/compliance reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Demonstrate controls: IAM, tagging standards, audit logging.<\/li>\n<li>Reduce license key sprawl: keep contract IDs and entitlement references in controlled metadata (not in instance user-data or random documents).<\/li>\n<li>Support compliance reporting frameworks (internal, SOX-like controls, ISO 27001 evidence).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Scalability\/performance reasons<\/h3>\n\n\n\n<p>License Manager itself is not a performance service; its value scales with your cloud footprint:\n&#8211; More compartments, projects, and teams \u2192 greater need for consistent tagging and inventory.\n&#8211; More automation \u2192 fewer manual spreadsheets and fewer mistakes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">When teams should choose it<\/h3>\n\n\n\n<p>Choose a License Manager approach if:\n&#8211; you run <strong>commercial software<\/strong> on Oracle Cloud (Oracle or third-party) with <strong>BYOL<\/strong> or contract-based licensing,\n&#8211; your organization has <strong>multiple teams\/tenants\/compartments<\/strong>,\n&#8211; you need <strong>repeatable audit evidence<\/strong> and cost allocation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">When teams should not choose it<\/h3>\n\n\n\n<p>This may be overkill when:\n&#8211; you run only <strong>fully managed, license-included<\/strong> services with minimal custom software obligations,\n&#8211; you have a very small footprint and no compliance requirements,\n&#8211; you cannot enforce consistent tagging and ownership (License Manager requires discipline).<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">4. Where is License Manager used?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Industries<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Financial services, insurance (audit-heavy, strict controls)<\/li>\n<li>Healthcare and life sciences (compliance + vendor licensing)<\/li>\n<li>Public sector (procurement rules, entitlement audits)<\/li>\n<li>Manufacturing and retail (many environments, diverse vendor software)<\/li>\n<li>SaaS providers (multi-environment, cost allocation needs)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Team types<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Platform engineering and cloud center of excellence (CCoE)<\/li>\n<li>Security and compliance teams<\/li>\n<li>FinOps \/ cost management teams<\/li>\n<li>DevOps\/SRE and operations<\/li>\n<li>Procurement and vendor management (as stakeholders)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Workloads<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Self-managed databases or middleware on compute<\/li>\n<li>ERP integration components and ETL tooling<\/li>\n<li>Commercial monitoring\/backup\/security agents<\/li>\n<li>Windows or other OS images with licensing implications (where applicable\u2014<strong>verify per OCI image and pricing<\/strong>)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Architectures<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Multi-compartment landing zones<\/li>\n<li>Hub-and-spoke networks with shared services<\/li>\n<li>Multi-region deployments where inventory must be consolidated<\/li>\n<li>Hybrid environments (on-prem + Oracle Cloud)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Real-world deployment contexts<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Production<\/strong>: strict controls, separation of duties, strong audit needs.<\/li>\n<li><strong>Dev\/Test<\/strong>: risk of license sprawl due to cloning and frequent rebuilds; tagging and automated inventory are especially valuable.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">5. Top Use Cases and Scenarios<\/h2>\n\n\n\n<p>Below are realistic License Manager use cases for Oracle Cloud governance. Each assumes you\u2019re implementing license management using tags, compartments, audit, search, and cost reporting.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1) BYOL tracking for self-managed Oracle software on Compute<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem<\/strong>: Teams install commercial software on VMs but forget to record license entitlement.<\/li>\n<li><strong>Why License Manager fits<\/strong>: Tags and inventory queries track where BYOL software exists.<\/li>\n<li><strong>Scenario<\/strong>: A team installs Oracle Database Enterprise Edition on 6 VMs. You tag those instances with <code>license.model=BYOL<\/code>, <code>license.vendor=Oracle<\/code>, <code>license.contract=&lt;id&gt;<\/code>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2) Third-party license compliance for security agents<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem<\/strong>: Endpoint\/security agents are deployed inconsistently across fleets.<\/li>\n<li><strong>Why it fits<\/strong>: Tagging + inventory helps reconcile agent deployments with purchased seats.<\/li>\n<li><strong>Scenario<\/strong>: CrowdStrike seats are limited; you tag instances where the agent is installed and export monthly inventory.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3) Enforcing \u201capproved license models only\u201d in production compartments<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem<\/strong>: Developers deploy unapproved software in production.<\/li>\n<li><strong>Why it fits<\/strong>: IAM policies and compartment separation restrict where certain workloads can be created and by whom.<\/li>\n<li><strong>Scenario<\/strong>: Only platform admins can create resources in <code>Prod-Licensed<\/code> compartments; all others use <code>Dev-Sandbox<\/code>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4) Cost allocation for licensed workloads<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem<\/strong>: Licensed workloads inflate bills, but cost isn\u2019t attributed to the right team.<\/li>\n<li><strong>Why it fits<\/strong>: Cost-tracking tags enable chargeback\/showback.<\/li>\n<li><strong>Scenario<\/strong>: All SAP-related infrastructure is tagged <code>license.product=SAP<\/code> and costs are tracked monthly.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5) Audit-ready reporting for quarterly compliance reviews<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem<\/strong>: Auditors ask for proof of license governance and change history.<\/li>\n<li><strong>Why it fits<\/strong>: OCI Audit + tag history provide evidence.<\/li>\n<li><strong>Scenario<\/strong>: You export audit events for tag changes and resource creation for the quarter.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6) License posture during M&amp;A or divestiture<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem<\/strong>: You need to separate assets and entitlements across new org boundaries.<\/li>\n<li><strong>Why it fits<\/strong>: Compartments + tags identify and partition resources quickly.<\/li>\n<li><strong>Scenario<\/strong>: All acquired business unit resources are tagged with a new <code>license.contract<\/code> and moved into dedicated compartments.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">7) Preventing \u201clicense drift\u201d during autoscaling and cloning<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem<\/strong>: New instances appear via scaling\/cloning, missing license metadata.<\/li>\n<li><strong>Why it fits<\/strong>: Tag defaults and automated checks reduce untagged resources.<\/li>\n<li><strong>Scenario<\/strong>: New compute instances in <code>App-Prod<\/code> compartment automatically receive default tags; Cloud Guard detects missing required tags (where supported\u2014<strong>verify<\/strong>).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">8) Migration planning from on-prem to Oracle Cloud<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem<\/strong>: You must determine which workloads require BYOL before migration.<\/li>\n<li><strong>Why it fits<\/strong>: Standard tags and inventory become a migration input.<\/li>\n<li><strong>Scenario<\/strong>: Before moving 200 VMs, you define tagging standards and require them for migrated assets.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">9) Controlling contract expiration risk<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem<\/strong>: Licenses expire but workloads continue running.<\/li>\n<li><strong>Why it fits<\/strong>: Contract end dates can be stored in tags and queried.<\/li>\n<li><strong>Scenario<\/strong>: <code>license.end_date=2026-12-31<\/code> is used to trigger reminders and review.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">10) Evidence-driven procurement renewal negotiation<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem<\/strong>: Vendor renewals are negotiated without accurate consumption data.<\/li>\n<li><strong>Why it fits<\/strong>: Inventory and usage\/cost reporting provide leverage.<\/li>\n<li><strong>Scenario<\/strong>: You show actual number of tagged deployments over 6 months to right-size renewal.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">11) Centralized license key and secrets handling guidance<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem<\/strong>: License keys end up embedded in images or scripts.<\/li>\n<li><strong>Why it fits<\/strong>: License Manager governance includes best practices: use Vault and avoid exposing keys.<\/li>\n<li><strong>Scenario<\/strong>: A policy requires that license keys be stored in OCI Vault and referenced securely.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">12) Multi-region compliance inventory<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem<\/strong>: Different regions have different legal or contract constraints.<\/li>\n<li><strong>Why it fits<\/strong>: Tags + region-aware inventory export.<\/li>\n<li><strong>Scenario<\/strong>: You generate region-specific inventories for <code>EU-*<\/code> vs <code>US-*<\/code> deployments.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">6. Core Features<\/h2>\n\n\n\n<p>Because \u201cLicense Manager\u201d in Oracle Cloud is usually implemented through governance services, the \u201cfeatures\u201d are the capabilities you assemble.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 1: Defined tags for license metadata<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does<\/strong>: Adds structured metadata such as vendor, product, license model, contract ID, cost center.<\/li>\n<li><strong>Why it matters<\/strong>: Standardized metadata enables reliable reporting and automation.<\/li>\n<li><strong>Practical benefit<\/strong>: Inventory becomes queryable; avoids spreadsheets.<\/li>\n<li><strong>Limitations\/caveats<\/strong>: Tag limits exist (number of namespaces\/keys, tag value length). <strong>Verify current limits in OCI docs.<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 2: Cost-tracking tags for chargeback\/showback<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does<\/strong>: Enables cost attribution by tag in billing\/cost tools.<\/li>\n<li><strong>Why it matters<\/strong>: Licensed workloads often need separate financial accountability.<\/li>\n<li><strong>Practical benefit<\/strong>: Aligns FinOps reporting with license posture.<\/li>\n<li><strong>Limitations\/caveats<\/strong>: Cost-tracking may require <strong>defined tags<\/strong> and explicit enablement; reporting latency can exist. <strong>Verify in official docs.<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 3: Compartments for governance boundaries<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does<\/strong>: Organizes resources into administrative\/security boundaries.<\/li>\n<li><strong>Why it matters<\/strong>: License policies differ between dev\/test\/prod or business units.<\/li>\n<li><strong>Practical benefit<\/strong>: Easier access control and cost isolation.<\/li>\n<li><strong>Limitations\/caveats<\/strong>: Compartment sprawl can become operational overhead.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 4: IAM policies for control and separation of duties<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does<\/strong>: Restricts who can create\/manage licensed workloads or modify tags.<\/li>\n<li><strong>Why it matters<\/strong>: Prevents unauthorized deployments and tag tampering.<\/li>\n<li><strong>Practical benefit<\/strong>: Stronger compliance posture.<\/li>\n<li><strong>Limitations\/caveats<\/strong>: Policy complexity; tag-based policy conditions require careful design. <strong>Verify syntax\/behavior in official IAM policy docs.<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 5: Resource Search for inventory<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does<\/strong>: Finds resources across compartments and regions using metadata.<\/li>\n<li><strong>Why it matters<\/strong>: You need a fast, consistent inventory query mechanism.<\/li>\n<li><strong>Practical benefit<\/strong>: One query can find all resources tagged as BYOL.<\/li>\n<li><strong>Limitations\/caveats<\/strong>: Search indexing delay can occur; query syntax differs between structured and free-text modes. <strong>Verify in docs.<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 6: Audit logs for evidence and investigations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does<\/strong>: Records API\/console actions, including resource creation and tag changes.<\/li>\n<li><strong>Why it matters<\/strong>: Audit trails are essential for compliance and incident response.<\/li>\n<li><strong>Practical benefit<\/strong>: You can show \u201cwho changed license tags and when.\u201d<\/li>\n<li><strong>Limitations\/caveats<\/strong>: Audit retention and export approach should be validated for your requirements.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 7: Usage Reports \/ Cost Analysis \/ Budgets for cost governance<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does<\/strong>: Provides spend visibility, trend analysis, and alerts.<\/li>\n<li><strong>Why it matters<\/strong>: Licensing mistakes often show up as unexpected spend.<\/li>\n<li><strong>Practical benefit<\/strong>: Budget alerts detect anomalies early.<\/li>\n<li><strong>Limitations\/caveats<\/strong>: Budget targeting capabilities (by tag vs compartment) can vary; <strong>verify<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 8 (Optional): Events + Notifications + Functions for automation<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does<\/strong>: Automates checks and alerts (for example, notify when a resource without license tags is created).<\/li>\n<li><strong>Why it matters<\/strong>: Manual compliance doesn\u2019t scale.<\/li>\n<li><strong>Practical benefit<\/strong>: Near-real-time governance.<\/li>\n<li><strong>Limitations\/caveats<\/strong>: Requires engineering effort; ensure least-privilege IAM and avoid alert noise.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">7. Architecture and How It Works<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">High-level architecture<\/h3>\n\n\n\n<p>A License Manager implementation in Oracle Cloud typically works like this:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Define a license tagging standard<\/strong> (namespaces\/keys and allowed values).<\/li>\n<li><strong>Apply tags<\/strong> to resources at creation time (manually, via Terraform, or via tag defaults).<\/li>\n<li><strong>Restrict who can modify tags<\/strong> and who can create resources in sensitive compartments.<\/li>\n<li><strong>Continuously inventory<\/strong> resources via Resource Search and exports.<\/li>\n<li><strong>Track cost<\/strong> by compartment and (where enabled) cost-tracking tags.<\/li>\n<li><strong>Use Audit<\/strong> as the evidence system of record.<\/li>\n<li>Optionally, <strong>automate detection and alerting<\/strong>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Request\/data\/control flow<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Control plane actions<\/strong> (create VM, update tags, move resources, etc.) go through OCI APIs.<\/li>\n<li>OCI <strong>Audit<\/strong> records those actions.<\/li>\n<li><strong>Resource Search<\/strong> indexes resource metadata to enable inventory.<\/li>\n<li><strong>Billing\/usage systems<\/strong> produce cost and usage data; tags can be used for filtering and allocation (subject to cost-tracking configuration).<\/li>\n<li>Optional automation reacts to events and sends notifications.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Integrations with related services<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tagging + IAM<\/strong>: Tag-based access control and protection against tag tampering.<\/li>\n<li><strong>Audit + Object Storage<\/strong>: Long-term retention of evidence (export).<\/li>\n<li><strong>Usage Reports + Object Storage<\/strong>: Central storage for cost data exports.<\/li>\n<li><strong>Events + Notifications<\/strong>: Alerts on certain changes (optional).<\/li>\n<li><strong>Resource Manager (Terraform)<\/strong>: Standardized provisioning with tags baked in.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Dependency services<\/h3>\n\n\n\n<p>License Manager governance depends primarily on:\n&#8211; IAM, compartments, tagging, audit, billing reporting, and resource search.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Security\/authentication model<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Users and automation authenticate via OCI IAM (users, groups, dynamic groups).<\/li>\n<li>Fine-grained access is controlled by IAM policies at compartment or tenancy scope.<\/li>\n<li>Audit provides non-repudiation evidence for changes (within OCI\u2019s logging model).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Networking model<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Governance APIs are accessed via OCI public endpoints; private connectivity options depend on the service and your network design.<\/li>\n<li>Your governance automation (Functions, compute scripts) may run in private subnets, but still calls OCI APIs.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Monitoring\/logging\/governance considerations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Audit<\/strong>: primary \u201cwho did what\u201d evidence.<\/li>\n<li><strong>Notifications<\/strong>: operational alerts (budgets, events).<\/li>\n<li><strong>Object Storage<\/strong>: store exports (usage reports, audit exports) with retention policies and access controls.<\/li>\n<li><strong>Cloud Guard<\/strong> (optional): detect misconfigurations and risky behavior.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Simple architecture diagram (Mermaid)<\/h3>\n\n\n\n<pre><code class=\"language-mermaid\">flowchart LR\n  A[Admins \/ DevOps] --&gt;|Console \/ CLI \/ Terraform| B[OCI Control Plane APIs]\n  B --&gt; C[Tagging: Defined Tags]\n  B --&gt; D[IAM Policies &amp; Compartments]\n  B --&gt; E[Audit Logs]\n  C --&gt; F[Resource Search Inventory]\n  C --&gt; G[Cost Tracking &amp; Cost Analysis]\n  G --&gt; H[Budgets \/ Alerts]\n  E --&gt; I[Audit Review \/ Evidence]\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Production-style architecture diagram (Mermaid)<\/h3>\n\n\n\n<pre><code class=\"language-mermaid\">flowchart TB\n  subgraph Tenancy[Oracle Cloud Tenancy]\n    subgraph Governance[Governance &amp; Administration]\n      IAM[IAM: Users\/Groups\/Policies]\n      COMP[Compartments: Prod\/NonProd\/Shared]\n      TAG[Tagging: license namespace + cost tracking]\n      AUD[Audit: Control plane event trail]\n      SRCH[Resource Search: Inventory queries]\n      COST[Cost Analysis \/ Usage Reports]\n      BUD[Budgets]\n    end\n\n    subgraph Automation[Optional Automation]\n      EVT[Events]\n      NOTIF[Notifications]\n      FN[Functions \/ Automation Worker]\n      OBJ[Object Storage: reports &amp; evidence]\n    end\n\n    IAM --&gt; COMP\n    IAM --&gt; TAG\n    COMP --&gt; TAG\n    TAG --&gt; SRCH\n    TAG --&gt; COST\n    COST --&gt; BUD\n    AUD --&gt; OBJ\n    COST --&gt; OBJ\n    EVT --&gt; FN\n    FN --&gt; NOTIF\n    BUD --&gt; NOTIF\n  end\n\n  SecTeam[Security\/Compliance Team] --&gt; SRCH\n  FinOps[FinOps Team] --&gt; COST\n  Ops[Operations] --&gt; AUD\n  Auditors[Auditors] --&gt; OBJ\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">8. Prerequisites<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Tenancy\/account requirements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>An active <strong>Oracle Cloud (OCI) tenancy<\/strong> with permission to use:<\/li>\n<li>IAM, compartments, tagging<\/li>\n<li>Resource Search<\/li>\n<li>Audit<\/li>\n<li>Billing tools (Cost Analysis \/ Budgets \/ Usage Reports), depending on your role<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Permissions \/ IAM roles<\/h3>\n\n\n\n<p>At minimum, you need IAM permissions to:\n&#8211; create\/manage tag namespaces and tag keys\n&#8211; apply tags to resources\n&#8211; create compartments (optional for the lab)\n&#8211; read audit logs\n&#8211; use Resource Search\n&#8211; create budgets and notifications (optional)<\/p>\n\n\n\n<p>OCI policies are explicit; if you lack permissions, ask your tenancy admin to grant them. <strong>Verify the exact policy statements in official OCI IAM documentation<\/strong> for your org\u2019s standards.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Billing requirements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The lab can be kept low-cost.<\/li>\n<li>Some steps (budgets\/cost analysis) require billing access, which may be restricted.<\/li>\n<li>If you create compute instances, ensure you understand whether they are Always Free eligible in your region (<strong>verify eligibility in official Oracle Cloud Free Tier docs<\/strong>).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">CLI\/SDK\/tools<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>OCI Console<\/strong> access in a browser<\/li>\n<li>Optional: <strong>OCI CLI<\/strong> installed and configured<br\/>\n  Official CLI docs: https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/API\/Concepts\/cliconcepts.htm<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Region availability<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Governance services are generally available broadly, but capabilities can vary. <strong>Verify service availability for your region<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Quotas\/limits<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tagging and IAM have service limits (number of tags, namespaces, etc.).<\/li>\n<li>Budgets and notifications can have limits.<\/li>\n<li><strong>Verify current service limits<\/strong>: https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/General\/Concepts\/servicelimits.htm<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Prerequisite services<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>For the hands-on lab: Tagging, IAM, Resource Search, Audit.<\/li>\n<li>Optional: Budgets, Notifications, Object Storage.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">9. Pricing \/ Cost<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Current pricing model (accurate, without inventing numbers)<\/h3>\n\n\n\n<p>There is typically <strong>no separate, metered \u201cLicense Manager\u201d line item<\/strong> in Oracle Cloud pricing as described publicly. Instead, cost comes from the <strong>underlying services you use<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tagging, IAM, compartments<\/strong>: generally not billed as consumption services (but verify if any advanced features or exports incur costs).<\/li>\n<li><strong>Audit<\/strong>: Audit log access is typically included; <strong>exporting\/storing<\/strong> logs in Object Storage incurs storage and request costs.<\/li>\n<li><strong>Object Storage<\/strong>: billed by GB-month stored, requests, and data retrieval (depending on tier).<\/li>\n<li><strong>Notifications<\/strong>: may have usage-based pricing (messages\/deliveries)\u2014<strong>verify<\/strong>.<\/li>\n<li><strong>Functions<\/strong>: billed by invocations and GB-seconds\u2014<strong>verify<\/strong>.<\/li>\n<li><strong>Compute\/Database resources<\/strong>: the biggest cost driver when you actually deploy licensed workloads.<\/li>\n<\/ul>\n\n\n\n<p>Official Oracle Cloud pricing entry points:\n&#8211; Pricing page: https:\/\/www.oracle.com\/cloud\/pricing\/\n&#8211; Cost Estimator (calculator): https:\/\/www.oracle.com\/cloud\/costestimator.html (verify current URL)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pricing dimensions you should expect<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Storage<\/strong>: report exports and evidence archives stored in Object Storage.<\/li>\n<li><strong>Requests<\/strong>: API calls, notifications deliveries.<\/li>\n<li><strong>Compute<\/strong>: automation workers or instances running inventory scripts.<\/li>\n<li><strong>Data transfer<\/strong>: if exporting data cross-region or out to the internet (depends on architecture and egress rules).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Free tier<\/h3>\n\n\n\n<p>Oracle Cloud has a Free Tier; eligibility varies by region\/service. For governance tooling, the main \u201cfree\u201d aspect is that you can often implement tagging\/search\/audit without deploying large billable resources. <strong>Verify Free Tier details<\/strong>:\n&#8211; https:\/\/www.oracle.com\/cloud\/free\/<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cost drivers (direct and indirect)<\/h3>\n\n\n\n<p>Direct:\n&#8211; Object Storage for usage\/audit export retention\n&#8211; Notifications\/Functions if heavily used\n&#8211; Any compute used for scheduled inventory scripts<\/p>\n\n\n\n<p>Indirect:\n&#8211; People\/process cost to maintain tagging standards\n&#8211; Operational overhead if you build overly complex automation\n&#8211; Audit\/compliance overhead if evidence retention is not planned<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Network\/data transfer implications<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Storing reports in the same region avoids unnecessary transfer.<\/li>\n<li>Exporting large datasets to on-prem may incur egress charges depending on your network design and Oracle\u2019s egress rules\u2014<strong>verify pricing<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">How to optimize cost<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Keep evidence in Object Storage with lifecycle policies (archive tier where appropriate).<\/li>\n<li>Avoid high-frequency polling; prefer scheduled daily\/weekly inventory exports.<\/li>\n<li>Use tagging and cost analysis filters instead of building custom analytics pipelines until needed.<\/li>\n<li>Right-size automation (Functions vs always-on compute).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Example low-cost starter estimate (no fabricated numbers)<\/h3>\n\n\n\n<p>A low-cost starter License Manager setup can be:\n&#8211; Tags + Resource Search + Audit review in console: <strong>near-zero incremental cost<\/strong>\n&#8211; Add Object Storage for monthly exports: cost depends on <strong>GB stored<\/strong> and retention period\n&#8211; Optional: Notifications for budget alerts: depends on message volume<\/p>\n\n\n\n<p>Use the Oracle Cost Estimator and input:\n&#8211; Object Storage capacity (GB)\n&#8211; Monthly requests\n&#8211; Any compute you add for automation<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example production cost considerations<\/h3>\n\n\n\n<p>In production you should plan for:\n&#8211; Centralized, long-term evidence storage (Object Storage retention + lifecycle)\n&#8211; Possible SIEM integration (data egress, ingestion costs in your SIEM)\n&#8211; Automation at scale (Functions\/Events\/Notifications usage)\n&#8211; Cross-team chargeback for licensed workloads (requires cost-tracking tag governance)<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">10. Step-by-Step Hands-On Tutorial<\/h2>\n\n\n\n<p>This lab implements a practical <strong>License Manager baseline<\/strong> on Oracle Cloud using <strong>defined tags<\/strong>, <strong>cost-tracking enablement (where applicable)<\/strong>, <strong>inventory via Resource Search<\/strong>, and <strong>audit evidence<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Objective<\/h3>\n\n\n\n<p>Create a repeatable License Manager foundation that can answer:\n&#8211; Which resources are running software that requires a license?\n&#8211; Which license model applies (BYOL vs other)?\n&#8211; Who changed license metadata (tags) and when?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lab Overview<\/h3>\n\n\n\n<p>You will:\n1. Create a compartment for the lab (optional but recommended).\n2. Create a <strong>defined tag namespace<\/strong> and keys for license metadata.\n3. (Optional) Enable <strong>cost tracking<\/strong> for a tag key (if your org uses cost tracking tags).\n4. Create a small resource to tag (a Compute instance, if you choose).\n5. Apply license tags to the resource.\n6. Use <strong>Resource Search<\/strong> to inventory tagged resources.\n7. Use <strong>Audit<\/strong> to verify tag changes are recorded.\n8. Cleanup.<\/p>\n\n\n\n<blockquote>\n<p>If you cannot create compute resources due to permissions or cost controls, you can still complete the lab by tagging an existing resource you already own (for example, a test bucket). The governance workflow is the same.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Create a dedicated compartment (recommended)<\/h3>\n\n\n\n<p><strong>Goal<\/strong>: Isolate lab resources and make search\/reporting easier.<\/p>\n\n\n\n<p><strong>Console steps<\/strong>\n1. Open the OCI Console.\n2. Navigate to <strong>Identity &amp; Security \u2192 Compartments<\/strong>.\n3. Click <strong>Create Compartment<\/strong>.\n4. Name: <code>lm-lab<\/code>\n5. Description: <code>License Manager lab compartment<\/code>\n6. Parent compartment: your root compartment (or a sandbox parent)\n7. Click <strong>Create Compartment<\/strong>.<\/p>\n\n\n\n<p><strong>Expected outcome<\/strong>\n&#8211; A compartment named <code>lm-lab<\/code> exists and is active.<\/p>\n\n\n\n<p><strong>Verification<\/strong>\n&#8211; You can select <code>lm-lab<\/code> from the compartment selector.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Create a defined tag namespace for License Manager<\/h3>\n\n\n\n<p><strong>Goal<\/strong>: Create standardized keys so teams don\u2019t invent inconsistent freeform tags.<\/p>\n\n\n\n<p><strong>Console steps<\/strong>\n1. Navigate to <strong>Identity &amp; Security \u2192 Tagging<\/strong> (sometimes <strong>Governance &amp; Administration \u2192 Tagging<\/strong> depending on console layout).\n2. Click <strong>Create Tag Namespace<\/strong>.\n3. Name: <code>license<\/code>\n4. Description: <code>License Manager tagging namespace<\/code>\n5. Click <strong>Create<\/strong>.<\/p>\n\n\n\n<p><strong>Expected outcome<\/strong>\n&#8211; Tag namespace <code>license<\/code> exists at the tenancy level.<\/p>\n\n\n\n<p><strong>Verification<\/strong>\n&#8211; You see <code>license<\/code> listed in Tag Namespaces.<\/p>\n\n\n\n<p><strong>OCI CLI (optional)<\/strong>\nIf you prefer CLI, <strong>verify the latest CLI commands in official docs<\/strong>. The IAM tagging commands are typically under <code>oci iam tag-namespace ...<\/code>.<\/p>\n\n\n\n<pre><code class=\"language-bash\"># Verify CLI is configured\noci os ns get\n\n# Create a tag namespace (verify parameters in docs)\noci iam tag-namespace create \\\n  --name \"license\" \\\n  --description \"License Manager tagging namespace\"\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Create tag keys (license metadata fields)<\/h3>\n\n\n\n<p><strong>Goal<\/strong>: Create tag keys you will apply to resources.<\/p>\n\n\n\n<p>Create at least these keys:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Tag Key<\/th>\n<th>Example Value<\/th>\n<th>Purpose<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>model<\/code><\/td>\n<td><code>BYOL<\/code><\/td>\n<td>License model classification<\/td>\n<\/tr>\n<tr>\n<td><code>vendor<\/code><\/td>\n<td><code>Oracle<\/code> \/ <code>Microsoft<\/code> \/ <code>SAP<\/code><\/td>\n<td>Vendor attribution<\/td>\n<\/tr>\n<tr>\n<td><code>product<\/code><\/td>\n<td><code>OracleDBEE<\/code> \/ <code>WindowsServer<\/code><\/td>\n<td>Product identification<\/td>\n<\/tr>\n<tr>\n<td><code>contract_id<\/code><\/td>\n<td><code>C-123456<\/code><\/td>\n<td>Procurement contract reference<\/td>\n<\/tr>\n<tr>\n<td><code>owner<\/code><\/td>\n<td><code>app-team-a<\/code><\/td>\n<td>Operational owner<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<p><strong>Console steps<\/strong>\n1. Open Tag Namespace: <code>license<\/code>.\n2. Click <strong>Create Tag Key<\/strong>.\n3. Create each key above.\n4. For <code>model<\/code>, consider defining allowed values if the console supports it in your tenancy (some orgs enforce allowed values via process; feature availability may vary\u2014<strong>verify<\/strong>).<\/p>\n\n\n\n<p><strong>Expected outcome<\/strong>\n&#8211; Keys exist under the <code>license<\/code> namespace.<\/p>\n\n\n\n<p><strong>Verification<\/strong>\n&#8211; Expand the namespace and confirm keys appear.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4 (Optional): Enable cost tracking for a license tag key<\/h3>\n\n\n\n<p><strong>Goal<\/strong>: Allow cost allocation by license metadata.<\/p>\n\n\n\n<p>OCI supports <strong>cost tracking tags<\/strong> for cost analysis and reporting. This is usually enabled on <strong>defined tags<\/strong> (not freeform). Exact steps and prerequisites can vary\u2014<strong>verify in official billing\/tagging docs<\/strong>.<\/p>\n\n\n\n<p><strong>Console steps (typical)<\/strong>\n1. Go to <strong>Identity &amp; Security \u2192 Tagging<\/strong>.\n2. Open the <code>license<\/code> namespace.\n3. Open tag key <code>product<\/code> (or <code>owner<\/code>, depending on your allocation strategy).\n4. Toggle\/enable <strong>Cost tracking<\/strong>.\n5. Save.<\/p>\n\n\n\n<p><strong>Expected outcome<\/strong>\n&#8211; The selected tag key is enabled for cost tracking.<\/p>\n\n\n\n<p><strong>Verification<\/strong>\n&#8211; In Cost Analysis later, you should be able to filter\/group by that tag (may take time to appear).<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Create a resource to tag (Compute instance option)<\/h3>\n\n\n\n<p><strong>Goal<\/strong>: Have at least one real resource to include in License Manager inventory.<\/p>\n\n\n\n<p>If you are allowed to create compute instances, use a minimal instance. Always Free eligibility depends on region and account\u2014<strong>verify<\/strong>:\nhttps:\/\/www.oracle.com\/cloud\/free\/<\/p>\n\n\n\n<p><strong>Console steps (high-level)<\/strong>\n1. Navigate to <strong>Compute \u2192 Instances<\/strong>.\n2. Select compartment: <code>lm-lab<\/code>.\n3. Click <strong>Create Instance<\/strong>.\n4. Name: <code>lm-lab-vm-01<\/code>\n5. Choose an image and shape allowed by your org.\n6. Use default networking wizard (VCN + subnet) if allowed.\n7. Ensure you can SSH (upload SSH public key).\n8. Click <strong>Create<\/strong>.<\/p>\n\n\n\n<p><strong>Expected outcome<\/strong>\n&#8211; An instance is provisioned and in <strong>Running<\/strong> state.<\/p>\n\n\n\n<p><strong>Verification<\/strong>\n&#8211; Instance shows <strong>RUNNING<\/strong>.\n&#8211; You can view instance details.<\/p>\n\n\n\n<blockquote>\n<p>If you cannot create an instance, choose another resource you can create (for example, an Object Storage bucket) and apply the tags there.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6: Apply License Manager tags to the resource<\/h3>\n\n\n\n<p><strong>Goal<\/strong>: Record license posture as structured metadata.<\/p>\n\n\n\n<p><strong>Example tag values<\/strong>\n&#8211; <code>license.model = BYOL<\/code>\n&#8211; <code>license.vendor = Oracle<\/code>\n&#8211; <code>license.product = OracleDBEE<\/code>\n&#8211; <code>license.contract_id = C-123456<\/code>\n&#8211; <code>license.owner = platform-team<\/code><\/p>\n\n\n\n<p><strong>Console steps<\/strong>\n1. Open the resource (instance or bucket) details page.\n2. Find <strong>Tags<\/strong>.\n3. Add <strong>Defined Tags<\/strong> under namespace <code>license<\/code>.\n4. Fill in the values.\n5. Save\/Apply.<\/p>\n\n\n\n<p><strong>Expected outcome<\/strong>\n&#8211; Resource shows defined tags under <code>license<\/code>.<\/p>\n\n\n\n<p><strong>Verification<\/strong>\n&#8211; Refresh the resource page; confirm the tags are displayed.\n&#8211; Confirm no typos in tag keys\/namespace.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 7: Inventory your licensed resources using Resource Search<\/h3>\n\n\n\n<p><strong>Goal<\/strong>: Find all resources with license tags (your \u201clicense inventory\u201d).<\/p>\n\n\n\n<p><strong>Console steps<\/strong>\n1. Navigate to <strong>Governance &amp; Administration \u2192 Resource Search<\/strong> (or search for \u201cResource Search\u201d in the console).\n2. Use <strong>Structured Search<\/strong> (recommended).\n3. Filter by compartment <code>lm-lab<\/code> first (to keep results small).\n4. Add conditions for tags (UI-based filtering is safer than relying on memorized query syntax).<\/p>\n\n\n\n<p><strong>Expected outcome<\/strong>\n&#8211; You can see your tagged resource(s) in the results list.<\/p>\n\n\n\n<p><strong>Verification<\/strong>\n&#8211; Click the resource from results; confirm tag values match.<\/p>\n\n\n\n<p><strong>CLI option (advanced; verify query syntax in docs)<\/strong>\nOCI Search has a structured search API. Syntax varies; <strong>verify in official docs<\/strong>:\nhttps:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Search\/Concepts\/overview.htm<\/p>\n\n\n\n<p>Example concept (not guaranteed exact syntax in all tenancies):<\/p>\n\n\n\n<pre><code class=\"language-bash\">oci search resource structured-search \\\n  --query-text \"query all resources where (definedTags.namespace = 'license')\"\n<\/code><\/pre>\n\n\n\n<p>A safer approach for automation is often:\n&#8211; export resource list from compartments via service-specific list APIs, then\n&#8211; filter by tags in code.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 8: Validate evidence in Audit logs<\/h3>\n\n\n\n<p><strong>Goal<\/strong>: Confirm changes are recorded for compliance evidence.<\/p>\n\n\n\n<p><strong>Console steps<\/strong>\n1. Navigate to <strong>Governance &amp; Administration \u2192 Audit<\/strong>.\n2. Select compartment: <code>lm-lab<\/code>.\n3. Set time range to the last hour.\n4. Filter by events related to:\n   &#8211; tag update\n   &#8211; resource update\n   &#8211; instance create (if you created one)<\/p>\n\n\n\n<p><strong>Expected outcome<\/strong>\n&#8211; You see audit events showing:\n  &#8211; resource creation\n  &#8211; tag updates (who did it, when, source IP, request details)<\/p>\n\n\n\n<p><strong>Verification<\/strong>\n&#8211; Open an audit event record; confirm your username and the action.\n&#8211; Save\/export audit evidence according to your org policy (optional).<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Validation<\/h3>\n\n\n\n<p>You have successfully implemented a baseline License Manager workflow if:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A <code>license<\/code> tag namespace exists with keys like <code>model<\/code>, <code>vendor<\/code>, <code>product<\/code>.<\/li>\n<li>At least one resource has those defined tags applied.<\/li>\n<li>Resource Search can find the resource based on tags\/compartment filtering.<\/li>\n<li>Audit shows an event trail for the tag changes and resource creation\/update.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Troubleshooting<\/h3>\n\n\n\n<p><strong>Issue: \u201cNot authorized\u201d when creating tags or compartments<\/strong>\n&#8211; Cause: Missing IAM policy permissions.\n&#8211; Fix: Ask tenancy admin for access to manage tagging and compartments in the appropriate scope.<\/p>\n\n\n\n<p><strong>Issue: Tags don\u2019t show up in Cost Analysis<\/strong>\n&#8211; Cause: Cost tracking not enabled for that defined tag key, or reporting latency.\n&#8211; Fix: Enable cost tracking for the defined tag key; wait for reporting to update; verify billing permissions.<\/p>\n\n\n\n<p><strong>Issue: Resource Search doesn\u2019t find newly tagged resources<\/strong>\n&#8211; Cause: Indexing delay.\n&#8211; Fix: Wait a few minutes and retry; confirm you used defined tags (not freeform), correct compartment, and correct region\/context.<\/p>\n\n\n\n<p><strong>Issue: Can\u2019t see Audit events<\/strong>\n&#8211; Cause: Lack of permission to read audit logs, wrong compartment, wrong time range.\n&#8211; Fix: Expand time range; check parent compartment; request audit read permissions.<\/p>\n\n\n\n<p><strong>Issue: Tag key\/value design gets messy quickly<\/strong>\n&#8211; Cause: No naming standard or allowed values.\n&#8211; Fix: Define a license tagging standard document and enforce it via Terraform modules and code reviews; optionally use allowed values where supported.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Cleanup<\/h3>\n\n\n\n<p>To avoid ongoing cost:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Terminate compute instance<\/strong> (if created):\n   &#8211; Compute \u2192 Instances \u2192 select <code>lm-lab-vm-01<\/code> \u2192 <strong>Terminate<\/strong><\/li>\n<li><strong>Delete VCN and related networking<\/strong> (if created by wizard) in the <code>lm-lab<\/code> compartment.<\/li>\n<li>Delete any lab buckets or notifications created.<\/li>\n<li>Consider whether to keep tag namespace <code>license<\/code>:\n   &#8211; If you\u2019ll adopt it organization-wide, keep it.\n   &#8211; If this was purely a lab, delete tag keys and namespace (may require removing tags from resources first).<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">11. Best Practices<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Architecture best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Treat License Manager as a <strong>landing zone capability<\/strong>: define tags, compartments, and baseline IAM early.<\/li>\n<li>Separate compartments for <strong>Prod<\/strong>, <strong>NonProd<\/strong>, and <strong>Shared Services<\/strong>. Licensed software often needs stricter controls in Prod.<\/li>\n<li>Build a <strong>single source of truth<\/strong> for license metadata:<\/li>\n<li>Defined tags for machine-readable metadata<\/li>\n<li>A procurement system for contract documents (don\u2019t store sensitive contracts in tags)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">IAM\/security best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use least privilege:<\/li>\n<li>restrict who can <strong>create tag namespaces\/keys<\/strong><\/li>\n<li>restrict who can <strong>edit license tags<\/strong> on production resources<\/li>\n<li>Consider separation of duties:<\/li>\n<li>Platform team defines tags and policies<\/li>\n<li>App teams apply tags but cannot alter the tag taxonomy<\/li>\n<li>Use group-based access; avoid long-lived user credentials for automation.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Cost best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enable <strong>cost tracking tags<\/strong> for keys that map to billing owners (team, cost center, product).<\/li>\n<li>Use <strong>budgets<\/strong> per compartment and (where supported) per tag.<\/li>\n<li>Keep evidence storage cost controlled:<\/li>\n<li>lifecycle policies in Object Storage<\/li>\n<li>avoid retaining high-volume exports indefinitely<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Performance best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Don\u2019t poll APIs continuously for inventory; schedule periodic exports.<\/li>\n<li>Prefer Resource Search for interactive queries; for bulk processing, use structured exports.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Reliability best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If you build automation:<\/li>\n<li>use retries with backoff for API calls<\/li>\n<li>log inventory runs<\/li>\n<li>store snapshots (CSV\/JSON) in Object Storage with versioning where appropriate<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Operations best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Establish a recurring cadence:<\/li>\n<li>weekly license inventory review (exceptions)<\/li>\n<li>monthly cost allocation review<\/li>\n<li>quarterly audit evidence export<\/li>\n<li>Use standard naming:<\/li>\n<li>compartments: <code>Prod-&lt;BU&gt;-&lt;App&gt;<\/code><\/li>\n<li>tags: consistent casing and controlled vocabularies<\/li>\n<li>Implement exception workflows (approved temporary deviations).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Governance\/tagging\/naming best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Prefer <strong>defined tags<\/strong> over freeform tags for License Manager.<\/li>\n<li>Create a <code>license<\/code> namespace and keep keys stable.<\/li>\n<li>Define standard values:<\/li>\n<li><code>model<\/code>: <code>BYOL<\/code>, <code>INCLUDED<\/code>, <code>EULA<\/code>, <code>UNKNOWN<\/code><\/li>\n<li><code>vendor<\/code>: canonical vendor name<\/li>\n<li>Document tag semantics clearly so reporting is consistent.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">12. Security Considerations<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Identity and access model<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OCI IAM is the control plane for permissions.<\/li>\n<li>Key controls for License Manager:<\/li>\n<li>who can create\/modify tag namespaces and keys<\/li>\n<li>who can apply\/modify license tags<\/li>\n<li>who can read audit logs and cost data<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Encryption<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tags are metadata; do <strong>not<\/strong> store secrets (license keys, passwords) in tags.<\/li>\n<li>Store secrets in <strong>OCI Vault<\/strong> and reference them securely in deployment tools.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Network exposure<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Governance APIs are accessed via OCI endpoints.<\/li>\n<li>If you build automation:<\/li>\n<li>run it in private subnets where possible<\/li>\n<li>control egress with NAT gateways and route tables<\/li>\n<li>restrict outbound access where feasible<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Secrets handling<\/h3>\n\n\n\n<p>Common mistake: embedding license keys in:\n&#8211; cloud-init scripts\n&#8211; instance metadata\/user-data\n&#8211; Git repositories\n&#8211; tags<\/p>\n\n\n\n<p>Recommendation:\n&#8211; Use OCI Vault for secrets\n&#8211; Restrict Vault access to minimal principals\n&#8211; Rotate keys and document retrieval processes<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Audit\/logging<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OCI Audit is critical evidence. Ensure:<\/li>\n<li>appropriate permissions for compliance staff<\/li>\n<li>retention requirements are met (export if needed)<\/li>\n<li>access to exported logs is restricted and monitored<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Compliance considerations<\/h3>\n\n\n\n<p>License Manager supports:\n&#8211; internal controls and evidence collection\n&#8211; demonstrating change management\n&#8211; proving inventory and ownership<\/p>\n\n\n\n<p>But it does not replace:\n&#8211; vendor contract interpretation\n&#8211; legal\/procurement decisions\n&#8211; formal SAM (Software Asset Management) tooling, if required<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Common security mistakes<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Allowing broad permissions to modify tags in production<\/li>\n<li>Storing contract documents or license keys in tags<\/li>\n<li>No review process for resources tagged <code>UNKNOWN<\/code><\/li>\n<li>Relying on freeform tags only<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Secure deployment recommendations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Define tag taxonomy centrally; restrict modifications.<\/li>\n<li>Require Terraform modules to include license tags.<\/li>\n<li>Export audit evidence to Object Storage with lifecycle policies and restricted access.<\/li>\n<li>Integrate with SIEM if required (export logs).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">13. Limitations and Gotchas<\/h2>\n\n\n\n<p>Because License Manager is implemented using multiple OCI services, limitations come from those services and from process.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Known limitations (practical)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>No single \u201cLicense Manager\u201d enforcement engine<\/strong> (as publicly documented) means you must assemble controls from tags\/IAM\/audit\/search.<\/li>\n<li><strong>Tagging is only as good as adoption<\/strong>: if teams skip tags, inventory is incomplete.<\/li>\n<li><strong>Tag values can become inconsistent<\/strong> without controlled vocabularies.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Quotas and limits<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Limits exist for tags (namespaces, keys, values), budgets, notifications, and audit exports. <strong>Verify current limits<\/strong>:\n  https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/General\/Concepts\/servicelimits.htm<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Regional constraints<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Resources are regional; inventory should consider multiple regions.<\/li>\n<li>Billing and cost views may be tenancy-wide but filtered by region\/service differently. <strong>Verify<\/strong> for your account.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Pricing surprises<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Storing large exports and logs in Object Storage for long periods can accumulate cost.<\/li>\n<li>High-frequency notifications or automation can create unexpected usage charges.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Compatibility issues<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tagging works broadly across OCI resources, but not every resource type may support the same tagging behavior at the same time. <strong>Verify for specific resource types<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Operational gotchas<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Resource Search may have indexing delays.<\/li>\n<li>Changing tag taxonomy later is disruptive (reports, dashboards, policies).<\/li>\n<li>If you use tags for access control, incorrect tags can block operations.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Migration challenges<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Migrated resources often lack consistent tags; plan a tagging remediation phase.<\/li>\n<li>M&amp;A scenarios require careful mapping of old contracts to new tag standards.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Vendor-specific nuances<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>BYOL terms are vendor-defined. OCI metadata does not automatically prove compliance with vendor metrics (cores, sockets, named users, etc.).<\/li>\n<li>Always validate license interpretation with procurement\/legal and vendor guidance.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">14. Comparison with Alternatives<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Nearest services in Oracle Cloud<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tagging + Cost Tracking Tags<\/strong>: foundational for license attribution.<\/li>\n<li><strong>Resource Search<\/strong>: inventory.<\/li>\n<li><strong>Audit<\/strong>: evidence.<\/li>\n<li><strong>Budgets\/Cost Analysis\/Usage Reports<\/strong>: cost governance.<\/li>\n<li><strong>Cloud Guard<\/strong> (optional): misconfiguration and risk detection.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Nearest services in other clouds<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>AWS License Manager<\/strong>: centralized license configuration, tracking, and rules-based controls for some licensing scenarios.<\/li>\n<li><strong>Azure<\/strong>: license governance is often handled with <strong>Azure Policy<\/strong>, <strong>Azure Cost Management tags<\/strong>, and programs like <strong>Azure Hybrid Benefit<\/strong> (for specific Microsoft licenses).<\/li>\n<li><strong>Google Cloud<\/strong>: governance patterns often use labels, policies, and asset inventory; GCP\u2019s approach differs and may involve third-party SAM tools.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Open-source or self-managed alternatives<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SAM tools and CMDB-based tracking (ServiceNow SAM, Flexera, Snow)<\/li>\n<li>Custom inventory pipelines (agents + central DB)<\/li>\n<li>Terraform\/OpenTofu policy-as-code plus internal registries<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Comparison table<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Option<\/th>\n<th>Best For<\/th>\n<th>Strengths<\/th>\n<th>Weaknesses<\/th>\n<th>When to Choose<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Oracle Cloud License Manager (governance pattern using tags\/search\/audit)<\/strong><\/td>\n<td>OCI-first orgs needing practical license governance<\/td>\n<td>Uses native OCI governance primitives; strong auditability; integrates with compartments<\/td>\n<td>Requires process discipline; not a single turnkey product<\/td>\n<td>When your workloads are primarily in Oracle Cloud and you need audit-ready governance<\/td>\n<\/tr>\n<tr>\n<td><strong>OCI Tagging + Cost Analysis only<\/strong><\/td>\n<td>Small\/medium teams<\/td>\n<td>Simple to adopt; quick cost allocation<\/td>\n<td>Weak controls; incomplete inventory if tags are inconsistent<\/td>\n<td>When you mainly need showback\/chargeback<\/td>\n<\/tr>\n<tr>\n<td><strong>AWS License Manager<\/strong><\/td>\n<td>AWS-centric license governance<\/td>\n<td>Purpose-built licensing features<\/td>\n<td>Not applicable to OCI; cross-cloud complexity<\/td>\n<td>When workloads are primarily on AWS and you need that service\u2019s specific license tracking<\/td>\n<\/tr>\n<tr>\n<td><strong>Azure Policy + Azure Hybrid Benefit governance<\/strong><\/td>\n<td>Microsoft-heavy environments<\/td>\n<td>Strong policy framework for Azure<\/td>\n<td>Different semantics; not directly transferable to OCI<\/td>\n<td>When workloads are primarily in Azure and benefit from Microsoft licensing programs<\/td>\n<\/tr>\n<tr>\n<td><strong>ServiceNow SAM \/ Flexera \/ Snow<\/strong><\/td>\n<td>Enterprise SAM across multiple clouds and on-prem<\/td>\n<td>Broad vendor coverage, workflows, compliance reporting<\/td>\n<td>Cost, integration effort, data quality challenges<\/td>\n<td>When you need enterprise SAM beyond OCI-native governance<\/td>\n<\/tr>\n<tr>\n<td><strong>Custom-built inventory system<\/strong><\/td>\n<td>Teams with strong engineering capacity<\/td>\n<td>Tailored to exact audit needs<\/td>\n<td>Maintenance burden; risk of incomplete data<\/td>\n<td>When you have unique requirements and can\u2019t adopt commercial SAM tooling<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">15. Real-World Example<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Enterprise example (regulated financial services)<\/h3>\n\n\n\n<p><strong>Problem<\/strong>\nA bank runs multiple Oracle Cloud compartments across regions. App teams deploy third-party commercial agents and self-managed middleware on compute. Auditors require quarterly evidence of:\n&#8211; where licensed software runs,\n&#8211; license model and contract mapping,\n&#8211; who approved changes.<\/p>\n\n\n\n<p><strong>Proposed architecture<\/strong>\n&#8211; Landing zone with compartments: <code>Prod<\/code>, <code>NonProd<\/code>, <code>Shared<\/code>.\n&#8211; Central tag namespace <code>license<\/code> with keys: model\/vendor\/product\/contract_id\/owner\/end_date.\n&#8211; Cost tracking enabled for <code>license.owner<\/code> and\/or <code>license.product<\/code>.\n&#8211; IAM policies restrict tag taxonomy changes to the platform team.\n&#8211; Resource Search saved queries for inventory by <code>license.product<\/code>.\n&#8211; Audit export to Object Storage with retention controls; access restricted to compliance team.\n&#8211; Monthly inventory export stored in Object Storage; quarterly evidence package assembled.<\/p>\n\n\n\n<p><strong>Why License Manager was chosen<\/strong>\n&#8211; Uses OCI-native governance and audit capabilities.\n&#8211; Provides consistent, queryable inventory without deploying agents everywhere.\n&#8211; Produces audit evidence tied to OCI control plane events.<\/p>\n\n\n\n<p><strong>Expected outcomes<\/strong>\n&#8211; Faster audits (hours instead of weeks).\n&#8211; Reduced unapproved deployments.\n&#8211; Clear cost ownership for licensed workloads.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Startup\/small-team example (SaaS company)<\/h3>\n\n\n\n<p><strong>Problem<\/strong>\nA SaaS startup runs production in Oracle Cloud and occasionally installs commercial components (database tooling, monitoring agents) in short-lived environments. They repeatedly lose track of \u201cwho installed what\u201d and overbuy licenses.<\/p>\n\n\n\n<p><strong>Proposed architecture<\/strong>\n&#8211; Single compartment per environment: <code>dev<\/code>, <code>stage<\/code>, <code>prod<\/code>.\n&#8211; Minimal <code>license<\/code> tag set: model\/product\/owner.\n&#8211; Terraform modules enforce required tags for compute instances.\n&#8211; Monthly Resource Search export to CSV for inventory.\n&#8211; Budget alerts per environment to catch spikes.<\/p>\n\n\n\n<p><strong>Why License Manager was chosen<\/strong>\n&#8211; Minimal overhead, no expensive enterprise SAM tool.\n&#8211; Provides enough governance to stop license sprawl early.<\/p>\n\n\n\n<p><strong>Expected outcomes<\/strong>\n&#8211; Clear inventory and ownership.\n&#8211; Fewer surprise renewals.\n&#8211; Improved operational discipline.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">16. FAQ<\/h2>\n\n\n\n<p>1) <strong>Is License Manager a standalone OCI service with its own API?<\/strong><br\/>\nNot clearly, in publicly accessible OCI documentation. Many teams implement \u201cLicense Manager\u201d capabilities using Tagging, IAM, Audit, Resource Search, and cost tools. If your console shows a feature explicitly named \u201cLicense Manager,\u201d <strong>verify in official Oracle documentation<\/strong> for your tenancy.<\/p>\n\n\n\n<p>2) <strong>Can OCI automatically detect what software is installed on a VM for licensing?<\/strong><br\/>\nOCI governance services generally track <strong>resource metadata<\/strong>, not inside-VM installed packages. You typically need agents, config management, or third-party SAM tools for inside-guest discovery.<\/p>\n\n\n\n<p>3) <strong>What\u2019s the first step to implement License Manager on Oracle Cloud?<\/strong><br\/>\nDefine a <strong>license tagging taxonomy<\/strong> (namespace + keys + allowed values) and apply it consistently to resources.<\/p>\n\n\n\n<p>4) <strong>Should we use freeform tags or defined tags?<\/strong><br\/>\nPrefer <strong>defined tags<\/strong> for License Manager because they\u2019re structured and can support cost tracking and consistent reporting.<\/p>\n\n\n\n<p>5) <strong>Can we enforce \u201crequired tags\u201d at resource creation?<\/strong><br\/>\nOCI has tag defaults and tag-based access control patterns. Enforcement capabilities can vary; the most reliable approach is to enforce via <strong>Terraform modules + CI\/CD checks<\/strong>, and detect exceptions via periodic inventory. <strong>Verify enforcement options in official docs.<\/strong><\/p>\n\n\n\n<p>6) <strong>How do we prevent teams from changing license tags after deployment?<\/strong><br\/>\nUse IAM policies to restrict who can update resources and tags in production compartments. Also monitor via Audit.<\/p>\n\n\n\n<p>7) <strong>How do we prove compliance to auditors?<\/strong><br\/>\nUse:\n&#8211; <strong>Audit logs<\/strong> for change history,\n&#8211; <strong>Resource Search inventory exports<\/strong> for what exists,\n&#8211; <strong>Cost reports<\/strong> for financial evidence,\n&#8211; and internal approvals mapped via <code>contract_id<\/code> or change ticket references in tags.<\/p>\n\n\n\n<p>8) <strong>Do tags contain sensitive data?<\/strong><br\/>\nTags should <strong>not<\/strong> contain secrets or license keys. Treat tags as metadata visible to authorized users. Use OCI Vault for secrets.<\/p>\n\n\n\n<p>9) <strong>How do we handle license contract IDs in tags securely?<\/strong><br\/>\nContract IDs are usually safe as references, but avoid storing full contract text or sensitive terms in tags. Restrict who can read and change tags if needed.<\/p>\n\n\n\n<p>10) <strong>How do we track license expiration dates?<\/strong><br\/>\nAdd a tag like <code>license.end_date<\/code> and run periodic searches\/reports. Use an internal calendar or ticketing workflow to track renewals.<\/p>\n\n\n\n<p>11) <strong>Can Cost Analysis show costs by license tags?<\/strong><br\/>\nIf you enable <strong>cost tracking<\/strong> for specific defined tag keys, you can often filter\/group by them. Availability and latency can vary\u2014<strong>verify<\/strong>.<\/p>\n\n\n\n<p>12) <strong>What\u2019s the difference between license cost and cloud cost?<\/strong><br\/>\nCloud cost is what OCI bills you for infrastructure. License cost is what you pay vendors (or internal entitlements) for the right to run software. License Manager helps correlate them.<\/p>\n\n\n\n<p>13) <strong>Does this replace enterprise Software Asset Management tools?<\/strong><br\/>\nNot necessarily. It\u2019s a strong baseline for OCI governance, but enterprise SAM tools provide deeper discovery, reconciliation, and vendor-specific compliance logic.<\/p>\n\n\n\n<p>14) <strong>How often should we run license inventory reports?<\/strong><br\/>\nCommonly weekly (ops review) and monthly (FinOps\/procurement), plus quarterly evidence exports for audits.<\/p>\n\n\n\n<p>15) <strong>What is the minimum viable License Manager setup?<\/strong><br\/>\n&#8211; Defined tag namespace <code>license<\/code>\n&#8211; Apply tags to all relevant resources\n&#8211; Resource Search saved query\n&#8211; Audit review process<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">17. Top Online Resources to Learn License Manager<\/h2>\n\n\n\n<p>Because License Manager on Oracle Cloud is implemented via governance services, these resources focus on the underlying OCI capabilities.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Resource Type<\/th>\n<th>Name<\/th>\n<th>Why It Is Useful<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Official documentation<\/td>\n<td>OCI Tagging Overview<\/td>\n<td>Core building block for license metadata (defined tags, namespaces, keys). https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Tagging\/Concepts\/taggingoverview.htm<\/td>\n<\/tr>\n<tr>\n<td>Official documentation<\/td>\n<td>OCI IAM Overview<\/td>\n<td>Policies, compartments, and access control design. https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Identity\/Concepts\/overview.htm<\/td>\n<\/tr>\n<tr>\n<td>Official documentation<\/td>\n<td>OCI Audit Overview<\/td>\n<td>Evidence trail for governance and compliance. https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Audit\/Concepts\/auditoverview.htm<\/td>\n<\/tr>\n<tr>\n<td>Official documentation<\/td>\n<td>OCI Resource Search Overview<\/td>\n<td>Inventory queries across resources. https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Search\/Concepts\/overview.htm<\/td>\n<\/tr>\n<tr>\n<td>Official documentation<\/td>\n<td>OCI Budgets Overview<\/td>\n<td>Spend alerts to catch anomalies and manage costs. https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Billing\/Concepts\/budgetsoverview.htm<\/td>\n<\/tr>\n<tr>\n<td>Official documentation<\/td>\n<td>Cost Analysis (Billing)<\/td>\n<td>Cost exploration by compartment, service, and tags (when enabled). https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Billing\/Concepts\/costanalysisoverview.htm (verify exact URL in docs navigation)<\/td>\n<\/tr>\n<tr>\n<td>Official documentation<\/td>\n<td>Usage Reports (Billing)<\/td>\n<td>Export usage data for analysis and retention. https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Billing\/Tasks\/usagereports.htm<\/td>\n<\/tr>\n<tr>\n<td>Official documentation<\/td>\n<td>OCI Notifications Overview<\/td>\n<td>Alerts for budgets and events. https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Notification\/Concepts\/notificationoverview.htm<\/td>\n<\/tr>\n<tr>\n<td>Official documentation<\/td>\n<td>OCI Events Overview<\/td>\n<td>Event-driven automation triggers. https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Events\/Concepts\/eventsoverview.htm<\/td>\n<\/tr>\n<tr>\n<td>Official pricing<\/td>\n<td>Oracle Cloud Pricing<\/td>\n<td>Official pricing landing page. https:\/\/www.oracle.com\/cloud\/pricing\/<\/td>\n<\/tr>\n<tr>\n<td>Official pricing tool<\/td>\n<td>Oracle Cloud Cost Estimator<\/td>\n<td>Model storage\/automation costs without guessing. https:\/\/www.oracle.com\/cloud\/costestimator.html<\/td>\n<\/tr>\n<tr>\n<td>Official docs\/tools<\/td>\n<td>OCI CLI Documentation<\/td>\n<td>Practical automation and scripting. https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/API\/Concepts\/cliconcepts.htm<\/td>\n<\/tr>\n<tr>\n<td>Architecture guidance<\/td>\n<td>OCI Architecture Center<\/td>\n<td>Reference architectures for governance and landing zones (useful context). https:\/\/docs.oracle.com\/en\/solutions\/<\/td>\n<\/tr>\n<tr>\n<td>Community (reputable)<\/td>\n<td>OCI GitHub (Oracle samples)<\/td>\n<td>Automation patterns and Terraform examples. https:\/\/github.com\/oracle<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">18. Training and Certification Providers<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Institute<\/th>\n<th>Suitable Audience<\/th>\n<th>Likely Learning Focus<\/th>\n<th>Mode<\/th>\n<th>Website URL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>DevOpsSchool.com<\/td>\n<td>DevOps engineers, SREs, platform teams<\/td>\n<td>DevOps practices, cloud governance basics, automation<\/td>\n<td>check website<\/td>\n<td>https:\/\/www.devopsschool.com\/<\/td>\n<\/tr>\n<tr>\n<td>ScmGalaxy.com<\/td>\n<td>Beginners to intermediate engineers<\/td>\n<td>DevOps\/SCM foundations, operational practices<\/td>\n<td>check website<\/td>\n<td>https:\/\/www.scmgalaxy.com\/<\/td>\n<\/tr>\n<tr>\n<td>CLoudOpsNow.in<\/td>\n<td>Cloud operations teams<\/td>\n<td>CloudOps, monitoring, governance operations<\/td>\n<td>check website<\/td>\n<td>https:\/\/www.cloudopsnow.in\/<\/td>\n<\/tr>\n<tr>\n<td>SreSchool.com<\/td>\n<td>SREs and reliability engineers<\/td>\n<td>SRE practices, operations, reliability, incident management<\/td>\n<td>check website<\/td>\n<td>https:\/\/www.sreschool.com\/<\/td>\n<\/tr>\n<tr>\n<td>AiOpsSchool.com<\/td>\n<td>Ops teams adopting AIOps<\/td>\n<td>AIOps concepts, automation, operational analytics<\/td>\n<td>check website<\/td>\n<td>https:\/\/www.aiopsschool.com\/<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">19. Top Trainers<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Platform\/Site<\/th>\n<th>Likely Specialization<\/th>\n<th>Suitable Audience<\/th>\n<th>Website URL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>RajeshKumar.xyz<\/td>\n<td>DevOps\/cloud training content<\/td>\n<td>Engineers seeking guided learning<\/td>\n<td>https:\/\/rajeshkumar.xyz\/<\/td>\n<\/tr>\n<tr>\n<td>devopstrainer.in<\/td>\n<td>DevOps training and coaching<\/td>\n<td>Beginners to advanced DevOps practitioners<\/td>\n<td>https:\/\/www.devopstrainer.in\/<\/td>\n<\/tr>\n<tr>\n<td>devopsfreelancer.com<\/td>\n<td>DevOps freelancing and consulting-style support<\/td>\n<td>Teams needing practical help<\/td>\n<td>https:\/\/www.devopsfreelancer.com\/<\/td>\n<\/tr>\n<tr>\n<td>devopssupport.in<\/td>\n<td>DevOps support and training-style assistance<\/td>\n<td>Ops\/DevOps teams needing troubleshooting help<\/td>\n<td>https:\/\/www.devopssupport.in\/<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">20. Top Consulting Companies<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Company Name<\/th>\n<th>Likely Service Area<\/th>\n<th>Where They May Help<\/th>\n<th>Consulting Use Case Examples<\/th>\n<th>Website URL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>cotocus.com<\/td>\n<td>Cloud\/DevOps consulting<\/td>\n<td>Cloud governance, automation, operational readiness<\/td>\n<td>Tagging standards rollout, audit evidence pipeline, CI\/CD guardrails<\/td>\n<td>https:\/\/cotocus.com\/<\/td>\n<\/tr>\n<tr>\n<td>DevOpsSchool.com<\/td>\n<td>DevOps and cloud consulting<\/td>\n<td>Platform enablement, DevOps transformation<\/td>\n<td>Implement OCI governance baseline, cost allocation strategy, automation<\/td>\n<td>https:\/\/www.devopsschool.com\/<\/td>\n<\/tr>\n<tr>\n<td>DEVOPSCONSULTING.IN<\/td>\n<td>DevOps consulting services<\/td>\n<td>DevOps processes, tooling, and operations<\/td>\n<td>Infrastructure automation, monitoring integration, policy-as-code adoption<\/td>\n<td>https:\/\/www.devopsconsulting.in\/<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">21. Career and Learning Roadmap<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What to learn before this service<\/h3>\n\n\n\n<p>To succeed with License Manager on Oracle Cloud, learn:\n&#8211; OCI basics: tenancies, compartments, regions, availability domains\n&#8211; IAM fundamentals: users, groups, policies, least privilege\n&#8211; Tagging strategy: defined tags vs freeform tags, naming conventions\n&#8211; Basic billing concepts: compartments, cost analysis, budgets<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What to learn after this service<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Infrastructure as Code with OCI Resource Manager \/ Terraform<\/li>\n<li>Events-driven automation (Events + Functions + Notifications)<\/li>\n<li>Log management and SIEM integrations (Audit export pipelines)<\/li>\n<li>FinOps practices: chargeback\/showback, anomaly detection<\/li>\n<li>Enterprise SAM tools integration (ServiceNow\/Flexera\/Snow) if required<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Job roles that use it<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cloud architect<\/li>\n<li>Platform engineer<\/li>\n<li>DevOps\/SRE<\/li>\n<li>Security engineer \/ GRC analyst<\/li>\n<li>FinOps analyst<\/li>\n<li>Cloud operations manager<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Certification path (if available)<\/h3>\n\n\n\n<p>Oracle certifications evolve. Consider:\n&#8211; OCI Foundations (baseline)\n&#8211; OCI Architect\/Professional tracks\n&#8211; Security or networking tracks depending on your governance responsibilities<br\/>\nVerify current Oracle certification offerings: https:\/\/education.oracle.com\/<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Project ideas for practice<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Build a \u201clicensed workload registry\u201d using tags + Resource Search exports.<\/li>\n<li>Create a monthly audit evidence pack: audit export + inventory export + cost report.<\/li>\n<li>Implement Terraform modules that require license tags on all compute resources.<\/li>\n<li>Add automation that flags resources tagged <code>license.model=UNKNOWN<\/code>.<\/li>\n<li>Create a dashboard (outside OCI) that correlates costs with <code>license.product<\/code>.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">22. Glossary<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>BYOL (Bring Your Own License)<\/strong>: You supply your own license entitlement from an existing contract rather than paying a license-included rate (terms are vendor-defined).<\/li>\n<li><strong>License-included<\/strong>: License cost is included in the service price (availability depends on the service and offering).<\/li>\n<li><strong>Tenancy<\/strong>: Your top-level Oracle Cloud account boundary that contains compartments, IAM, policies, and resources.<\/li>\n<li><strong>Compartment<\/strong>: A logical container for OCI resources used for access control and organization.<\/li>\n<li><strong>Defined Tags<\/strong>: Structured tags created as tag namespaces and keys; used for consistent metadata.<\/li>\n<li><strong>Freeform Tags<\/strong>: Unstructured key-value tags; easier to create but harder to standardize.<\/li>\n<li><strong>Cost-tracking tag<\/strong>: A defined tag key enabled so costs can be aggregated and reported by that tag.<\/li>\n<li><strong>Resource Search<\/strong>: OCI feature to search and inventory resources across a tenancy using metadata.<\/li>\n<li><strong>Audit<\/strong>: OCI service logging control-plane API events for governance and investigations.<\/li>\n<li><strong>FinOps<\/strong>: Discipline combining finance and operations to manage cloud cost.<\/li>\n<li><strong>Evidence pack<\/strong>: A curated set of logs\/reports demonstrating controls and changes for auditors.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">23. Summary<\/h2>\n\n\n\n<p>License Manager in <strong>Oracle Cloud<\/strong> (within <strong>Governance and Administration<\/strong>) is best implemented as a <strong>governance capability<\/strong> built from OCI-native services: <strong>defined tags<\/strong>, <strong>IAM<\/strong>, <strong>Resource Search<\/strong>, <strong>Audit<\/strong>, and <strong>cost\/usage tools<\/strong>. It matters because licensing risk is often invisible until an audit or a surprise bill; consistent metadata, inventory, and audit evidence reduce that risk.<\/p>\n\n\n\n<p>Cost-wise, there is usually no standalone License Manager charge; expenses come from <strong>underlying services<\/strong> such as Object Storage for exports, and any automation you run. Security-wise, the key controls are <strong>least-privilege IAM<\/strong>, <strong>protecting tag taxonomy<\/strong>, <strong>avoiding secrets in tags<\/strong>, and <strong>using Audit<\/strong> as your system of record.<\/p>\n\n\n\n<p>Use this approach when you run commercial software (Oracle or third-party) on OCI and need <strong>repeatable compliance and cost governance<\/strong>. Next, deepen your implementation by standardizing provisioning with Terraform modules and adding automation (Events\/Notifications\/Functions) for exception handling\u2014after verifying the latest OCI documentation for your tenancy\u2019s exact capabilities.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Governance and Administration<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70,62],"tags":[],"class_list":["post-910","post","type-post","status-publish","format-standard","hentry","category-governance-and-administration","category-oracle-cloud"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts\/910","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/comments?post=910"}],"version-history":[{"count":0,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts\/910\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/media?parent=910"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/categories?post=910"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/tags?post=910"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}