Modifying and Restoring Oracle Security Defaults Using the Required Consents

You can modify the Oracle security defaults for the "Security Policy for OCI Console" sign-on policy for an identity domain after providing explicit modification consent. You can also restore the Oracle security defaults after providing restoration consent.

Oracle has implemented the "Security Policy for OCI Console" sign-on policy for all domains to safeguard the Console. This policy enforces multifactor authentication with phishing-resistant factors to be prompted for each sign-in attempt to the Console, protecting its resources.

To guarantee that the identity domain's Oracle security defaults is always maintained, explicit consent must be recorded whenever you modify the Oracle security defaults provided by Oracle. The system sends an email notification to all identity domain administrators alerting them of any modifications.

Note

A maximum of 50 identity domain administrators receive the email notification.

To understand more about policies and roles, see Getting Started with Policies, Understanding Administrator Roles, and Understanding Policies.

The following changes to the Oracle security defaults of the "Security Policy for OCI Console" sign-on policy require explicit consent:

  • Adding new rules
  • Deleting any Oracle default security rules
  • Resequencing any Oracle default security rules
  • Modifying any Conditions (including Group membership) or Actions in the Oracle default security rules
  • Restoring the "Security Policy for OCI Console" to the Oracle security defaults
Important

Oracle sends three email reminders to all tenancy and domain administrators, reminding them to review the "Security Policy for OCI Console" sign-on policy for each of their domains and to either keep any customizations to the policy or restore the policy to the Oracle security defaults. After three email reminders, at least one administrator must provide consent before you can continue working in the Console.

This section contains the following topics:

Modifying the Domain's Oracle Security Defaults

Modifying the "Security Policy for OCI Console" sign-on policy, either through the Console or through the API, requires explicit consent from the identity domain administrators. An email will then be sent to other identity domain administrators with details of the change.

To manage sign-on policies, you must have one of the following access grants:

  • Be a member of the Administrators group
  • Be granted the identity domain administrator role
  • Be a member of a group granted manage identity-domains
Note

  • Important

    If you're using Oracle Identity Cloud Service (IDCS) stripes that haven't been migrated to IAM identity domains, you can't modify the "Security Policy for OCI Console" using the Admin Console. To make changes to this policy, you must use the API instead. Note that the Admin Console UI doesn't support modifications to the "Security Policy for OCI Console"
  • After the modification consent is provided, you can make changes to the policy without any additional consents. After the "Security Policy for OCI Console" sign-on policy is restored to the Oracle security defaults, any subsequent change will require consent.
    Important

    To restore the Oracle security defaults, you must click Restore defaults. Don't manually revert the changes to the Oracle security defaults.
  • Consent emails can be sent to a maximum of 50 identity domain administrators.
  • Identity domain administrators can restore a modified "Security Policy for OCI Console" sign-on policy to the Oracle security defaults at any time. See Restoring the Domain's Oracle Security Defaults.

Modifying the Oracle Security Defaults Using the Console

To modify the Oracle security defaults in the sign-on policy, you must provide explicit consent and a justification.

  1. Open the navigation menu  and select Identity & Security. Under Identity, select Domains.
  2. Click the name of the identity domain that you want to work in. You might need to change the compartment to find the domain that you want.
  3. Click Security, and then click Sign-on policies.
  4. In the Sign-on policies page, click the "Security Policy for OCI Console" sign-on policy.
  5. Make your changes ans record consent. Click Predefined Category or click Other to enter the supporting justification. See Updating a Sign-On Policy for more details about modifying sign-on policies in the Console.

Modifying Oracle Security Defaults Using the API

To modify the "Security Policy for OCI Console" sign-on policy, use the following API operations:
Note

For information about accessing the REST API, see Using OAuth 2 to Access the REST API.
  • /Policies
  • /Rules
  • /ConditionGroups
  • /Conditions
Note

  • All these APIs accept consent, justification, and reason similar to the Console.
  • The API operation is blocked if no explicit consent is provided. The consent, justification, or reason only apply to the "Security Policy for OCI Console" sign-on policy.

Example Request Body

PATCH https://<domainURL>/admin/v1/Policies/OciConsolePolicy
 
{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
        {
            "op": "replace",
            "path": "active",
            "value": false
        },
        {
            "op": "replace",
            "path": "urn:ietf:params:scim:schemas:oracle:idcs:extension:ociconsolesignonpolicyconsent:Policy:consent",
            "value": true
        },
        {
            "op": "replace",
            "path": "urn:ietf:params:scim:schemas:oracle:idcs:extension:ociconsolesignonpolicyconsent:Policy:justification",
            "value": "MFA Configured in Custom Policy"
        }
    ]
}

Example Response Body

{
    "policyType": {
        "value": "SignOn",
        "$ref": "https://<domain_name>/admin/v1/PolicyTypes/SignOn"
    }
    .
    .
    .
    "id": "OciConsolePolicy",
    "active": false,
    "name": "Security Policy for OCI Console",
    .
    .
    .
}

Deleting Resources That Belong to the Domain's Oracle Security Defaults

To delete the resources that belong to the "Security Policy for OCI Console" sign-on policy, they must be dereferenced from their parent object.

Rules, Conditions and Condition Groups are part of the Policy object. See the following list of the parent-child references for the objects:

  • Rule is referenced in Policy
  • Condition Group is referenced in Rule
  • Condition is referenced in Rule or Condition Groups

Deleting Resources Using the Console

To remove a sign-on rule from the "Security Policy for OCI Console" sign-on policy:

  1. On the sign-on policy details page, select the checkbox for each sign-on rule that you want to delete from the policy.
  2. Click Remove sign-on rule.
  3. Click the Consent checkbox and enter a justification.
  4. In the confirmation window, click Remove sign-on rule.

Deleting Resources Using the API

Dereferencing must be done using a PUT or PATCH operation on the corresponding parent object before removing the required child object.

Example Request Body

PATCH https://<domainURL>/admin/v1/Policies/OciConsolePolicy

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
        {
            "op": "replace",
            "path": "rules",
            "value": [
                {
                    "value": "OciConsoleAdminMFARule",
                    "sequence": 1,
                    "name": "MFA for administrators",
                    "$ref": "https://<domainURL>/admin/v1/Rules/OciConsoleAdminMFARule"
                }
                <2nd Rule Has been not included (de-referenced)>
            ]
        },
        {
            "op": "replace",
            "path": "urn:ietf:params:scim:schemas:oracle:idcs:extension:ociconsolesignonpolicyconsent:Policy:consent",
            "value": true
        },
        {
            "op": "replace",
            "path": "urn:ietf:params:scim:schemas:oracle:idcs:extension:ociconsolesignonpolicyconsent:Policy:justification",
            "value": "MFA Configured in Custom Policy"
        }
    ]
}

Example Response Body

.
.
.
    "active": true,
    "name": "Security Policy for OCI Console",
    "rules": [
        {
            "value": "OciConsoleAdminMFARule",
            "sequence": 1,
            "name": "MFA for administrators",
            "$ref": "https://<domainURL>/admin/v1/Rules/OciConsoleAdminMFARule"
        }
    ],
.
.
.

Restoring the Domain's Oracle Security Defaults

You can restore the "Security Policy for OCI Console" sign-on policy to the Oracle security defaults after providing restoration consent.

To restore the default security settings for the "Security Policy for OCI Console" sign-on policy, you must provide explicit consent and a justification. An email will then be sent to other identity domain administrators with details of the restoration.

Note

  • Restoration emails can be sent to a maximum of 50 identity domain administrators.
  • Identity domain administrators can restore a changed "Security Policy for OCI Console" sign-on policy sign-on policy to the Oracle security defaults at any time.

During restoration of the "Security Policy for OCI Console" sign-on policy, the following actions are performed:

  1. If any of the phishing-resistant factors aren't enabled for the policy, then restoration enables the following factors:
    • Mobile app push notification
    • Mobile app passcode
    • Fast ID Online (FIDO)
  2. Only the rules seeded by Oracle are restored, even if the rule was deleted. Any custom rules are removed from the policy.
  3. If an administrator's group is deleted or renamed, during restoration, a new administrator's group is created without any members or roles and assigned to the MFA for administrators sign-on rule. The administrator's group name differs depending on the identity domain. Use the following list to find the correct group name:
    • Administrators group: In default identity domains.
    • Domain_Administrators group: In secondary identity domains.
    • IDCS_Administrators group: For IDCS stripes migrated to OCI identity domains.
  4. If a custom policy has been attached or no policy has been attached to the OCI Console application, on restoration this policy is attached to the "Security Policy for OCI Console" sign-on policy.

Restoring the Oracle Security Defaults Using the Console

To restore the "Security Policy for OCI Console" sign-on policy to the Oracle security defaults, access the sign-on policy details page and click Restore defaults and provide the consent.

Important

To restore the Oracle security defaults, you must click Restore defaults. Don't manually revert the changes to the Oracle security defaults.

See Updating a Sign-On Policy for more details about modifying sign-on policies in the Console.

Restoring the Oracle Security Defaults Using the API

To restore a policy to Oracle security defaults, make a POST call using the /RestoreOciConsolePolicy API operation.

Example Request Body

POST https://<domainURL>/admin/v1/RestoreOciConsolePolicy
 
{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:RestoreOciConsolePolicy"
    ],
    "reason" : "Custom requirement to reset the policy to factory defaults",
    "consent": true
}

Example Response Body

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:RestoreOciConsolePolicy"
    ],
    "reason": "Custom requirement to reset the policy to factory defaults",
    "consent": true,
    "meta": {
        "resourceType": "RestoreOciConsolePolicy",
        "location": "https://<domain_name>/admin/v1/RestoreOciConsolePolicy"
    },
    "domainOcid": "ocid1.tenancy.oc1..<unique_id>",
    "compartmentOcid": "ocid1.compartment.oc1..<unique_id>",
    "tenancyOcid": "ocid1.tenancy.oc1..<unique_id>"
}

Recording Consent for Changes to the Oracle Security Defaults That Were Made Without Recorded Consent

Oracle requires explicit consent for changes to the "Security Policy for OCI Console" sign-on policy. If you've made changes without consent, you must provide it now.

Note

If you haven't made any changes to the "Security Policy for OCI Console" and are still prompted for consent, complete the following steps:

  1. On the Review sign-on policy changes page, select the option Restore to default security posture.
  2. Enter the Reason as "Default Domain Henosis Migration."
  3. Select Save Changes.

Viewing the "Security Policy for OCI Console" Sign-On Policy Consents

Use the identity domains API to view the recorded modification consents and restoration consents for an identity domain.

To view the consents in an identity domain, make a GET call using the /OciConsoleSignOnPolicyConsents API operation.

The changeType of the consent indicates the current consent status of the identity domain and can be one of the following types:

  • No entry: No consent has ever been recorded for the identity domain.
  • MODIFIED: Modification consent has been recorded for the identity domain and the "Security Policy for OCI Console" sign-on policy has been modified from the Oracle security defaults.
  • RESTORED_TO_FACTORY_DEFAULTS: Restoration consent has been recorded for the identity domain and the "Security Policy for OCI Console" sign-on policy is configured to the Oracle security defaults.
Viewing Consents Using the Console

You can't perform this action in the Console.

Viewing All Consents Using the API

Example Response Body (view all consents)

GET https://<domainURL>/admin/v1/OciConsoleSignOnPolicyConsents

Example Response Body (view all consents)

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 2,
    "Resources": [
        {
            "consentSignedBy": {
                "type": "App",
                "value": "<app_id>",
                "ocid": "ocid1.domainapp.region1.sea.<unique_id>",
                "displayName": "IDA Application"
            },
            "reason": "Want to restore to factory defaults",
            "modifiedResource": {
                "value": "OciConsolePolicy",
                "type": "Policy",
                "ocid": "ocid1.domainpolicy.region1.sea.<unique_id>"
            },
            "idcsLastModifiedBy": {
                "type": "App",
                "value": "<app_id>",
                "display": "IDA Application",
                "ocid": "ocid1.domainapp.region1.sea.<unique_id>",
                "$ref": "https://<domainURL>/admin/v1/Apps/<app_id>"
            },
            "idcsCreatedBy": {
                "type": "App",
                "ocid": "ocid1.domainapp.region1.sea.<unique_id>",
                "display": "IDA Application For Testing",
                "value": "<app_id>",
                "$ref": "https://<domainURL>/admin/v1/Apps/<app_id>"
            },
            "meta": {
                "version": "0cac077e85994471baf80a79a611c84e",
                "created": "2024-08-06T08:37:47.675Z",
                "lastModified": "2024-08-06T08:37:47.675Z",
                "resourceType": "OciConsoleSignOnPolicyConsent",
                "location": "https://<domainURL>/admin/v1/OciConsoleSignOnPolicyConsents/<sign-on-policy_id>"
            },
            "id": "<sign-on-policy_id>",
            "justification": "Other",
            "ocid": "ocid1.domainsignonpolicyconsent.region1.sea.<unique_id>",
            "changeType": "RESTORED_TO_FACTORY_DEFAULT",
            "timeConsentSigned": "2024-08-06T08:37:47.655Z",
            "policyResource": {
                "value": "OciConsolePolicy",
                "ocid": "ocid1.domainpolicy.region1.sea.<unique_id>"
            },
            "clientIp": "10.3.62.212",
            "notificationRecipients": [
                "admin5@oracle.com",
                "admin4@oracle.com",
                "admin2@oracle.com",
                "admin1@oracle.com",
                "admin3@oracle.com"
            ],
            "schemas": [
                "urn:ietf:params:scim:schemas:oracle:idcs:OciConsoleSignOnPolicyConsent"
            ],
            "domainOcid": "ocid1.tenancy.oc1..<unique_id>",
            "compartmentOcid": "ocid1.compartment.oc1..<unique_id>",
            "tenancyOcid": "ocid1.tenancy.oc1..<unique_id>"
        },
        {
            "consentSignedBy": {
                "type": "User",
                "value": "<user_id>",
                "ocid": "ocid1.domainuser.region1.sea.<unique_id>",
                "displayName": "Admin OPC"
            },
            "modifiedResource": {
                "value": "OciConsolePolicy",
                "type": "Policy",
                "ocid": "ocid1.domainpolicy.region1.sea.<unique_id>"
            },
            "idcsLastModifiedBy": {
                "type": "User",
                "value": "<user_id>",
                "display": "Admin OPC",
                "ocid": "ocid1.domainuser.region1.sea.<unique_id>",
                "$ref": "https://<domainURL>/admin/v1/Users/<user_id>"
            },
            "idcsCreatedBy": {
                "type": "User",
                "ocid": "ocid1.domainuser.region1.sea.<unique_id>",
                "display": "Admin OPC",
                "value": "<user_id>",
                "$ref": "https://<domainURL>/admin/v1/Users/<user_id>"
            },
            "meta": {
                "version": "d65324105b1044d39b08475e3fe45650",
                "created": "2024-08-06T08:33:27.912Z",
                "lastModified": "2024-08-06T08:33:27.912Z",
                "resourceType": "OciConsoleSignOnPolicyConsent",
                "location": "https://<domainURL>/admin/v1/OciConsoleSignOnPolicyConsents/<consent_id>"
            },
            "id": "<consent_id>",
            "justification": "MFA Configured in Custom Policy",
            "ocid": "ocid1.domainsignonpolicyconsent.region1.sea.<unique_id>",
            "changeType": "MODIFIED",
            "timeConsentSigned": "2024-08-06T08:33:27.823Z",
            "policyResource": {
                "value": "OciConsolePolicy",
                "ocid": "ocid1.domainpolicy.region1.sea.<unique_id>"
            },
            "clientIp": "10.3.62.212",
            "notificationRecipients": [
                "admin5@oracle.com",
                "admin4@oracle.com",
                "admin2@oracle.com",
                "admin1@oracle.com",
                "admin3@oracle.com"
            ],
            "schemas": [
                "urn:ietf:params:scim:schemas:oracle:idcs:OciConsoleSignOnPolicyConsent"
            ],
            "domainOcid": "ocid1.tenancy.oc1..<unique_id>",
            "compartmentOcid": "ocid1.compartment.oc1..<unique_id>",
            "tenancyOcid": "ocid1.tenancy.oc1..<unique_id>"
        }
    ],
    "startIndex": 1,
    "itemsPerPage": 2
}
Viewing the Latest Consent Using the API

Example Request Body (view latest consent)

GET https://<domainURL>/admin/v1/OciConsoleSignOnPolicyConsents?sortBy=meta.created&sortOrder=DESCENDING&count=1&filter=policyResource.value eq "OciConsolePolicy"

Example Response Body (view latest consent)

{
            "consentSignedBy": {
                "type": "User",
                "value": "<user_id>",
                "ocid": "ocid1.domainuser.region1.sea.<unique_id>",
                "displayName": "Admin OPC"
            },
            "modifiedResource": {
                "value": "OciConsolePolicy",
                "type": "Policy",
                "ocid": "ocid1.domainpolicy.region1.sea.<unique_id>"
            },
            "idcsLastModifiedBy": {
                "type": "User",
                "value": "<user_id>",
                "display": "Admin OPC",
                "ocid": "ocid1.domainuser.region1.sea.<unique_id>",
                "$ref": "https://<domainURL>/admin/v1/Users/<user_id>"
            },
            "idcsCreatedBy": {
                "type": "User",
                "ocid": "ocid1.domainuser.region1.sea.<unique_id>",
                "display": "Admin OPC",
                "value": "<user_id>",
                "$ref": "https://<domainURL>/admin/v1/Users/<user_id>"
            },
            "meta": {
                "version": "d65324105b1044d39b08475e3fe45650",
                "created": "2024-08-06T08:33:27.912Z",
                "lastModified": "2024-08-06T08:33:27.912Z",
                "resourceType": "OciConsoleSignOnPolicyConsent",
                "location": "https://<domainURL>/admin/v1/OciConsoleSignOnPolicyConsents/<consent_id>"
            },
            "id": "<consent_id>",
            "justification": "MFA Configured in Custom Policy",
            "ocid": "ocid1.domainsignonpolicyconsent.region1.sea.<unique_id>",
            "changeType": "MODIFIED",
            "timeConsentSigned": "2024-08-06T08:33:27.823Z",
            "policyResource": {
                "value": "OciConsolePolicy",
                "ocid": "ocid1.domainpolicy.region1.sea.<unique_id>"
            },
            "clientIp": "10.3.62.212",
            "notificationRecipients": [
                "admin5@oracle.com",
                "admin4@oracle.com",
                "admin2@oracle.com",
                "admin1@oracle.com",
                "admin3@oracle.com"
            ],
            "schemas": [
                "urn:ietf:params:scim:schemas:oracle:idcs:OciConsoleSignOnPolicyConsent"
            ],
            "domainOcid": "ocid1.tenancy.oc1..<unique_id>",
            "compartmentOcid": "ocid1.compartment.oc1..<unique_id>",
            "tenancyOcid": "ocid1.tenancy.oc1..<unique_id>"
        }
    ],