Roles-Endpunkt
Rollen definieren den Zugriff, den ein Administrator, ein Spezialist oder ein Endbenutzer auf Ressourcen in Ihrer Organisation hat. In einer rollenbasierten Zugriffssteuerungsumgebung erfolgt die Bereitstellung des Benutzerzugriffs über gemeinsame Zuständigkeiten und Anforderungen. Eine Rolle verfügt über bestimmte Berechtigungen, wobei Mitglieder Ihrer Organisation je nach dem Umfang des Lese- oder Schreibzugriffs, den sie benötigen, einer oder mehreren Rollen zugewiesen werden können.
Mit dem /roles
-Endpunkt in der attributbasierten Zugriffssteuerungs-API können Sie Rollen in Ihrer Organisation programmgesteuert verwalten.
Erste Schritte
Der in diesem Handbuch verwendete API-Endpunkt ist Teil der attributbasierten Zugriffssteuerungs-API. Bevor Sie fortfahren, lesen Sie das Handbuch Erste Schritte mit Links zur zugehörigen Dokumentation, einer Anleitung zum Lesen der API-Beispielaufrufe in diesem Dokument und wichtigen Informationen zu den erforderlichen Kopfzeilen, die für die erfolgreiche Ausführung von Aufrufen an eine Experience Platform-API erforderlich sind.
Abrufen einer Liste von Rollen list
Sie können alle vorhandenen Rollen, die zu Ihrer Organisation gehören, auflisten, indem Sie eine GET-Anfrage an den /roles
-Endpunkt stellen.
API-Format
GET /roles/
Anfrage
Mit der folgenden Anfrage wird eine Liste der Rollen abgerufen, die zu Ihrer Organisation gehören.
curl -X GET \
https://platform.adobe.io/data/foundation/access-control/administration/roles \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
Antwort
Bei einer erfolgreichen Antwort wird eine Liste der Rollen in Ihrer Organisation zurückgegeben, einschließlich Informationen zum jeweiligen Rollentyp, zu Berechtigungssätzen und Betreffattributen.
{
"roles": [
{
"id": "3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809",
"name": "Administrator Role",
"description": "Role for administrator type of responsibilities and access",
"roleType": "user-defined",
"permissionSets": [
"manage-datasets",
"manage-schemas"
],
"sandboxes": [
"prod"
],
"subjectAttributes": {
"labels": [
"core/S1"
]
},
"createdBy": "{CREATED_BY}",
"createdAt": 1648153201825,
"modifiedBy": "{MODIFIED_BY}",
"modifiedAt": 1648153201825,
"etag": null
}
],
"_page": {
"limit": 1,
"count": 1
},
"_links": {
"next": {
"href": "https://platform.adobe.io:443/data/foundation/access-control/administration/roles/3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809",
"templated": true
},
"page": {
"href": "https://platform.adobe.io:443/data/foundation/access-control/administration/roles/3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809",
"templated": true
},
"subjects": {
"href": "https://platform.adobe.io:443/data/foundation/access-control/administration/roles/3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809",
"templated": true
}
}
}
id
name
description
roleType
user-defined
und system-defined
.permissionSets
sandboxes
subjectAttributes
subjectAttributes.labels
Suchen einer Rolle lookup
Sie können eine einzelne Rolle suchen, indem Sie eine GET-Anfrage stellen, die die entsprechende roleId
im Anfragepfad enthält.
API-Format
GET /roles/{ROLE_ID}
Anfrage
Mit der folgenden Anfrage werden Informationen zu {ROLE_ID}
abgerufen.
curl -X GET \
https://platform.adobe.io/data/foundation/access-control/administration/roles/3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
Antwort
Eine erfolgreiche Antwort gibt Details für die abgefragte Rollen-ID zurück, einschließlich Informationen zu Rollentyp, Berechtigungssätzen und Betreffattributen.
{
"id": "3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809",
"name": "Administrator Role",
"description": "Role for administrator type of responsibilities and access",
"roleType": "user-defined",
"permissionSets": [
"manage-datasets",
"manage-schemas"
],
"sandboxes": [
"prod"
],
"subjectAttributes": {
"labels": [
"core/S1"
]
},
"createdBy": "{CREATED_BY}",
"createdAt": 1648153201825,
"modifiedBy": "{MODIFIED_BY}",
"modifiedAt": 1648153201825,
"etag": null
}
id
name
description
roleType
user-defined
und system-defined
.permissionSets
sandboxes
subjectAttributes
subjectAttributes.labels
Objekte nach Rollen-ID nachschlagen
Sie können auch Betreffe abrufen, indem Sie eine GET-Anfrage an den /roles
-Endpunkt stellen und dabei eine {ROLE_ID} angeben.
API-Format
GET /roles/{ROLE_ID}/subjects
Anfrage
Mit der folgenden Anfrage werden Subjekte abgerufen, die mit 3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809
verknüpft sind.
curl -X GET \
https://platform.adobe.io/data/foundation/access-control/administration/roles/3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809/subjects \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
Antwort
Bei einer erfolgreichen Antwort werden die mit der abgefragten Rollen-ID verknüpften Subjekte zurückgegeben, einschließlich der entsprechenden Subjekt-ID und des Subjekttyps.
{
"items": [
{
"roleId": "3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809",
"subjectType": "user",
"subjectId": "03Z07HFQCCUF3TUHAX274206@AdobeID"
},
{
"roleId": "3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809",
"subjectType": "user",
"subjectId": "PIRJ7WE5T3QT9Z4TCLVH86DE@AdobeID"
},
{
"roleId": "3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809",
"subjectType": "user",
"subjectId": "WHPWE00MC26SHZ7AKBFG403D@AdobeID"
},
]
"_page": {
"limit": 0,
"count": 0
},
"_links": {
"self": {
"href": "/roles/{ROLE_ID}/subjects",
"templated": false,
"type": null,
"method": null
},
"page": {
"href": "/roles/{ROLE_ID}/subjects?limit={limit}&start={start}&orderBy={orderBy}&property={property}",
"templated": true,
"type": null,
"method": null
}
}
}
roleId
subjectType
subjectId
Erstellen einer Rolle create
Um eine neue Rolle zu erstellen, stellen Sie eine POST-Anfrage an den /roles
-Endpunkt und geben Sie dabei Werte für den Namen, die Beschreibung und den Rollentyp Ihrer Rolle an.
API-Format
POST /roles/
Anfrage
curl -X POST \
https://platform.adobe.io/data/foundation/access-control/administration/roles \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}'
-d'{
"name": "Administrator Role",
"description": "Role for administrator type of responsibilities and access",
"roleType": "user-defined"
}'
name
description
roleType
user-defined
und system-defined
.Antwort
Bei einer erfolgreichen Antwort werden Ihre neu erstellte Rolle mit der entsprechenden Rollen-ID sowie Informationen zum Rollentyp, zu den Berechtigungssätzen und zu den Betreffattributen zurückgegeben.
{
"id": "3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809",
"name": "Administrator Role",
"description": "Role for administrator type of responsibilities and access",
"roleType": "user-defined",
"permissionSets": [
"manage-datasets",
"manage-schemas"
],
"sandboxes": [
"prod"
],
"subjectAttributes": {
"labels": [
"core/S1"
]
},
"createdBy": "{CREATED_BY}",
"createdAt": 1648153201825,
"modifiedBy": "{MODIFIED_BY}",
"modifiedAt": 1648153201825,
"etag": null
}
id
name
description
roleType
user-defined
und system-defined
.permissionSets
sandboxes
subjectAttributes
subjectAttributes.labels
Aktualisieren einer Rolle patch
Sie können die Eigenschaften einer Rolle aktualisieren, indem Sie eine PATCH-Anfrage an den /roles
-Endpunkt senden und dabei die entsprechende Rollen-ID und die Werte für die Vorgänge angeben, die Sie anwenden möchten.
API-Format
PATCH /roles/{ROLE_ID}
Anfrage
curl -X PATCH \
https://platform.adobe.io/data/foundation/access-control/administration/roles/{ROLE_ID} \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}'
-d'{
"operations": [
{
"op": "add",
"path": "/description",
"value": "Role with permission sets for admin type of access"
}
]
}'
op
add
, replace
und remove
.path
value
Antwort
Eine erfolgreiche Antwort gibt die aktualisierte Rolle zurück, einschließlich neuer Werte für die Eigenschaften, die Sie aktualisiert haben.
{
"id": "3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809",
"name": "Administrator Role",
"description": "Role with permission sets for admin type of access",
"roleType": "user-defined",
"permissionSets": [
"manage-datasets",
"manage-schemas"
],
"sandboxes": [
"prod"
],
"subjectAttributes": {
"labels": [
"core/S1"
]
},
"createdBy": "{CREATED_BY}",
"createdAt": 1648153201825,
"modifiedBy": "{MODIFIED_BY}",
"modifiedAt": 1648153201825,
"etag": null
}
id
name
description
roleType
user-defined
und system-defined
.permissionSets
sandboxes
subjectAttributes
subjectAttributes.labels
Aktualisieren einer Rolle anhand der Rollen-ID put
Sie können eine Rolle aktualisieren, indem Sie eine PUT-Anfrage an den /roles
-Endpunkt stellen und die Rollen-ID angeben, die der zu aktualisierenden Rolle entspricht.
API-Format
PUT /roles/{ROLE_ID}
Anfrage
Die folgende Anfrage aktualisiert den Namen, die Beschreibung und den Rollentyp für die Rollen-ID: 3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809
.
curl -X PUT \
https://platform.adobe.io/data/foundation/access-control/administration/roles/3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}'
-d'{
"name": "Administrator role for ACME",
"description": "New administrator role for ACME",
"roleType": "user-defined"
}'
name
description
roleType
user-defined
und system-defined
.Antwort
Bei einer erfolgreichen Antwort wird Ihre aktualisierte Rolle zurückgegeben, einschließlich neuer Werte für ihren Namen, ihre Beschreibung und ihren Rollentyp.
{
"id": "3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809",
"name": "Administrator role for ACME",
"description": "New administrator role for ACME",
"roleType": "user-defined",
"permissionSets": [
"manage-datasets",
"manage-schemas"
],
"sandboxes": [
"prod"
],
"subjectAttributes": {
"labels": [
"core/S1"
]
},
"createdBy": "{CREATED_BY}",
"createdAt": 1648153201825,
"modifiedBy": "{MODIFIED_BY}",
"modifiedAt": 1648153201825,
"etag": null
}
id
name
description
roleType
user-defined
und system-defined
.permissionSets
sandboxes
subjectAttributes
subjectAttributes.labels
Betreff nach Funktions-ID aktualisieren
Um die mit einer Rolle verknüpften Betreffe zu aktualisieren, stellen Sie eine PATCH-Anfrage an den /roles
-Endpunkt, wobei Sie die Rollen-ID der Betreffe angeben, die Sie aktualisieren möchten.
API-Format
PATCH /roles/{ROLE_ID}/subjects
Anfrage
Die folgende Anfrage aktualisiert die mit {ROLE_ID}
verknüpften Betreffe.
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/access-control/administration/roles/<ROLE_ID>/subjects' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {IMS_ORG}' \
--header 'Content-Type: application/json' \
--data-raw '[
{
"op": "add",
"path": "/user",
"value": "{USER ID}"
}
]'
op
add
, replace
und remove
.path
value
Antwort
Eine erfolgreiche Antwort gibt Ihre aktualisierte Rolle zurück, einschließlich neuer Werte für die Subjekte.
{
"subjects": [
[
{
"subjectId": "03Z07HFQCCUF3TUHAX274206@AdobeID",
"subjectType": "user"
}
]
],
"_page": {
"limit": 1,
"count": 1
},
"_links": {
"self": {
"href": "https://platform.adobe.io:443/data/foundation/access-control/administration/roles/{ROLE_ID}/subjects",
"templated": true
},
"page": {
"href": "https://platform.adobe.io:443/data/foundation/access-control/administration/roles/{ROLE_ID}/subjects?limit={limit}&start={start}&orderBy={orderBy}&property={property}",
"templated": true
}
}
}
Löschen einer Rolle delete
Um eine Rolle zu löschen, stellen Sie eine DELETE-Anfrage an den /roles
-Endpunkt und geben Sie dabei die ID der Rolle an, die Sie löschen möchten.
API-Format
DELETE /roles/{ROLE_ID}
Anfrage
Die folgende Anfrage löscht die Rolle mit der ID {ROLE_ID}
.
curl -X DELETE \
https://platform.adobe.io/data/foundation/access-control/administration/roles/{ROLE_ID} \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
Antwort
Eine erfolgreiche Antwort gibt den HTTP-Status 204 (Kein Inhalt) und leeren Text zurück.
Sie können den Löschvorgang bestätigen, indem Sie eine Suchanfrage (GET) an die Rolle stellen. Sie erhalten den HTTP-Status 404 (Nicht gefunden), da die Rolle aus der Administration entfernt wurde.
API-Anmeldedaten hinzufügen apicredential
Um API-Anmeldeinformationen hinzuzufügen, stellen Sie eine PATCH-Anfrage an /roles
Endpunkt und geben Sie dabei die Rollen-ID der Subjekte an.
API-Format
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/access-control/administration/roles/<ROLE_ID>/subjects' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {IMS_ORG}' \
--header 'Content-Type: application/json' \
--data-raw '[
{
"op": "add",
"path": "/api-integration",
"value": "{TECHNICAL ACCOUNT ID}"
}
]'
op
add
, replace
und remove
.path
value
Antwort
Eine erfolgreiche Antwort gibt den HTTP-Status 204 (Kein Inhalt) und leeren Text zurück.