Endpoint "access control policies"

NOTA

Se viene passato un token utente, l’utente del token deve avere un ruolo "amministratore organizzazione" per l’organizzazione richiesta.

I criteri di controllo degli accessi sono istruzioni che riuniscono attributi per stabilire azioni consentite e inammissibili. Questi criteri possono essere locali o globali e possono ignorare altri criteri. Il /policies L’endpoint nell’API di controllo degli accessi basato su attributi consente di gestire in modo programmatico i criteri, incluse le informazioni sulle regole che li governano e sulle rispettive condizioni dell’oggetto.

IMPORTANTE

Questo endpoint non deve essere confuso con /policies endpoint nella API del servizio criteri, utilizzato per gestire i criteri di utilizzo dei dati.

Introduzione

L’endpoint API utilizzato in questa guida fa parte dell’API di controllo degli accessi basata su attributi. Prima di continuare, controlla guida introduttiva per i collegamenti alla documentazione correlata, una guida per la lettura delle chiamate API di esempio di questo documento e informazioni importanti sulle intestazioni richieste necessarie per effettuare correttamente le chiamate a qualsiasi API di Experience Platform.

Recuperare un elenco di criteri

Effettuare una richiesta di GET al /policies per elencare tutti i criteri esistenti nell’organizzazione.

Formato API

GET /policies

Richiesta

La richiesta seguente recupera un elenco di criteri esistenti.

curl -X GET \
  https://platform.adobe.io/data/foundation/access-control/administration/policies \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \

Risposta

In caso di esito positivo, la risposta restituisce un elenco di criteri esistenti.

{
  {
      "id": "7019068e-a3a0-48ce-b56b-008109470592",
      "imsOrgId": "{IMS_ORG}",
      "createdBy": "{CREATED_BY}",
      "createdAt": 1652892767559,
      "modifiedBy": "{MODIFIED_BY}",
      "modifiedAt": 1652895736367,
      "name": "schema-field",
      "description": "schema-field",
      "status": "inactive",
      "subjectCondition": null,
      "rules": [
          {
              "effect": "Deny",
              "resource": "/orgs/{IMS_ORG}/sandboxes/xql/schemas/*/schema-fields/*",
              "condition": "{\"adobe.match_all_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]}",
              "actions": [
                  "com.adobe.action.read",
                  "com.adobe.action.write",
                  "com.adobe.action.view"
              ]
          },
          {
              "effect": "Permit",
              "resource": "/orgs/{IMS_ORG}/sandboxes/*/schemas/*/schema-fields/*",
              "condition": "{\"adobe.match_all_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]}",
              "actions": [
                  "com.adobe.action.delete"
              ]
          },
          {
              "effect": "Deny",
              "resource": "/orgs/{IMS_ORG}/sandboxes/delete-sandbox-adfengine-test-8/segments/*",
              "condition": "{\"!\":[{\"adobe.match_any_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"custom/\",{\"var\":\"resource.labels\"}]}]}",
              "actions": [
                  "com.adobe.action.write"
              ]
          }
      ],
      "_etag": "\"0300593f-0000-0200-0000-62852ff80000\""
  },
  {
      "id": "13138ef6-c007-495d-837f-0a248867e219",
      "imsOrgId": "{IMS_ORG}",
      "createdBy": "{CREATED_BY}",
      "createdAt": 1652859368555,
      "modifiedBy": "{MODIFIED_BY}",
      "modifiedAt": 1652890780206,
      "name": "Documentation-Copy",
      "description": "xyz",
      "status": "active",
      "subjectCondition": null,
      "rules": [
          {
              "effect": "Permit",
              "resource": "orgs/{IMS_ORG}/sandboxes/ro-sand/schemas/*/schema-fields/*",
              "condition": "{\"!\":[{\"or\":[{\"adobe.match_all_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]},{\"!\":[{\"and\":[{\"adobe.match_any_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]},{\"adobe.match_all_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]}]}]}]}]}",
              "actions": [
                  "com.adobe.action.read"
              ]
          },
          {
              "effect": "Deny",
              "resource": "orgs/{IMS_ORG}/sandboxes/*/segments/*",
              "condition": "{\"!\":[{\"or\":[{\"adobe.match_any_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]},{\"adobe.match_all_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"custom/\",{\"var\":\"resource.labels\"}]}]}]}",
              "actions": [
                  "com.adobe.action.read"
              ]
          }
      ],
      "_etag": "\"0300d43c-0000-0200-0000-62851c9c0000\""
  },
}
Proprietà Descrizione
id ID corrispondente a un criterio. Questo identificatore è generato automaticamente e può essere utilizzato per cercare, aggiornare ed eliminare un criterio.
imsOrgId Organizzazione in cui è accessibile il criterio sottoposto a query.
createdBy ID dell’utente che ha creato il criterio.
createdAt L’ora in cui è stato creato il criterio. Il createdAt viene visualizzata nella marca temporale dell’epoca unix.
modifiedBy ID dell’ultimo utente che ha aggiornato il criterio.
modifiedAt L’ora dell’ultimo aggiornamento del criterio. Il modifiedAt viene visualizzata nella marca temporale dell’epoca unix.
name Nome del criterio.
description (Facoltativo) Proprietà che può essere aggiunta per fornire ulteriori informazioni su un particolare criterio.
status Stato corrente di un criterio. Questa proprietà definisce se un criterio è attualmente active o inactive.
subjectCondition Le condizioni applicate a un soggetto. Un oggetto è un utente con determinati attributi che richiede l’accesso a una risorsa per eseguire un’azione. In questo caso, subjectCondition sono condizioni di tipo query applicate agli attributi dell’oggetto.
rules L’insieme di regole che definiscono un criterio. Le regole definiscono quali combinazioni di attributi sono autorizzate affinché il soggetto esegua correttamente un’azione sulla risorsa.
rules.effect L’effetto che risulta dopo aver considerato i valori per action, condition e resource. I valori possibili includono: permit, deny, o indeterminate.
rules.resource La risorsa o l'oggetto a cui un soggetto può o non può accedere. Le risorse possono essere file, applicazioni, server o anche API.
rules.condition Condizioni applicate a una risorsa. Ad esempio, se una risorsa è uno schema, a uno schema possono essere applicate determinate etichette che contribuiscono a determinare se un’azione contro tale schema è consentita o meno.
rules.action Azione consentita a un oggetto per una risorsa su cui è stata eseguita una query. I valori possibili includono: read, create, edit, e delete.

Cerca i dettagli dei criteri per ID

Effettuare una richiesta di GET al /policies mentre si fornisce un ID policy nel percorso della richiesta per recuperare informazioni su quel singolo criterio.

Formato API

GET /policies/{POLICY_ID}
Parametro Descrizione
ID del criterio che desideri recuperare.

Richiesta

La richiesta seguente recupera informazioni su un singolo criterio.

curl -X GET \
  https://platform.adobe.io/data/foundation/access-control/administration/policies/13138ef6-c007-495d-837f-0a248867e219 \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \

Risposta

In caso di esito positivo, la richiesta restituisce informazioni sull’ID del criterio richiesto.

{
    "id": "13138ef6-c007-495d-837f-0a248867e219",
    "imsOrgId": "{IMS_ORG}",
    "createdBy": "{CREATED_BY}",
    "createdAt": 1652859368555,
    "modifiedBy": "{MODIFIED_BY}",
    "modifiedAt": 1652890780206,
    "name": "Documentation-Copy",
    "description": "xyz",
    "status": "active",
    "subjectCondition": null,
    "rules": [
        {
            "effect": "Permit",
            "resource": "orgs/{IMS_ORG}/sandboxes/ro-sand/schemas/*/schema-fields/*",
            "condition": "{\"!\":[{\"or\":[{\"adobe.match_all_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]},{\"!\":[{\"and\":[{\"adobe.match_any_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]},{\"adobe.match_all_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]}]}]}]}]}",
            "actions": [
                "com.adobe.action.read"
            ]
        },
        {
            "effect": "Deny",
            "resource": "orgs/{IMS_ORG}/sandboxes/*/segments/*",
            "condition": "{\"!\":[{\"or\":[{\"adobe.match_any_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]},{\"adobe.match_all_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"custom/\",{\"var\":\"resource.labels\"}]}]}]}",
            "actions": [
                "com.adobe.action.read"
            ]
        }
    ],
    "_etag": "\"0300d43c-0000-0200-0000-62851c9c0000\""
}
Proprietà Descrizione
id ID corrispondente a un criterio. Questo identificatore è generato automaticamente e può essere utilizzato per cercare, aggiornare ed eliminare un criterio.
imsOrgId Organizzazione in cui è accessibile il criterio sottoposto a query.
createdBy ID dell’utente che ha creato il criterio.
createdAt L’ora in cui è stato creato il criterio. Il createdAt viene visualizzata nella marca temporale dell’epoca unix.
modifiedBy ID dell’ultimo utente che ha aggiornato il criterio.
modifiedAt L’ora dell’ultimo aggiornamento del criterio. Il modifiedAt viene visualizzata nella marca temporale dell’epoca unix.
name Nome del criterio.
description (Facoltativo) Proprietà che può essere aggiunta per fornire ulteriori informazioni su un particolare criterio.
status Stato corrente di un criterio. Questa proprietà definisce se un criterio è attualmente active o inactive.
subjectCondition Le condizioni applicate a un soggetto. Un oggetto è un utente con determinati attributi che richiede l’accesso a una risorsa per eseguire un’azione. In questo caso, subjectCondition sono condizioni di tipo query applicate agli attributi dell’oggetto.
rules L’insieme di regole che definiscono un criterio. Le regole definiscono quali combinazioni di attributi sono autorizzate affinché il soggetto esegua correttamente un’azione sulla risorsa.
rules.effect L’effetto che risulta dopo aver considerato i valori per action, condition e resource. I valori possibili includono: permit, deny, o indeterminate.
rules.resource La risorsa o l'oggetto a cui un soggetto può o non può accedere. Le risorse possono essere file, applicazioni, server o anche API.
rules.condition Condizioni applicate a una risorsa. Ad esempio, se una risorsa è uno schema, a uno schema possono essere applicate determinate etichette che contribuiscono a determinare se un’azione contro tale schema è consentita o meno.
rules.action Azione consentita a un oggetto per una risorsa su cui è stata eseguita una query. I valori possibili includono: read, create, edit, e delete.

Creare un criterio

Per creare un nuovo criterio, effettua una richiesta POST al /policies endpoint.

Formato API

POST /policies

Richiesta

La richiesta seguente crea un nuovo criterio denominato: acme-integration-policy.

curl -X POST \
  https://platform.adobe.io/data/foundation/access-control/administration/policies \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}'
  -d'{
      "name": "acme-integration-policy",
      "description": "Policy for ACME",
      "imsOrgId": "{IMS_ORG}",
      "rules": [
        {
          "effect": "Permit",
          "resource": "/orgs/{IMS_ORG}/sandboxes/*",
          "condition": "{\"or\":[{\"adobe.match_any_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]},{\"!\":[{\"adobe.match_all_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]}]}]}",
          "actions": [
            "read"
          ]
        }
      ]
    }'
Parametro Descrizione
name Nome del criterio.
description (Facoltativo) Proprietà che può essere aggiunta per fornire ulteriori informazioni su un particolare criterio.
imsOrgId L’organizzazione che contiene il criterio.
rules L’insieme di regole che definiscono un criterio. Le regole definiscono quali combinazioni di attributi sono autorizzate affinché il soggetto esegua correttamente un’azione sulla risorsa.
rules.effect L’effetto che risulta dopo aver considerato i valori per action, condition e resource. I valori possibili includono: permit, deny, o indeterminate.
rules.resource La risorsa o l'oggetto a cui un soggetto può o non può accedere. Le risorse possono essere file, applicazioni, server o anche API.
rules.condition Condizioni applicate a una risorsa. Ad esempio, se una risorsa è uno schema, a uno schema possono essere applicate determinate etichette che contribuiscono a determinare se un’azione contro tale schema è consentita o meno.
rules.action Azione consentita a un oggetto per una risorsa su cui è stata eseguita una query. I valori possibili includono: read, create, edit, e delete.

Risposta

In caso di esito positivo, la richiesta restituisce il criterio appena creato, compreso l’ID univoco e le regole associate.

{
    "id": "c3863937-5d40-448d-a7be-416e538f955e",
    "imsOrgId": "{IMS_ORG}",
    "createdBy": "{CREATED_BY}",
    "createdAt": 1652988384458,
    "modifiedBy": "{MODIFIED_BY}",
    "modifiedAt": 1652988384458,
    "name": "acme-integration-policy",
    "description": "Policy for ACME",
    "status": "active",
    "subjectCondition": null,
    "rules": [
        {
            "effect": "Permit",
            "resource": "/orgs/{IMS_ORG}/sandboxes/*",
            "condition": "{\"or\":[{\"adobe.match_any_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]},{\"!\":[{\"adobe.match_all_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]}]}]}",
            "actions": [
                "read"
            ]
        }
    ],
    "_etag": null
}
Proprietà Descrizione
id ID corrispondente a un criterio. Questo identificatore è generato automaticamente e può essere utilizzato per cercare, aggiornare ed eliminare un criterio.
name Nome di un criterio.
rules L’insieme di regole che definiscono un criterio. Le regole definiscono quali combinazioni di attributi sono autorizzate affinché il soggetto esegua correttamente un’azione sulla risorsa.
rules.effect L’effetto che risulta dopo aver considerato i valori per action, condition e resource. I valori possibili includono: permit, deny, o indeterminate.
rules.resource La risorsa o l'oggetto a cui un soggetto può o non può accedere. Le risorse possono essere file, applicazioni, server o anche API.
rules.condition Condizioni applicate a una risorsa. Ad esempio, se una risorsa è uno schema, a uno schema possono essere applicate determinate etichette che contribuiscono a determinare se un’azione contro tale schema è consentita o meno.
rules.action Azione consentita a un oggetto per una risorsa su cui è stata eseguita una query. I valori possibili includono: read, create, edit, e delete.

Aggiornare un criterio per ID criterio

Per aggiornare le regole di un singolo criterio, effettua una richiesta PUT al /policies endpoint, fornendo l’ID del criterio da aggiornare nel percorso della richiesta.

Formato API

PUT /policies/{POLICY_ID}
Parametro Descrizione
ID del criterio che desideri aggiornare.

Richiesta

curl -X PUT \
  https://platform.adobe.io/data/foundation/access-control/administration/policies/8cf487d7-3642-4243-a8ea-213d72f694b9 \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}'
  -d'{
      "id": "8cf487d7-3642-4243-a8ea-213d72f694b9",
      "imsOrgId": "{IMS_ORG}",
      "name": "test-2",
      "rules": [
      {
        "effect": "Deny",
        "resource": "/orgs/{IMS_ORG}/sandboxes/*",
        "condition": "{\"or\":[{\"adobe.match_any_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]},{\"!\":[{\"adobe.match_all_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]}]}]}",
        "actions": [
          "read"
        ]
      }
    ]
  }'

Risposta

In caso di esito positivo, la risposta restituisce il criterio aggiornato.

{
    "id": "8cf487d7-3642-4243-a8ea-213d72f694b9",
    "imsOrgId": "{IMS_ORG}",
    "createdBy": "{CREATED_BY}",
    "createdAt": 1652988866647,
    "modifiedBy": "{MODIFIED_BY}",
    "modifiedAt": 1652989297287,
    "name": "test-2",
    "description": null,
    "status": "active",
    "subjectCondition": null,
    "rules": [
        {
            "effect": "Deny",
            "resource": "/orgs/{IMS_ORG}/sandboxes/*",
            "condition": "{\"or\":[{\"adobe.match_any_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]},{\"!\":[{\"adobe.match_all_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]}]}]}",
            "actions": [
                "read"
            ]
        }
    ],
    "_etag": null
}

Aggiornare le proprietà dei criteri

Per aggiornare le proprietà di un singolo criterio, effettua una richiesta PATCH al /policies endpoint, fornendo l’ID del criterio da aggiornare nel percorso della richiesta.

Formato API

PATCH /policies/{POLICY_ID}
Parametro Descrizione
ID del criterio che desideri aggiornare.

Richiesta

La seguente richiesta sostituisce il valore di /description in ID policy c3863937-5d40-448d-a7be-416e538f955e.

curl -X PATCH \
  https://platform.adobe.io/data/foundation/access-control/administration/policies/c3863937-5d40-448d-a7be-416e538f955e \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}'
  -d'{
    "operations": [
      {
        "op": "replace",
        "path": "/description",
        "value": "Pre-set policy to be applied for ACME"
      }
    ]
  }'
Operazioni Descrizione
op Chiamata di operazione utilizzata per definire l'azione necessaria per aggiornare il ruolo. Le operazioni includono: add, replace, e remove.
path Percorso del parametro da aggiornare.
value Il nuovo valore con cui desideri aggiornare il parametro.

Risposta

In caso di esito positivo, la risposta restituisce l’ID del criterio su cui è stata eseguita la query con una descrizione aggiornata.

{
    "id": "c3863937-5d40-448d-a7be-416e538f955e",
    "imsOrgId": "{IMS_ORG}",
    "createdBy": "acp_accessControlService",
    "createdAt": 1652988384458,
    "modifiedBy": "acp_accessControlService",
    "modifiedAt": 1652988384458,
    "name": "acme-integration-policy",
    "description": "Pre-set policy to be applied for ACME",
    "status": "active",
    "subjectCondition": null,
    "rules": [
        {
            "effect": "Permit",
            "resource": "/orgs/{IMS_ORG}/sandboxes/*",
            "condition": "{\"or\":[{\"adobe.match_any_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]},{\"!\":[{\"adobe.match_all_labels_by_prefix\":[{\"var\":\"subject.roles.labels\"},\"core/\",{\"var\":\"resource.labels\"}]}]}]}",
            "actions": [
                "read"
            ]
        }
    ],
    "_etag": null
}

Eliminare un criterio

Per eliminare un criterio, effettua una richiesta DELETE al /policies mentre fornisci l’ID del criterio da eliminare.

Formato API

DELETE /policies/{POLICY_ID}
Parametro Descrizione
ID del criterio che desideri eliminare.

Richiesta

La richiesta seguente elimina il criterio con l’ID di c3863937-5d40-448d-a7be-416e538f955e.

curl -X DELETE \
  https://platform.adobe.io/data/foundation/access-control/administration/policies/c3863937-5d40-448d-a7be-416e538f955e \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \

Risposta

In caso di esito positivo, la risposta restituisce lo stato HTTP 204 (nessun contenuto) e un corpo vuoto.

Puoi confermare l’eliminazione tentando una richiesta di ricerca (GET) nel criterio. Riceverai lo stato HTTP 404 (Non trovato) perché il criterio è stato rimosso dall’amministrazione.

In questa pagina