Skip to main content

More Info:

The OCI IAM password policy should require at least one uppercase character. Mixed-case passwords provide greater entropy and are harder for attackers to guess

Risk Level

Medium

Address

Compliance, Security

Compliance Standards

  • APRA CPS 234 (Australia)
  • AWS Startup Security Baseline
  • AWS Well Architected Framework
  • BSI C5 (Germany)
  • Brazil LGPD
  • CCPA / CPRA (California)
  • CIS AWS
  • CIS Critical Security Controls v8
  • CMMC 2.0
  • CSA Cloud Controls Matrix v4
  • Cloudanix Best Practice
  • DPDPA
  • Digital Operational Resilience Act (EU)
  • GDPR
  • HIPAA
  • HITRUST CSF
  • ISO 27001
  • ISO/IEC 27017
  • ISO/IEC 27018
  • ISO/IEC 27701
  • KSA PDPL
  • MAS Technology Risk Management (Singapore)
  • MITRE ATT&CK (Cloud)
  • NIST
  • NIST CSF
  • NIST SP 800-171
  • NYDFS 23 NYCRR 500
  • PCI
  • Reserve Bank of India (RBI) Cyber Security Framework
  • Reserve Bank of India (RBI) Master Direction – Information Technology Framework
  • SOC2
  • SWIFT Customer Security Controls Framework
  • Sarbanes-Oxley IT General Controls
  • UK NCSC Cyber Assessment Framework

Triage and Remediation

Remediation

Using Console

To require uppercase characters in OCI IAM passwords using the OCI Console:
  1. Sign in to OCI Console
    Log in with a user that has tenancy-level / domain admin privileges.
  2. Go to Identity Domains
    • Open the hamburger menu (☰) in the top-left.
    • Navigate to: Identity & Security → Domains.
  3. Select the Appropriate Identity Domain
    • Click on the identity domain you use for your IAM users (often named Default unless you created others).
  4. Open the Password Policy Settings
    • In the left-hand menu for that domain, go to:
      Security → Password Policy
      (In some UIs, it may be under Security → Authentication Settings → Password Policy.)
  5. Edit the Password Policy
    • Click Edit (or Edit Password Policy).
  6. Enable Uppercase Requirement
    • Locate the setting similar to:
      • Require uppercase letters / Minimum uppercase characters.
    • Turn on Require uppercase letters (or set minimum uppercase characters to at least 1).
  7. Save Changes
    • Click Save / Update to apply the new policy.
  8. Verify
    • Try creating or changing a test user’s password: the UI should now enforce at least one uppercase character.
If you are using an older tenancy without identity domains, check:
Identity & Security → Security → Authentication Settings → Password Policy, then enable Require Uppercase Characters there and save.
To enforce “Require Uppercase Characters” in the OCI IAM password policy using the OCI CLI, do the following:

1. Prerequisites

  • OCI CLI installed and configured (oci setup config)
  • You know your tenancy OCID (from Console: Profile → Tenancy Details)

2. Get current authentication (password) policy

This file contains the existing password policy.

3. Edit the password policy JSON

Open current-auth-policy.json and locate the passwordPolicy block.
Ensure it contains "isUppercaseCharactersRequired": true.
Example minimal structure:
If other passwordPolicy fields exist (length, numeric, lowercase, etc.), keep them as-is and only change/add isUppercaseCharactersRequired.

4. Update the authentication policy with OCI CLI

Save your edited JSON as updated-auth-policy.json, then run:

5. Verify the change

Confirm the output shows:
This will remediate the “OCI IAM Password Policy Should Require Uppercase Characters” finding used by OCI IAM/Cloud Guard monitoring.
To fix “OCI IAM Password Policy Should Require Uppercase Characters” using Python, you need to update the tenancy’s Authentication Policy via the OCI Python SDK.Below are step-by-step instructions and a sample remediation script.

1. Prerequisites

  1. Install the OCI Python SDK:
  2. Configure your ~/.oci/config with a profile that has IAM permissions on the tenancy (e.g., Tenancy Admin or a policy allowing MANAGE authentication-policies on the tenancy):

2. Python Script to Enforce Uppercase Requirement

This script:
  • Fetches current authentication (password) policy.
  • Sets is_uppercase_characters_required to True (and preserves other settings).
  • Updates the tenancy authentication policy if needed.

3. How to Use This for “Monitoring + Remediation”

  • Monitoring:
    • Run the “get” part (get_authentication_policy) on a schedule (e.g., via a cron job, OCI Functions, or OCI DevOps pipeline).
    • If password_policy.is_uppercase_characters_required is False, log an alert (or push a metric/event).
  • Auto-remediation:
    • Keep the script as is and run it on a schedule or trigger it from an OCI Function when a detector (e.g., from OCI Cloud Guard or your own check) finds the misconfiguration.
    • The script is idempotent: if uppercase is already required, it does nothing.
If you’re using OCI Identity Domains (not classic IAM) and need the equivalent for a specific identity domain, say so and I’ll provide the Identity Domains version of the Python code.
This change is an in-place update of the IAM authentication (password) policy and does not force resource replacement.For verification, terraform plan should show an in-place update (~) to oci_identity_authentication_policy.iam_password_policy with is_uppercase_characters_required changing from false (or null) to true.