Creates a new Access Guardrail

post

/access-governance/access-controls/20250331/accessGuardrails

Creates a new Access Guardrail. Note: Currently, when editing access guardrails via the UI, fields related to condition handling may need to be reapplied.

Request

Header Parameters
  • The client request ID for tracing. The only valid characters for request IDs are letters, numbers, underscore, and dash.
  • Minimum Length: 1
    Maximum Length: 64
    A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations. For example, if a resource has been deleted and purged from the system, then a retry of the original creation request might be rejected.
Body ()
Details for the new access guardrail.
Root Schema : CreateAccessGuardrailDetails
Type: object
Details about new Access Guardrail.
Show Source
Nested Schema : ActionOnFailure
Type: object
The information about remediation in case of condition failure.
Show Source
Nested Schema : owners
Type: array
List of owner entities.
Show Source
Nested Schema : RuleCollection
Type: object
Collection of rule.
Show Source
Nested Schema : tags
Type: array
Tags for the Access Guardrail.
Show Source
Nested Schema : OwnerSummary
Type: object
Owner entity object
Show Source
Nested Schema : items
Type: array
List of rule.
Show Source
Nested Schema : Rule
Type: object
The information about Rule.
Show Source
Nested Schema : ConditionCollection
Type: object
Collection of conditions.
Show Source
Nested Schema : items
Type: array
List of condition.
Show Source
Nested Schema : Condition
Type: object
The information about Condition.
Show Source
Nested Schema : additionalAttributes
Type: object
Additional Properties Allowed
Show Source
Additional attributes for additional information related to the condition.
Nested Schema : BasicCondition
Type: object
The information about condition.
Show Source
  • Allowed Values: [ "STRING", "NUMBER", "BOOLEAN", "DATE" ]
    Data type for the condition identifier (lhs)
  • Minimum Length: 1
    Maximum Length: 255
    Access Guardrails Identifier
  • Minimum Length: 1
    Maximum Length: 512
    Left hand side of the condition.
  • Allowed Values: [ "EQ", "NE", "GT", "LT", "GTE", "LTE", "BEFORE", "AFTER", "TILL", "FROM", "BETWEEN", "NOT_BETWEEN", "IN", "NOT_IN", "CONTAINS", "NOT_CONTAINS", "BEGINS_WITH", "NOT_BEGINS_WITH", "ENDS_WITH", "NOT_ENDS_WITH", "IS_NULL", "IS_NOT_NULL", "EQUAL_WITH_NULL" ]
    The operator for a access guardrail.
  • rhs
    Right hand side of the condition.
Nested Schema : BasicConditionCollection
Type: object
Collection of conditions.
Show Source
Nested Schema : rhs
Type: array
Right hand side of the condition.
Show Source
Nested Schema : items
Type: array
List of condition.
Show Source
Back to Top

Response

Supported Media Types

200 Response

The Access Guardrail was successfully created.
Headers
  • For optimistic concurrency control. See `if-match`.
  • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Body ()
Root Schema : AccessGuardrail
Type: object
Description of AccessGuardrail.
Show Source
Nested Schema : ActionOnFailure
Type: object
The information about remediation in case of condition failure.
Show Source
Nested Schema : owners
Type: array
List of owner entities
Show Source
Nested Schema : RuleCollection
Type: object
Collection of rule.
Show Source
Nested Schema : tags
Type: array
Tags for the AccessGuardrail.
Show Source
Nested Schema : OwnerSummary
Type: object
Owner entity object
Show Source
Nested Schema : items
Type: array
List of rule.
Show Source
Nested Schema : Rule
Type: object
The information about Rule.
Show Source
Nested Schema : ConditionCollection
Type: object
Collection of conditions.
Show Source
Nested Schema : items
Type: array
List of condition.
Show Source
Nested Schema : Condition
Type: object
The information about Condition.
Show Source
Nested Schema : additionalAttributes
Type: object
Additional Properties Allowed
Show Source
Additional attributes for additional information related to the condition.
Nested Schema : BasicCondition
Type: object
The information about condition.
Show Source
  • Allowed Values: [ "STRING", "NUMBER", "BOOLEAN", "DATE" ]
    Data type for the condition identifier (lhs)
  • Minimum Length: 1
    Maximum Length: 255
    Access Guardrails Identifier
  • Minimum Length: 1
    Maximum Length: 512
    Left hand side of the condition.
  • Allowed Values: [ "EQ", "NE", "GT", "LT", "GTE", "LTE", "BEFORE", "AFTER", "TILL", "FROM", "BETWEEN", "NOT_BETWEEN", "IN", "NOT_IN", "CONTAINS", "NOT_CONTAINS", "BEGINS_WITH", "NOT_BEGINS_WITH", "ENDS_WITH", "NOT_ENDS_WITH", "IS_NULL", "IS_NOT_NULL", "EQUAL_WITH_NULL" ]
    The operator for a access guardrail.
  • rhs
    Right hand side of the condition.
Nested Schema : BasicConditionCollection
Type: object
Collection of conditions.
Show Source
Nested Schema : rhs
Type: array
Right hand side of the condition.
Show Source
Nested Schema : items
Type: array
List of condition.
Show Source

400 Response

Bad Request
Headers
  • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Body ()
Root Schema : Error
Type: object
Error Information.
Show Source

401 Response

Unauthorized
Headers
  • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Body ()
Root Schema : Error
Type: object
Error Information.
Show Source

404 Response

Not Found
Headers
  • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Body ()
Root Schema : Error
Type: object
Error Information.
Show Source

409 Response

Conflict
Headers
  • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Body ()
Root Schema : Error
Type: object
Error Information.
Show Source

429 Response

Too Many Requests
Headers
  • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Body ()
Root Schema : Error
Type: object
Error Information.
Show Source

500 Response

Internal Server Error
Headers
  • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Body ()
Root Schema : Error
Type: object
Error Information.
Show Source

Default Response

Unknown Error
Headers
  • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Body ()
Root Schema : Error
Type: object
Error Information.
Show Source
Back to Top

Examples

The following examples shows how to create an Access Guardrails:

Example 1: Employee Type Access Guardrails

Submit a POST request to the following endpoint: ${si}/access-governance/access-controls/${version}/accessGuardrails.

{
  "name": "employee-type-access-guardrail",
  "description": "Ensures access policies are enforced based on employee type attribute",
  "isDetectiveViolationCheckEnabled": true,
  "tags": ["identity-attribute"],
  "rules": {
    "items": [
      {
        "type": "DEFAULT",
        "operator": "AND",
        "conditions": {
          "items": [
            {
              "type": "IDENTITY_ATTRIBUTE",
              "basicCondition": {
                "displayName": "Employee type",
                "operator": "EQ",
                "lhs": "userType",
                "rhs": ["Employee"],
                "dataType": "STRING"
              },
              "childConditions": {
                "items": []
              },
              "additionalAttributes": null
            }
          ]
        }
      }
    ]
  },
  "actionOnFailure": {
    "actionType": "REVOKE_LATER",
    "risk": "LOW",
    "revokeLaterAfterNumberOfDays": 10,
    "shouldUserManagerBeNotified": false
  },
  "owners": [
    {
      "id": "ocid1.tenancy.oc1..xxxxxxownerid",
      "name": "John Doe",
      "isPrimary": true
    }
  ]
}

Sample Response Payload

You'll get a 200 OK response, with the following payload

{
  "id": "ocid1.tenancy.oc1..xxxxxxguardrailid",
  "name": "employee-type-access-guardrail",
  "description": "Ensures access policies are enforced based on employee type attribute",
  "timeCreated": "2026-04-24T14:19:49.181Z",
  "timeUpdated": "2026-04-24T14:19:49.181Z",
  "lifecycleState": "ACTIVE",
  "isDetectiveViolationCheckEnabled": true,
  "tags": [
    "identity-attribute"
  ],
  "rules": {
    "items": [
      {
        "id": "rule-xxx-1",
        "type": "DEFAULT",
        "operator": "AND",
        "conditions": {
          "items": [
            {
              "type": "IDENTITY_ATTRIBUTE",
              "basicCondition": {
                "displayName": "Employee type",
                "operator": "EQ",
                "lhs": "userType",
                "rhs": ["Employee"],
                "dataType": "STRING"
              },
              "childConditions": {
                "items": []
              },
              "additionalAttributes": null
            }
          ]
        }
      }
    ]
  },
  "actionOnFailure": {
    "actionType": "REVOKE_LATER",
    "risk": "LOW",
    "revokeLaterAfterNumberOfDays": 10,
    "shouldUserManagerBeNotified": false
  },
  "ownershipCollectionId": "ocid1.tenancy.oc1..xxxxxxcollectionid",
  "primaryOwnerDisplayName": "John Doe",
  "owners": null,
  "createdBy": "John Doe",
  "updatedBy": "John Doe"
}

Example 2: Permission-based Access Guardrail

Submit a POST request to the following endpoint: ${si}/access-governance/access-controls/${version}/accessGuardrails

{
  "name": "group-membership-access-guardrail",
  "description": "Ensures access control based on group membership permission",
  "isDetectiveViolationCheckEnabled": false,
  "tags": ["hasPermission"],
  "rules": {
    "items": [
      {
        "type": "DEFAULT",
        "operator": "OR",
        "conditions": {
          "items": [
            {
              "type": "PERMISSION",
              "basicCondition": {
                "displayName": "sample_group",
                "operator": "EQ",
                "lhs": "id",
                "rhs": [
                  "groups.OCI.xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.xxxxxx"
                ],
                "dataType": "STRING"
              },
              "childConditions": {
                "items": []
              },
              "additionalAttributes": {
                "connectedSystemId": "ocid1.tenancy.oc1..xxxxxxsystemid",
                "connectedSystemLabel": "SampleSystem",
                "connectedSystemType": "OCI",
                "domainName": "Default",
                "permissionTypeId": "etype.OCI.xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.xxxxxx",
                "permissionTypeLabel": "Group",
                "permissionName": "groups"
              }
            }
          ]
        }
      }
    ]
  },
  "actionOnFailure": {
    "actionType": "REVOKE_IMMEDIATELY",
    "risk": "HIGH",
    "revokeLaterAfterNumberOfDays": 0,
    "shouldUserManagerBeNotified": false
  },
  "owners": [
    {
      "id": "ocid1.tenancy.oc1..xxxxxxownerid",
      "name": "Alice",
      "isPrimary": true
    }
  ]
}

Example of the Response Body

The following example shows response body in JSON format:

{
  "id": "ocid1.tenancy.oc1..xxxxxxguardrailid",
  "name": "group-membership-access-guardrail",
  "description": "Ensures access control based on group membership permission",
  "timeCreated": "2026-04-24T14:30:44.785Z",
  "timeUpdated": "2026-04-24T14:30:44.785Z",
  "lifecycleState": "ACTIVE",
  "isDetectiveViolationCheckEnabled": false,
  "tags": [
    "hasPermission"
  ],
  "rules": {
    "items": [
      {
        "id": "rule-xxx-1",
        "type": "DEFAULT",
        "operator": "OR",
        "conditions": {
          "items": [
            {
              "type": "PERMISSION",
              "basicCondition": {
                "displayName": "sample_group",
                "operator": "EQ",
                "lhs": "id",
                "rhs": [
                  "groups.OCI.xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.xxxxxx"
                ],
                "dataType": "STRING"
              },
              "childConditions": {
                "items": []
              },
              "additionalAttributes": {
                "connectedSystemId": "ocid1.tenancy.oc1..xxxxxxsystemid",
                "connectedSystemLabel": "SampleSystem",
                "connectedSystemType": "OCI",
                "domainName": "Default",
                "permissionTypeId": "etype.OCI.xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.xxxxxx",
                "permissionTypeLabel": "Group",
                "permissionName": "groups"
              }
            }
          ]
        }
      }
    ]
  },
  "actionOnFailure": {
    "actionType": "REVOKE_IMMEDIATELY",
    "risk": "HIGH",
    "revokeLaterAfterNumberOfDays": 0,
    "shouldUserManagerBeNotified": false
  },
  "ownershipCollectionId": "ocid1.tenancy.oc1..xxxxxxcollectionid",
  "primaryOwnerDisplayName": "Alice",
  "owners": null,
  "createdBy": "Alice",
  "updatedBy": "Alice"
}
Back to Top