Creazione di un'applicazione enterprise con il criterio di autorizzazione

Questi casi d'uso forniscono richieste di esempio per creare un'applicazione enterprise con un criterio di autorizzazione utilizzando l'API REST dei domini di Identity.

I casi d'uso riportati di seguito illustrano i passi necessari per creare un'applicazione enterprise con il criterio di autorizzazione mediante le API REST.

Creare un'applicazione Enterprise

L'esempio seguente mostra come creare un'applicazione aziendale sottomettendo una richiesta POST sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl 
   -X POST
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/Apps
Nota

L'ID modello deve essere mappato al modello di applicazione Enterprise.

Esempio del corpo della richiesta

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:App",
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:samlServiceProvider:App",
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:requestable:App",
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:managedapp:App"
    ],
    "displayName": "Enterprise App",
    "description": "Enterprise Application",
    "landingPageURL": "http://google.com",
    "basedOnTemplate": {
        "value": "CustomEnterpriseAppTemplateId"
    },
    "isSamlServiceProvider": false,
    "isOAuthResource": false,
    "isOAuthClient": false,
    "showInMyApps": false,
    "isWebTierPolicy": false,
    "isEnterpriseApp": true,
    "urn:ietf:params:scim:schemas:oracle:idcs:extension:requestable:App": {
        "requestable": false
    }
}

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "isAliasApp": false,
    "meta": {
        "created": "2022-01-07T17:30:36.385Z",
        "lastModified": "2022-01-07T17:30:36.385Z",
        "resourceType": "App",
        "location": "https://<domainURL>/admin/v1/Apps/69130ad799814b3a82d2cd3b19aba7ce"
    },
    "active": false,
    "isLoginTarget": false,
    "idcsCreatedBy": {
        "display": "admin opc",
        "type": "User",
        "value": "64c266200ba04b1bb1591482f8fd204f",
        "$ref": "https://<domainURL>/admin/v1/Users/64c266200ba04b1bb1591482f8fd204f"
    },
    "displayName": "Enterprise App",
    "showInMyApps": false,
    "isMobileTarget": false,
    "allowOffline": false,
    "isUnmanagedApp": false,
    "idcsLastModifiedBy": {
        "display": "admin opc",
        "type": "User",
        "value": "64c266200ba04b1bb1591482f8fd204f",
        "$ref": "https://<domainURL>/admin/v1/Users/64c266200ba04b1bb1591482f8fd204f"
    },
    "isOPCService": false,
    "description": "Enterprise Application",
    "isOAuthClient": false,
    "isManagedApp": true,
    "isEnterpriseApp": true,
    "isSamlServiceProvider": false,
    "infrastructure": false,
    "allUrlSchemesAllowed": false,
    "id": "69130ad799814b3a82d2cd3b19aba7ce",
    "landingPageUrl": "http://google.com",
    "isWebTierPolicy": false,
    "loginMechanism": "OIDC",
    "allowAccessControl": false,
    "isOAuthResource": false,
    "migrated": false,
    "isKerberosRealm": false,
    "urn:ietf:params:scim:schemas:oracle:idcs:extension:managedapp:App": {
        "flatFileBundleConfigurationProperties": [
            {
                "required": true,
                "helpMessage": "Enter the character that specifies the boundary between separate, independent fields in the flat file.",
                "confidential": false,
                "displayName": "Field Delimiter",
                "name": "fieldDelimiter",
                "icfType": "String",
                "value": [
                    ","
                ]
            },
            {
                "required": false,
                "helpMessage": "Enter the character that specifies the boundary between sub-fields in the flat file. As an example, if Address is a field, then Street Address, City, State, and Zip Code can be designated as sub-fields of the Address field.",
                "confidential": false,
                "displayName": "Sub-Field Delimiter",
                "name": "subFieldDelimiter",
                "icfType": "String"
            },
            {
                "required": true,
                "helpMessage": "Enter the attribute name that represents the unique identifier (UID) for each record in the flat file.",
                "confidential": false,
                "displayName": "UID",
                "name": "uidAttribute",
                "icfType": "String",
                "value": [
                    "ID"
                ]
            },
            {
                "required": true,
                "helpMessage": "Enter the attribute name that represents the user-friendly name for each record in the flat file.",
                "confidential": false,
                "displayName": "Name",
                "name": "nameAttribute",
                "icfType": "String",
                "value": [
                    "NAME"
                ]
            },
            {
                "required": false,
                "helpMessage": "Enter the attribute name that represents the status for each record in the flat file.",
                "confidential": false,
                "displayName": "Status",
                "name": "statusAttribute",
                "icfType": "String",
                "value": [
                    "ACTIVE"
                ]
            },
            {
                "required": false,
                "helpMessage": "Enter the value for the Status attribute that represents the Active or Enabled status for each record in the flat file.",
                "confidential": false,
                "displayName": "Active",
                "name": "statusEnabledValue",
                "icfType": "String",
                "value": [
                    "true"
                ]
            },
            {
                "required": false,
                "helpMessage": "Enter the value for the Status attribute that represents the Inactive or Disabled status for each record in the flat file.",
                "confidential": false,
                "displayName": "Inactive",
                "name": "statusDisabledValue",
                "icfType": "String",
                "value": [
                    "false"
                ]
            },
            {
                "required": false,
                "helpMessage": "Enter the fully qualified name (including the package name) of the post-process class. If you haven't implemented a post-process task, then skip this field.",
                "confidential": false,
                "displayName": "Post-Process Task Class Name",
                "name": "postProcessClassName",
                "icfType": "String"
            },
            {
                "required": false,
                "helpMessage": "Enter a number that represents how many records in the flat file will be processed before the progress will be logged.",
                "confidential": false,
                "displayName": "Progress Checkpoint",
                "name": "progressCheckPoint",
                "icfType": "Integer",
                "value": [
                    "100"
                ]
            },
            {
                "required": false,
                "helpMessage": "Enter the fully qualified name (including the package name) of the parser class. If you haven't implemented a custom parser, then skip this field.",
                "confidential": false,
                "displayName": "Parser Class Name",
                "name": "parserClassName",
                "icfType": "String",
                "value": [
                    "org.identityconnectors.flatfile.csv.CSVParser"
                ]
            },
            {
                "required": false,
                "helpMessage": "Enter the configuration parameters for your parser class in the following format: param1=value1;param2=value2 ;... and so on. If you haven't implemented a custom parser, then skip this field.",
                "confidential": false,
                "displayName": "Custom Configuration Parameters",
                "name": "customConfigParams",
                "icfType": "String"
            },
            {
                "required": false,
                "helpMessage": "Enter the fully qualified name (including the package name) of the pre-process class. If you haven't implemented a pre-process task, then skip this field.",
                "confidential": false,
                "displayName": "Pre-Process Task Class Name",
                "name": "preProcessClassName",
                "icfType": "String"
            },
            {
                "required": true,
                "helpMessage": "Select the flat file that you want to import.",
                "confidential": false,
                "displayName": "Flat File",
                "name": "flatFile",
                "icfType": "File"
            },
            {
                "required": false,
                "helpMessage": "Provide the encoding format of the flat file that you're importing. Refer to the Java API documentation for the Charset class for valid encoding formats.",
                "confidential": false,
                "displayName": "Encoding Format",
                "name": "encoding",
                "icfType": "String",
                "value": [
                    "UTF-8"
                ]
            },
            {
                "required": false,
                "helpMessage": "Enter the character that represents the comment syntax for the flat file. The lines in the flat file starting with this character will be inert and will be ignored during parsing.",
                "confidential": false,
                "displayName": "Comment Syntax",
                "name": "commentCharacter",
                "icfType": "Character"
            },
            {
                "required": false,
                "helpMessage": "Enter the character that specifies the boundary between multiple values of a single field in the flat file. As an example, if Email is a field, then you can have multiple email addresses as values for that field.",
                "confidential": false,
                "displayName": "Multi-Value Field Delimiter",
                "name": "multiValueDelimiter",
                "icfType": "String"
            },
            {
                "required": false,
                "helpMessage": "Enter the character that marks special text in the flat file. Any text that starts and ends with this character won't be processed or won't be split further using delimiters.",
                "confidential": false,
                "displayName": "Special Text Character",
                "name": "textQualifier",
                "icfType": "Character"
            }
        ],
        "flatFileConnectorBundle": {
            "wellKnownId": "FlatFileConnectorBundleId",
            "value": "FlatFileConnectorBundleId",
            "$ref": "https://<domainURL>/admin/v1/ConnectorBundles/FlatFileConnectorBundleId"
        },
        "isAuthoritative": false,
        "accountFormVisible": false,
        "isThreeLeggedOAuthEnabled": false,
        "connected": false,
        "bundleConfigurationProperties": [
            {
                "icfType": "String",
                "displayName": "host",
                "required": false,
                "helpMessage": "host",
                "confidential": false,
                "name": "host"
            }
        ],
        "objectClasses": [
            {
                "value": "997f5dc686124e069489f2f4d111253c",
                "type": "AccountObjectClass",
                "isAccountObjectClass": true,
                "display": "__ACCOUNT__",
                "resourceType": "ManagedApp997f5dc686124e069489f2f4d111253c",
                "$ref": "https://<domainURL>/admin/v1/AccountObjectClasses/997f5dc686124e069489f2f4d111253c"
            }
        ],
        "connectorBundle": {
            "wellKnownId": "NoOperationConnectorBundleId",
            "value": "NoOperationConnectorBundleId",
            "$ref": "https://<domainURL>/admin/v1/ConnectorBundles/NoOperationConnectorBundleId"
        }
    },
    "urn:ietf:params:scim:schemas:oracle:idcs:extension:enterpriseApp:App": {
        "allowAuthzPolicy": {
            "value": "5b246375d1774feb87e5c1be39b48c0f",
            "$ref": "https://<domainURL>/admin/v1/Policies/5b246375d1774feb87e5c1be39b48c0f"
        },
        "denyAuthzPolicy": {
            "value": "9ca3adcc0be7497cb1ea5395f368a505",
            "$ref": "https://<domainURL>/admin/v1/Policies/9ca3adcc0be7497cb1ea5395f368a505"
        }
    },
    "attrRenderingMetadata": [
        {
            "name": "aliasApps",
            "visible": false
        }
    ],
    "basedOnTemplate": {
        "value": "CustomEnterpriseAppTemplateId",
        "wellKnownId": "CustomEnterpriseAppTemplateId",
        "lastModified": "2022-01-07T10:16:49Z",
        "$ref": "https://<domainURL>/admin/v1/AppTemplates/CustomEnterpriseAppTemplateId"
    },
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:App",
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:enterpriseApp:App",
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:managedapp:App"
    ]
}

Creare una risorsa applicazione

L'esempio seguente mostra come creare una risorsa applicazione sottomettendo una richiesta POST sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl 
   -X POST
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>" https://<domainURL>/admin/v1/AppResources
Nota

Sostituire il segnaposto {{appid}} con l'ID applicazione dalla risposta di creazione dell'applicazione.

Esempio del corpo della richiesta

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:AppResource"
    ],
    "name": "My Resource",
    "resourceURL": "http://google.com",
    "isRegex": false,
    "description": "My resource url content",
    "app": {
        "value": "{{appid}}"
    }
}

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "idcsLastModifiedBy": {
        "type": "User",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "description": "My resource url content",
    "idcsCreatedBy": {
        "type": "User",
        "display": "admin opc",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "resourceURL": "http://google.com",
    "id": "64eb6207fbdd45b3807f857c69b52bc9",
    "isRegex": false,
    "meta": {
        "created": "2022-10-21T12:12:30.130Z",
        "lastModified": "2022-10-21T12:12:30.130Z",
        "resourceType": "AppResource",
        "location": "https://<domainURL>/admin/v1/AppResources/64eb6207fbdd45b3807f857c69b52bc9"
    },
    "name": "My Resource",
    "app": {
        "value": "23b7bf0f79854002b2db81b808e6a54b",
        "display": "Enterprise App",
        "$ref": "https://<domainURL>/admin/v1/Apps/23b7bf0f79854002b2db81b808e6a54b"
    },
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:AppResource"
    ]
}

Aggiorna il riferimento ID risorsa applicazione in un'applicazione enterprise

L'esempio seguente mostra come aggiornare i valori per un'applicazione sottomettendo una richiesta PATCH sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl -X PATCH
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>" https://<domainURL>/admin/v1/Apps/<ID>

Esempio del corpo della richiesta

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "schemas":[  
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
   ],
   "Operations":[  
      {  
         "op":"replace",
         "path":"urn:ietf:params:scim:schemas:oracle:idcs:extension:enterpriseApp:App:appResources",
         "value":[  
            {  
               "value":"f3b3d95cd43049468f82b6e596747a5e"
            }
         ]
      }
   ]
}

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{  
   "isAliasApp":false,
   "meta":{  
      "created":"2022-01-08T07:18:52.803Z",
      "lastModified":"2022-01-08T11:13:54.645Z",
      "resourceType":"App",
      "location":"https://<domainURL>/admin/v1/Apps/ef246fab9d9f4e6185190af186baeb3a"
   },
   "active":false,
   "isLoginTarget":false,
   "idcsCreatedBy":{  
      "display":"admin opc",
      "type":"User",
      "value":"64c266200ba04b1bb1591482f8fd204f",
      "$ref":"https://<domainURL>/admin/v1/Users/64c266200ba04b1bb1591482f8fd204f"
   },
   "displayName":"Enterprise App",
   "showInMyApps":false,
   "isMobileTarget":false,
   "allowOffline":false,
   "isUnmanagedApp":false,
   "idcsLastModifiedBy":{  
      "display":"admin opc",
      "type":"User",
      "value":"64c266200ba04b1bb1591482f8fd204f",
      "$ref":"https://<domainURL>/admin/v1/Users/64c266200ba04b1bb1591482f8fd204f"
   },
   "isOPCService":false,
   "isOAuthClient":false,
   "isManagedApp":true,
   "isEnterpriseApp":true,
   "isSamlServiceProvider":false,
   "infrastructure":false,
   "allUrlSchemesAllowed":false,
   "id":"ef246fab9d9f4e6185190af186baeb3a",
   "isWebTierPolicy":false,
   "loginMechanism":"OIDC",
   "allowAccessControl":false,
   "isOAuthResource":false,
   "migrated":false,
   "isKerberosRealm":false,
   "urn:ietf:params:scim:schemas:oracle:idcs:extension:managedapp:App":{  
      "connectorBundle":{  
         "wellKnownId":"NoOperationConnectorBundleId",
         "value":"NoOperationConnectorBundleId",
         "$ref":"https://<domainURL>/admin/v1/ConnectorBundles/NoOperationConnectorBundleId"
      },
      "flatFileBundleConfigurationProperties":[  
         {  
            "required":false,
            "helpMessage":"Enter the character that specifies the boundary between sub-fields in the flat file. As an example, if Address is a field, then Street Address, City, State, and Zip Code can be designated as sub-fields of the Address field.",
            "confidential":false,
            "displayName":"Sub-Field Delimiter",
            "name":"subFieldDelimiter",
            "icfType":"String"
         },
         {  
            "required":true,
            "helpMessage":"Enter the attribute name that represents the unique identifier (UID) for each record in the flat file.",
            "confidential":false,
            "displayName":"UID",
            "name":"uidAttribute",
            "icfType":"String",
            "value":[  
               "ID"
            ]
         },
         {  
            "required":true,
            "helpMessage":"Enter the attribute name that represents the user-friendly name for each record in the flat file.",
            "confidential":false,
            "displayName":"Name",
            "name":"nameAttribute",
            "icfType":"String",
            "value":[  
               "NAME"
            ]
         },
         {  
            "required":false,
            "helpMessage":"Provide the encoding format of the flat file that you're importing. Refer to the Java API documentation for the Charset class for valid encoding formats.",
            "confidential":false,
            "displayName":"Encoding Format",
            "name":"encoding",
            "icfType":"String",
            "value":[  
               "UTF-8"
            ]
         },
         {  
            "required":false,
            "helpMessage":"Enter the configuration parameters for your parser class in the following format: param1=value1;param2=value2 ;... and so on. If you haven't implemented a custom parser, then skip this field.",
            "confidential":false,
            "displayName":"Custom Configuration Parameters",
            "name":"customConfigParams",
            "icfType":"String"
         },
         {  
            "required":false,
            "helpMessage":"Enter the fully qualified name (including the package name) of the pre-process class. If you haven't implemented a pre-process task, then skip this field.",
            "confidential":false,
            "displayName":"Pre-Process Task Class Name",
            "name":"preProcessClassName",
            "icfType":"String"
         },
         {  
            "required":true,
            "helpMessage":"Select the flat file that you want to import.",
            "confidential":false,
            "displayName":"Flat File",
            "name":"flatFile",
            "icfType":"File"
         },
         {  
            "required":false,
            "helpMessage":"Enter the character that represents the comment syntax for the flat file. The lines in the flat file starting with this character will be inert and will be ignored during parsing.",
            "confidential":false,
            "displayName":"Comment Syntax",
            "name":"commentCharacter",
            "icfType":"Character"
         },
         {  
            "required":false,
            "helpMessage":"Enter the character that specifies the boundary between multiple values of a single field in the flat file. As an example, if Email is a field, then you can have multiple email addresses as values for that field.",
            "confidential":false,
            "displayName":"Multi-Value Field Delimiter",
            "name":"multiValueDelimiter",
            "icfType":"String"
         },
         {  
            "required":false,
            "helpMessage":"Enter the character that marks special text in the flat file. Any text that starts and ends with this character won't be processed or won't be split further using delimiters.",
            "confidential":false,
            "displayName":"Special Text Character",
            "name":"textQualifier",
            "icfType":"Character"
         },
         {  
            "required":true,
            "helpMessage":"Enter the character that specifies the boundary between separate, independent fields in the flat file.",
            "confidential":false,
            "displayName":"Field Delimiter",
            "name":"fieldDelimiter",
            "icfType":"String",
            "value":[  
               ","
            ]
         },
         {  
            "required":false,
            "helpMessage":"Enter the value for the Status attribute that represents the Active or Enabled status for each record in the flat file.",
            "confidential":false,
            "displayName":"Active",
            "name":"statusEnabledValue",
            "icfType":"String",
            "value":[  
               "true"
            ]
         },
         {  
            "required":false,
            "helpMessage":"Enter the attribute name that represents the status for each record in the flat file.",
            "confidential":false,
            "displayName":"Status",
            "name":"statusAttribute",
            "icfType":"String",
            "value":[  
               "ACTIVE"
            ]
         },
         {  
            "required":false,
            "helpMessage":"Enter the value for the Status attribute that represents the Inactive or Disabled status for each record in the flat file.",
            "confidential":false,
            "displayName":"Inactive",
            "name":"statusDisabledValue",
            "icfType":"String",
            "value":[  
               "false"
            ]
         },
         {  
            "required":false,
            "helpMessage":"Enter the fully qualified name (including the package name) of the post-process class. If you haven't implemented a post-process task, then skip this field.",
            "confidential":false,
            "displayName":"Post-Process Task Class Name",
            "name":"postProcessClassName",
            "icfType":"String"
         },
         {  
            "required":false,
            "helpMessage":"Enter a number that represents how many records in the flat file will be processed before the progress will be logged.",
            "confidential":false,
            "displayName":"Progress Checkpoint",
            "name":"progressCheckPoint",
            "icfType":"Integer",
            "value":[  
               "100"
            ]
         },
         {  
            "required":false,
            "helpMessage":"Enter the fully qualified name (including the package name) of the parser class. If you haven't implemented a custom parser, then skip this field.",
            "confidential":false,
            "displayName":"Parser Class Name",
            "name":"parserClassName",
            "icfType":"String",
            "value":[  
               "org.identityconnectors.flatfile.csv.CSVParser"
            ]
         }
      ],
      "isAuthoritative":false,
      "accountFormVisible":false,
      "isThreeLeggedOAuthEnabled":false,
      "connected":false,
      "bundleConfigurationProperties":[  
         {  
            "icfType":"String",
            "displayName":"host",
            "required":false,
            "helpMessage":"host",
            "confidential":false,
            "name":"host"
         }
      ],
      "objectClasses":[  
         {  
            "value":"05cf9ba4b2bd4ff9bb10ce134a821c33",
            "type":"AccountObjectClass",
            "isAccountObjectClass":true,
            "display":"__ACCOUNT__",
            "resourceType":"ManagedApp05cf9ba4b2bd4ff9bb10ce134a821c33",
            "$ref":"https://<domainURL>/admin/v1/AccountObjectClasses/05cf9ba4b2bd4ff9bb10ce134a821c33"
         }
      ],
      "flatFileConnectorBundle":{  
         "wellKnownId":"FlatFileConnectorBundleId",
         "value":"FlatFileConnectorBundleId",
         "$ref":"https://<domainURL>/admin/v1/ConnectorBundles/FlatFileConnectorBundleId"
      }
   },
   "basedOnTemplate":{  
      "value":"CustomEnterpriseAppTemplateId",
      "wellKnownId":"CustomEnterpriseAppTemplateId",
      "lastModified":"2022-01-07T10:16:49Z",
      "$ref":"https://<domainURL>/admin/v1/AppTemplates/CustomEnterpriseAppTemplateId"
   },
   "attrRenderingMetadata":[  
      {  
         "name":"aliasApps",
         "visible":false
      }
   ],
   "urn:ietf:params:scim:schemas:oracle:idcs:extension:enterpriseApp:App":{  
      "denyAuthzPolicy":{  
         "value":"a5a367a2e5794b2ab00a75100c23e79f",
         "$ref":"https://<domainURL>/admin/v1/Policies/a5a367a2e5794b2ab00a75100c23e79f"
      },
      "allowAuthzPolicy":{  
         "value":"37ac22197b2f418c85cb6c8a22507f1e",
         "$ref":"https://<domainURL>/admin/v1/Policies/37ac22197b2f418c85cb6c8a22507f1e"
      },
      "appResources":[  
         {  
            "value":"f3b3d95cd43049468f82b6e596747a5e",
            "$ref":"https://<domainURL>/admin/v1/AppResources/f3b3d95cd43049468f82b6e596747a5e"
         }
      ]
   },
   "schemas":[  
      "urn:ietf:params:scim:schemas:oracle:idcs:App",
      "urn:ietf:params:scim:schemas:oracle:idcs:extension:enterpriseApp:App",
      "urn:ietf:params:scim:schemas:oracle:idcs:extension:managedapp:App"
   ]
}

Aggiungi criterio livello Web a un'applicazione enterprise

L'esempio seguente mostra come aggiornare i valori per un'applicazione sottomettendo una richiesta PATCH sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl 
   -X PATCH
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/Apps/<ID>?attributes=urn:ietf:params:scim:schemas:oracle:idcs:extension:webTierPolicy:App:webTierPolicyJson,urn:ietf:params:scim:schemas:oracle:idcs:extension:webTierPolicy:App:webTierPolicyAZControl,urn:ietf:params:scim:schemas:oracle:idcs:extension:webTierPolicy:App:resourceRef

Esempio del corpo della richiesta

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "schemas":[  
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
   ],
   "Operations":[  
      {  
         "op":"replace",
         "path":"isWebTierPolicy",
         "value":true
      },
      {  
         "op":"add",
         "path":"urn:ietf:params:scim:schemas:oracle:idcs:extension:webTierPolicy:App:webTierPolicyAZControl",
         "value":"server"
      },
      {  
         "op":"add",
         "path":"urn:ietf:params:scim:schemas:oracle:idcs:extension:webTierPolicy:App:webTierPolicyJson",
         "value":"{\"cloudgatePolicy\":{\"version\":\"2.6\",\"requireSecureCookies\":true,\"allowCors\":true,\"disableAuthorize\":true,\"webtierPolicy\":[{\"policyName\":\"WebtierTest policy\",\"comment\":\"Webtier policy\",\"resourceFilters\":[{\"filter\":\"<app resource id>\",\"comment\":\"\",\"type\":\"resource\",\"method\":\"http\"}]}]}}"
      }
   ]
}

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{  
   "isAliasApp":false,
   "displayName":"Enterprise App",
   "id":"13f13b9893134eda987957a271eab748",
   "urn:ietf:params:scim:schemas:oracle:idcs:extension:webTierPolicy:App":{  
      "webTierPolicyJson":"{\"cloudgatePolicy\":{\"allowCors\":true,\"requireSecureCookies\":true,\"webtierPolicy\":[{\"resourceFilters\":[{\"filter\":\"http://google.com\",\"method\":\"http\",\"resourceRefId\":\"83043a729d1040868aad6e0e93519cb4\",\"comment\":\"\",\"resourceRefName\":\"My Resource\",\"type\":\"text\"}],\"policyName\":\"WebtierTest policy\",\"comment\":\"Webtier policy\"}],\"version\":\"2.6\",\"disableAuthorize\":true}}",
      "webTierPolicyAZControl":"server"
   },
   "basedOnTemplate":{  
      "value":"CustomEnterpriseAppTemplateId"
   }
}

Crea criterio di autorizzazione

Questi casi d'uso forniscono richieste di esempio per creare il criterio di autorizzazione consentita per un'applicazione enterprise utilizzando l'API REST dei domini di Identity.

I casi d'uso riportati di seguito illustrano i passi necessari per creare il criterio di autorizzazione consentita per un'applicazione enterprise utilizzando l'API REST dei domini di Identity.

Aggiungi criterio di autorizzazione

Il criterio di autorizzazione viene aggiunto automaticamente durante la creazione di un'applicazione enterprise.

L'ID criterio creato è disponibile nella risposta come indicato di seguito.

"urn:ietf:params:scim:schemas:oracle:idcs:extension:enterpriseApp:App": {
    "allowAuthzPolicy": {
        "value": "1680009a68d947fc94e817102300e362",
        "$ref": "https://<domainURL>/admin/v1/Policies/1680009a68d947fc94e817102300e362"
    },
    "denyAuthzPolicy": {
        "value": "8f91bf044dd34415936a035434bd766c",
        "$ref": "https://<domainURL>/admin/v1/Policies/8f91bf044dd34415936a035434bd766c"
    }
}

Crea condizioni di consenso criteri di autorizzazione

L'esempio seguente mostra come creare una condizione da valutare sottomettendo una richiesta POST sulla risorsa REST utilizzando cURL. I gruppi di condizioni fanno riferimento alle condizioni. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl 
   -X POST
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/Conditions

Esempio del corpo della richiesta - Condizione del gruppo

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "schemas":[  
      "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
   ],
   "name":"isInTheseGroups",
   "attributeName":"user.groups[*].value",
   "operator":"coany",
   "attributeValue":"[\"<group guid>\"]"
}

Esempio del corpo della risposta - Condizione del gruppo

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
    ],
    "name": "isInTheseGroups",
    "attributeName": "user.groups[*].value",
    "operator": "coany",
    "attributeValue": "[\"6d89b1f9b5b84753926b3aedbf71c289\"]",
    "id": "c25d88b87320467da4467b2a12168cec",
    "meta": {
        "created": "2022-10-21T15:24:08.007Z",
        "lastModified": "2022-10-21T15:24:08.007Z",
        "resourceType": "Condition",
        "location": "https://<domainURL>/admin/v1/Conditions/c25d88b87320467da4467b2a12168cec"
    },
    "idcsCreatedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "idcsLastModifiedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    }
}

Esempio di corpo della richiesta - Utente non in condizione

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "schemas":[  
      "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
   ],
   "name":"isNotInTheseUsers",
   "attributeName":"user.userName",
   "operator":"nin",
   "attributeValue":"[\"<user name>\"]"
}

Esempio di corpo della risposta - Utente non in condizione

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
    ],
    "name": "isNotInTheseUsers",
    "attributeName": "user.userName",
    "operator": "nin",
    "attributeValue": "[\"bf11562fd0dd4fda85fde3690b104dd3\"]",
    "id": "16a2cd31f0114adc856fadb06a18648c",
    "meta": {
        "created": "2022-10-21T15:25:17.519Z",
        "lastModified": "2022-10-21T15:25:17.519Z",
        "resourceType": "Condition",
        "location": "https://<domainURL>/admin/v1/Conditions/16a2cd31f0114adc856fadb06a18648c"
    },
    "idcsCreatedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "idcsLastModifiedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    }
}

Esempio di corpo della richiesta - Condizione ruolo amministratore

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "schemas":[  
      "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
   ],
   "name":"idcsAdminRole",
   "attributeName":"user.urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User:appRoles[*].adminRole",
   "operator":"co",
   "attributeValue":"[\"true\"]"
}

Esempio di corpo della risposta - Condizione ruolo amministratore

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
    ],
    "name": "idcsAdminRole",
    "attributeName": "user.urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User:appRoles[*].adminRole",
    "operator": "co",
    "attributeValue": "[\"true\"]",
    "id": "e742c4b2a391451da6dfc42dfd8a4c7d",
    "meta": {
        "created": "2022-10-21T15:25:39.399Z",
        "lastModified": "2022-10-21T15:25:39.399Z",
        "resourceType": "Condition",
        "location": "https://<domainURL>/admin/v1/Conditions/e742c4b2a391451da6dfc42dfd8a4c7d"
    },
    "idcsCreatedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "idcsLastModifiedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    }
}

Esempio di corpo della richiesta - Condizione perimetro di rete

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "schemas":[  
      "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
   ],
   "name":"SubjectIPAddress",
   "attributeName":"subject.ip",
   "operator":"eq",
   "attributeValue":"#inIPRange(\"<Network perimeter id>\")"
}

Esempio di corpo della risposta - Condizione perimetro di rete

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
    ],
    "name": "SubjectIPAddress",
    "attributeName": "subject.ip",
    "operator": "eq",
    "attributeValue": "#inIPRange(\"83bad53f0a50454d909a4709d1335e0d\")",
    "id": "4d7afc63249943a3b6136876f30f7860",
    "meta": {
        "created": "2022-10-21T15:27:45.819Z",
        "lastModified": "2022-10-21T15:27:45.819Z",
        "resourceType": "Condition",
        "location": "https://<domainURL>/admin/v1/Conditions/4d7afc63249943a3b6136876f30f7860"
    },
    "idcsCreatedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "idcsLastModifiedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    }
}

Crea gruppo condizioni criterio di autorizzazione

L'esempio seguente mostra come creare un gruppo di condizioni da valutare sottomettendo una richiesta POST sulla risorsa REST utilizzando cURL. I gruppi di condizioni fanno riferimento a una regola. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl 
   -X POST
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/ConditionGroups

Esempio del corpo della richiesta

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "name":"ConditionGroup",
   "operator":"and",
   "schemas":[  
      "urn:ietf:params:scim:schemas:oracle:idcs:ConditionGroup"
   ],
   "conditions":[  
      {  
         "value":"<group condition id>",
         "type":"Condition"
      },
      {  
         "value":"<user condition id>",
         "type":"Condition"
      },
      {  
         "value":"<admin role condition id>",
         "type":"Condition"
      },
      {  
         "value":"<network perimeter condition id>",
         "type":"Condition"
      }
   ]
}

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "idcsLastModifiedBy": {
        "type": "User",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "idcsCreatedBy": {
        "type": "User",
        "display": "admin opc",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "operator": "and",
    "id": "d073eb1df00f4b388fbb06430b70173e",
    "meta": {
        "created": "2022-10-21T15:29:51.218Z",
        "lastModified": "2022-10-21T15:29:51.218Z",
        "resourceType": "ConditionGroup",
        "location": "https://<domainURL>/admin/v1/ConditionGroups/d073eb1df00f4b388fbb06430b70173e"
    },
    "name": "ConditionGroup",
    "conditions": [
        {
            "type": "Condition",
            "value": "c25d88b87320467da4467b2a12168cec",
            "$ref": "https://<domainURL>/admin/v1/Conditions/c25d88b87320467da4467b2a12168cec"
        },
        {
            "type": "Condition",
            "value": "16a2cd31f0114adc856fadb06a18648c",
            "$ref": "https://<domainURL>/admin/v1/Conditions/16a2cd31f0114adc856fadb06a18648c"
        },
        {
            "type": "Condition",
            "value": "e742c4b2a391451da6dfc42dfd8a4c7d",
            "$ref": "https://<domainURL>/admin/v1/Conditions/e742c4b2a391451da6dfc42dfd8a4c7d"
        },
        {
            "type": "Condition",
            "value": "4d7afc63249943a3b6136876f30f7860",
            "$ref": "https://<domainURL>/admin/v1/Conditions/4d7afc63249943a3b6136876f30f7860"
        }
    ],
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:ConditionGroup"
    ]
}

Crea regola di consenso criterio di autorizzazione

L'esempio seguente mostra come creare una regola sottomettendo una richiesta POST sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl 
   -X POST
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/Rules

Esempio del corpo della richiesta

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Rule"
    ],
    "name": "Allow Authorization policy rule",
    "policyType": {
        "value": "AllowAuthz"
    },
    "return": [
        {
            "name": "effect",
            "value": "ALLOW"
        },
        {
            "name": "setHeader",
            "value": "USER_NAME=$(user.userName),USER_ID=$(user.id)"
        }
    ],
    "conditionGroup": {
        "value": "<allow authz policy condition group id>",
        "type": "ConditionGroup"
    }
}

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "idcsLastModifiedBy": {
        "type": "User",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "idcsCreatedBy": {
        "type": "User",
        "display": "admin opc",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "id": "7a8dfdc5d175418ea7babb63cf0301ee",
    "meta": {
        "created": "2022-10-21T15:39:49.097Z",
        "lastModified": "2022-10-21T15:39:49.097Z",
        "resourceType": "Rule",
        "location": "https://<domainURL>/admin/v1/Rules/7a8dfdc5d175418ea7babb63cf0301ee"
    },
    "name": "Allow Authorization policy rule",
    "policyType": {
        "value": "AllowAuthz",
        "$ref": "https://<domainURL>/admin/v1/PolicyTypes/AllowAuthz"
    },
    "conditionGroup": {
        "value": "d073eb1df00f4b388fbb06430b70173e",
        "type": "ConditionGroup",
        "name": "ConditionGroup",
        "$ref": "https://<domainURL>/admin/v1/ConditionGroups/d073eb1df00f4b388fbb06430b70173e"
    },
    "return": [
        {
            "name": "effect",
            "value": "ALLOW"
        }
    ],
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Rule"
    ]
}

Aggiorna riferimento regola Consenti criterio di autorizzazione

L'esempio seguente mostra come aggiornare i valori per un criterio sottomettendo una richiesta PATCH sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl -X PATCH
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>" https://<domainURL>/admin/v1/Policies/<ID>

Esempio del corpo della richiesta

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
        {
            "op": "replace",
            "path": "rules",
            "value": [
                {
                    "value": "<AllowAuthzRule id>",
                    "sequence": 1
                }
            ]
        }
    ]
}

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "idcsLastModifiedBy": {
        "type": "User",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "description": "Authorization allow policy",
    "idcsCreatedBy": {
        "type": "User",
        "display": "admin opc",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "id": "bb7988b1b4434528836171a3c2ce6fe6",
    "meta": {
        "created": "2022-10-21T15:20:31.144Z",
        "lastModified": "2022-10-21T15:41:30.341Z",
        "resourceType": "Policy",
        "location": "https://<domainURL>/admin/v1/Policies/bb7988b1b4434528836171a3c2ce6fe6"
    },
    "active": false,
    "name": "Allow Authorization policy",
    "policyType": {
        "value": "AllowAuthz",
        "$ref": "https://<domainURL>/admin/v1/PolicyTypes/AllowAuthz"
    },
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Policy"
    ]
}

Aggiorna riferimento risorsa applicazione per Consenti criterio di autorizzazione

L'esempio seguente mostra come aggiornare i valori per un'applicazione sottomettendo una richiesta PATCH sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl 
   -X PATCH
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/Apps/<ID>

Esempio del corpo della richiesta

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
        {
            "op": "replace",
            "path": "",
            "value": "<AllowAuthzPolicy id>"
        }
    ]
}

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "isAliasApp": false,
    "meta": {
        "created": "2022-10-20T19:23:16.937Z",
        "lastModified": "2022-10-21T15:44:02.110Z",
        "resourceType": "App",
        "location": "https://<domainURL>/admin/v1/Apps/23b7bf0f79854002b2db81b808e6a54b"
    },
    "active": false,
    "isLoginTarget": false,
    "idcsCreatedBy": {
        "display": "admin opc",
        "type": "User",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "displayName": "Enterprise App",
    "showInMyApps": false,
    "isMobileTarget": false,
    "allowOffline": false,
    "isUnmanagedApp": false,
    "idcsLastModifiedBy": {
        "display": "admin opc",
        "type": "User",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "isOPCService": false,
    "description": "Enterprise Application",
    "isOAuthClient": false,
    "isManagedApp": false,
    "isSamlServiceProvider": false,
    "infrastructure": false,
    "allUrlSchemesAllowed": false,
    "id": "23b7bf0f79854002b2db81b808e6a54b",
    "isWebTierPolicy": true,
    "loginMechanism": "OIDC",
    "allowAccessControl": false,
    "isOAuthResource": false,
    "migrated": false,
    "isKerberosRealm": false,
    "attrRenderingMetadata": [
        {
            "visible": false,
            "name": "aliasApps"
        }
    ],
    "basedOnTemplate": {
        "lastModified": "2022-10-16T17:17:34Z",
        "value": "CustomWebAppTemplateId",
        "wellKnownId": "CustomWebAppTemplateId",
        "$ref": "https://<domainURL>/admin/v1/AppTemplates/CustomWebAppTemplateId"
    },
    "allowAuthzPolicy": {
        "value": "bb7988b1b4434528836171a3c2ce6fe6",
        "$ref": "https://<domainURL>/admin/v1/Policies/bb7988b1b4434528836171a3c2ce6fe6"
    },
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:App"
    ]
}

Crea criterio di autorizzazione di negazione

Questi casi d'uso forniscono richieste di esempio per creare il criterio di negazione autorizzazione per un'applicazione enterprise utilizzando l'API REST dei domini di Identity.

I casi d'uso riportati di seguito illustrano i passi necessari per creare il criterio di negazione autorizzazione per un'applicazione enterprise utilizzando l'API REST dei domini di Identity.

Aggiungi criterio di autorizzazione negazione

Il criterio di negazione autorizzazione viene aggiunto automaticamente durante la creazione di un'applicazione enterprise.

L'ID criterio creato è disponibile nella risposta come indicato di seguito.

"urn:ietf:params:scim:schemas:oracle:idcs:extension:enterpriseApp:App": {
    "allowAuthzPolicy": {
        "value": "1680009a68d947fc94e817102300e362",
        "$ref": "https://<domainURL>/admin/v1/Policies/1680009a68d947fc94e817102300e362"
    },
    "denyAuthzPolicy": {
        "value": "8f91bf044dd34415936a035434bd766c",
        "$ref": "https://<domainURL>/admin/v1/Policies/8f91bf044dd34415936a035434bd766c"
    }
}

Crea condizioni di rifiuto dei criteri di autorizzazione

L'esempio seguente mostra come creare una condizione da valutare sottomettendo una richiesta POST sulla risorsa REST utilizzando cURL. I gruppi di condizioni fanno riferimento alle condizioni. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl 
   -X POST
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/Conditionss

Esempio del corpo della richiesta - Condizione del gruppo

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "schemas":[  
      "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
   ],
   "name":"isInTheseGroups",
   "attributeName":"user.groups[*].value",
   "operator":"coany",
   "attributeValue":"[\"<group guid>\"]"
}

Esempio del corpo della risposta - Condizione del gruppo

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
    ],
    "name": "isInTheseGroups",
    "attributeName": "user.groups[*].value",
    "operator": "coany",
    "attributeValue": "[\"6d89b1f9b5b84753926b3aedbf71c289\"]",
    "id": "c25d88b87320467da4467b2a12168cec",
    "meta": {
        "created": "2022-10-21T15:24:08.007Z",
        "lastModified": "2022-10-21T15:24:08.007Z",
        "resourceType": "Condition",
        "location": "https://<domainURL>/admin/v1/Conditions/c25d88b87320467da4467b2a12168cec"
    },
    "idcsCreatedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "idcsLastModifiedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    }
}

Esempio di corpo della richiesta - Utente non in condizione

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "schemas":[  
      "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
   ],
   "name":"isNotInTheseUsers",
   "attributeName":"user.userName",
   "operator":"nin",
   "attributeValue":"[\"<user name>\"]"
}

Esempio di corpo della risposta - Utente non in condizione

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
    ],
    "name": "isNotInTheseUsers",
    "attributeName": "user.userName",
    "operator": "nin",
    "attributeValue": "[\"bf11562fd0dd4fda85fde3690b104dd3\"]",
    "id": "16a2cd31f0114adc856fadb06a18648c",
    "meta": {
        "created": "2022-10-21T15:25:17.519Z",
        "lastModified": "2022-10-21T15:25:17.519Z",
        "resourceType": "Condition",
        "location": "https://<domainURL>/admin/v1/Conditions/16a2cd31f0114adc856fadb06a18648c"
    },
    "idcsCreatedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "idcsLastModifiedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    }
}

Esempio di corpo della richiesta - Condizione ruolo amministratore

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "schemas":[  
      "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
   ],
   "name":"idcsAdminRole",
   "attributeName":"user.urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User:appRoles[*].adminRole",
   "operator":"co",
   "attributeValue":"[\"true\"]"
}

Esempio di corpo della risposta - Condizione ruolo amministratore

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
    ],
    "name": "idcsAdminRole",
    "attributeName": "user.urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User:appRoles[*].adminRole",
    "operator": "co",
    "attributeValue": "[\"true\"]",
    "id": "e742c4b2a391451da6dfc42dfd8a4c7d",
    "meta": {
        "created": "2022-10-21T15:25:39.399Z",
        "lastModified": "2022-10-21T15:25:39.399Z",
        "resourceType": "Condition",
        "location": "https://<domainURL>/admin/v1/Conditions/e742c4b2a391451da6dfc42dfd8a4c7d"
    },
    "idcsCreatedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "idcsLastModifiedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    }
}

Esempio di corpo della richiesta - Condizione perimetro di rete

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "schemas":[  
      "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
   ],
   "name":"SubjectIPAddress",
   "attributeName":"subject.ip",
   "operator":"eq",
   "attributeValue":"#inIPRange(\"<Network perimeter id>\")"
}

Esempio di corpo della risposta - Condizione perimetro di rete

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Condition"
    ],
    "name": "SubjectIPAddress",
    "attributeName": "subject.ip",
    "operator": "eq",
    "attributeValue": "#inIPRange(\"83bad53f0a50454d909a4709d1335e0d\")",
    "id": "4d7afc63249943a3b6136876f30f7860",
    "meta": {
        "created": "2022-10-21T15:27:45.819Z",
        "lastModified": "2022-10-21T15:27:45.819Z",
        "resourceType": "Condition",
        "location": "https://<domainURL>/admin/v1/Conditions/4d7afc63249943a3b6136876f30f7860"
    },
    "idcsCreatedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "idcsLastModifiedBy": {
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "type": "User",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    }
}

Crea gruppo di condizioni criterio di autorizzazione negazione

L'esempio seguente mostra come creare un gruppo di condizioni da valutare sottomettendo una richiesta POST sulla risorsa REST utilizzando cURL. I gruppi di condizioni fanno riferimento a una regola. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl -X POST
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/ConditionGroupss

Esempio del corpo della richiesta

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "name":"ConditionGroup",
   "operator":"or",
   "schemas":[  
      "urn:ietf:params:scim:schemas:oracle:idcs:ConditionGroup"
   ],
   "conditions":[  
      {  
         "value":"<group condition id>",
         "type":"Condition"
      },
      {  
         "value":"<user condition id>",
         "type":"Condition"
      },
      {  
         "value":"<admin role condition id>",
         "type":"Condition"
      },
      {  
         "value":"<network perimeter condition id>",
         "type":"Condition"
      }
   ]
}

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "idcsLastModifiedBy": {
        "type": "User",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "idcsCreatedBy": {
        "type": "User",
        "display": "admin opc",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "operator": "or",
    "id": "d073eb1df00f4b388fbb06430b70173e",
    "meta": {
        "created": "2022-10-21T15:29:51.218Z",
        "lastModified": "2022-10-21T15:29:51.218Z",
        "resourceType": "ConditionGroup",
        "location": "https://<domainURL>/admin/v1/ConditionGroups/d073eb1df00f4b388fbb06430b70173e"
    },
    "name": "ConditionGroup",
    "conditions": [
        {
            "type": "Condition",
            "value": "c25d88b87320467da4467b2a12168cec",
            "$ref": "https://<domainURL>/admin/v1/Conditions/c25d88b87320467da4467b2a12168cec"
        },
        {
            "type": "Condition",
            "value": "16a2cd31f0114adc856fadb06a18648c",
            "$ref": "https://<domainURL>/admin/v1/Conditions/16a2cd31f0114adc856fadb06a18648c"
        },
        {
            "type": "Condition",
            "value": "e742c4b2a391451da6dfc42dfd8a4c7d",
            "$ref": "https://<domainURL>/admin/v1/Conditions/e742c4b2a391451da6dfc42dfd8a4c7d"
        },
        {
            "type": "Condition",
            "value": "4d7afc63249943a3b6136876f30f7860",
            "$ref": "https://<domainURL>/admin/v1/Conditions/4d7afc63249943a3b6136876f30f7860"
        }
    ],
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:ConditionGroup"
    ]
}

Crea regola criterio di negazione autorizzazione

L'esempio seguente mostra come creare una regola sottomettendo una richiesta POST sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl -X POST
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>" https://<domainURL>/admin/v1/Rules

Esempio del corpo della richiesta

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Rule"
    ],
    "name": "Deny Authz policy rule",
    "policyType": {
        "value": "DenyAuthz"
    },
    "return": [
        {
            "name": "effect",
            "value": "DENY"
        },
        {
            "name": "logout",
            "value": "true"
        }
    ],
    "conditionGroup": {
        "value": "< deny authz policy condition group id>",
        "type": "ConditionGroup"
    }
}

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "idcsLastModifiedBy": {
        "type": "User",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "idcsCreatedBy": {
        "type": "User",
        "display": "admin opc",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "id": "7a8dfdc5d175418ea7babb63cf0301ee",
    "meta": {
        "created": "2022-10-21T15:39:49.097Z",
        "lastModified": "2022-10-21T15:39:49.097Z",
        "resourceType": "Rule",
        "location": "https://<domainURL>/admin/v1/Rules/7a8dfdc5d175418ea7babb63cf0301ee"
    },
    "name": "Deny Authz policy rule",
    "policyType": {
        "value": "DenyAuthz",
        "$ref": "https://<domainURL>/admin/v1/PolicyTypes/AllowAuthz"
    },
    "conditionGroup": {
        "value": "d073eb1df00f4b388fbb06430b70173e",
        "type": "ConditionGroup",
        "name": "ConditionGroup",
        "$ref": "https://<domainURL>/admin/v1/ConditionGroups/d073eb1df00f4b388fbb06430b70173e"
    },
    "return": [
        {
            "name": "effect",
            "value": "DENY"
        }
    ],
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Rule"
    ]
}

Aggiorna riferimento regola criterio di negazione autorizzazione

L'esempio seguente mostra come aggiornare i valori per un criterio sottomettendo una richiesta PATCH sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl -X PATCH
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>" https://<domainURL>/admin/v1/Policies/<ID>

Esempio del corpo della richiesta

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "schemas":[  
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
   ],
   "Operations":[  
      {  
         "op":"replace",
         "path":"rules",
         "value":[  
            {  
               "value":"<DenyAuthzRule id>",
               "sequence":1
            }
         ]
      }
   ]
}

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "idcsLastModifiedBy": {
        "type": "User",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "display": "admin opc",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "description": "Authorization deny policy",
    "idcsCreatedBy": {
        "type": "User",
        "display": "admin opc",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "id": "bb7988b1b4434528836171a3c2ce6fe6",
    "meta": {
        "created": "2022-10-21T15:20:31.144Z",
        "lastModified": "2022-10-21T15:41:30.341Z",
        "resourceType": "Policy",
        "location": "https://<domainURL>/admin/v1/Policies/bb7988b1b4434528836171a3c2ce6fe6"
    },
    "active": false,
    "name": "Deny Authorization policy",
    "policyType": {
        "value": "DenyAuthz",
        "$ref": "https://<domainURL>/admin/v1/PolicyTypes/DenyAuthz"
    },
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:Policy"
    ]
}

Aggiorna riferimento risorsa applicazione per criterio di negazione autorizzazione

L'esempio seguente mostra come aggiornare i valori per un'applicazione sottomettendo una richiesta PATCH sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Usa cURL.

Comando cURL

Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.
   curl -X PATCH
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/Apps/<ID>

Esempio del corpo della richiesta

Di seguito è riportato un esempio del corpo della richiesta in formato JSON.

{  
   "schemas":[  
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
   ],
   "Operations":[  
      {  
         "op":"replace",
         "path":"urn:ietf:params:scim:schemas:oracle:idcs:extension:enterpriseApp:App:denyAuthzPolicy.value",
         "value":"<DenyAuthzPolicy id>"            
      }
   ]
}

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

{
    "isAliasApp": false,
    "meta": {
        "created": "2022-10-20T19:23:16.937Z",
        "lastModified": "2022-10-21T16:02:21.720Z",
        "resourceType": "App",
        "location": "https://<domainURL>/admin/v1/Apps/23b7bf0f79854002b2db81b808e6a54b"
    },
    "active": false,
    "isLoginTarget": false,
    "idcsCreatedBy": {
        "display": "admin opc",
        "type": "User",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "displayName": "Enterprise App",
    "showInMyApps": false,
    "isMobileTarget": false,
    "allowOffline": false,
    "isUnmanagedApp": false,
    "idcsLastModifiedBy": {
        "display": "admin opc",
        "type": "User",
        "value": "bf11562fd0dd4fda85fde3690b104dd3",
        "$ref": "https://<domainURL>/admin/v1/Users/bf11562fd0dd4fda85fde3690b104dd3"
    },
    "isOPCService": false,
    "description": "Enterprise Application",
    "isOAuthClient": false,
    "isManagedApp": false,
    "isSamlServiceProvider": false,
    "infrastructure": false,
    "allUrlSchemesAllowed": false,
    "id": "23b7bf0f79854002b2db81b808e6a54b",
    "isWebTierPolicy": true,
    "loginMechanism": "OIDC",
    "allowAccessControl": false,
    "isOAuthResource": false,
    "migrated": false,
    "isKerberosRealm": false,
    "attrRenderingMetadata": [
        {
            "visible": false,
            "name": "aliasApps"
        }
    ],
    "basedOnTemplate": {
        "lastModified": "2022-10-16T17:17:34Z",
        "value": "CustomWebAppTemplateId",
        "wellKnownId": "CustomWebAppTemplateId",
        "$ref": "https://<domainURL>/admin/v1/AppTemplates/CustomWebAppTemplateId"
    },
    "allowAuthzPolicy": {
        "value": "bb7988b1b4434528836171a3c2ce6fe6",
        "$ref": "https://<domainURL>/admin/v1/Policies/bb7988b1b4434528836171a3c2ce6fe6"
    },
    "denyAuthzPolicy": {
        "value": "0e094096e9314b1ab6c763acc3619909",
        "$ref": "https://<domainURL>/admin/v1/Policies/0e094096e9314b1ab6c763acc3619909"
    },
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:App"
    ]
}