More Info:
The IAM password policy should enforce password expiration within 365 days. Passwords that never expire remain vulnerable indefinitely if compromised without detection.Risk Level
HighAddress
Compliance, SecurityCompliance 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
Remediation
Using Console
Using Console
To enforce yearly password rotation in OCI IAM using the Console, you need to update the password policy for your identity domain (or for the tenancy if you’re still using the classic model).Below are the steps for both models—use the one that matches what you see in your Console.
If you tell me whether you see “Identity Domains” or just “Users/Groups/Policies,” I can tailor the exact menu path for your specific layout.
1. For Identity Domains (most new tenancies)
- Sign in to OCI Console with a user that has
identity-domain-adminor tenancy admin privileges. - In the left hamburger menu, go to:
Identity & Security → Domains. - Click the Identity Domain you want to configure (e.g., “Default”).
- In the domain page, under Security, click Password Policy (or Security → Password policy, depending on UI version).
- Edit the policy:
- Locate Maximum password age (or similar field).
- Set it to 365 days (or 12 months, as allowed by UI).
- Review other parameters (optional) such as:
- Password history
- Minimum password length
- Complexity requirements
- Click Save or Update to apply the changes.
2. For Classic IAM (Tenancy-level password policy)
If you don’t see “Domains” and instead work with “Users, Groups, Policies” directly:- Sign in to OCI Console with tenancy admin privileges.
- Go to:
Identity & Security → Administration → Security (or directly Identity → Security depending on UI). - Click Password Policy.
- Click Edit.
- Set:
- Maximum password age (days) = 365.
- Save/apply the configuration.
If you tell me whether you see “Identity Domains” or just “Users/Groups/Policies,” I can tailor the exact menu path for your specific layout.
Using CLI
Using CLI
Below are the exact steps to enforce yearly password rotation in OCI IAM using the OCI CLI.(You can also copy it from the console under “Tenancy Information”.)
This shows current settings, including
Notes:
Confirm:
1. Prerequisites
- OCI CLI installed and configured (
oci setup config) - You must be in the home region
- You need your tenancy OCID (root compartment OCID)
2. Check the Current Password Policy
isPasswordExpiryEnabled and passwordExpiryInDays.3. Update Policy to Enforce Yearly Rotation (365 Days)
Run this command, adjusting other fields as needed. The key change for yearly rotation is:"isPasswordExpiryEnabled": true"passwordExpiryInDays": 365
- Include all required fields in
--password-policy(not just the ones you’re changing), otherwise some may reset. - Adjust
minimumPasswordLengthand the character requirements to your organization’s standards.
4. Verify the Change
isPasswordExpiryEnabled = truepasswordExpiryInDays = 365
Using Python
Using Python
To enforce yearly password rotation for OCI IAM using Python, you’ll:
This directly remediates the misconfiguration by enforcing yearly rotation.
Run this script on a schedule (e.g., cron, OCI Scheduled Tasks via Functions/Events) to continuously monitor and auto-remediate the password policy.If you want, I can adapt this into an OCI Function (with
- Check the current password policy
- Update it so
password_lifetime= 365 days - Optionally turn this into a “monitor + auto-remediate” script
1. Prerequisites
-
Install OCI Python SDK:
-
Make sure you have an OCI config file (usually
~/.oci/config) with:
identity-domains-authentication-policies Manageor equivalent in your tenancy (typically viamanage authentication-policieson tenancy).
2. Get Current Authentication (Password) Policy
password_lifetime is in days (or None if not set).3. Enforce Yearly Rotation (365 Days)
4. Turn It into “Monitoring + Auto-Remediation”
A minimal monitoring script that:- Checks if
password_lifetimeis 365 - If not, sets it to 365 and logs the action
func.yaml and handler) for fully managed monitoring.Using Terraform
Using Terraform
terraform plan should show an in-place update to is_password_expires = true and password_expires_in_days = 365 on oci_identity_password_policy.iam_password_policy.
