역할 끝점
역할은 관리자, 전문가 또는 최종 사용자가 조직의 리소스에 액세스할 수 있는 권한을 정의합니다. 역할 기반 액세스 제어 환경에서 사용자 액세스 프로비저닝은 일반적인 책임과 요구 사항을 통해 그룹화됩니다. 역할에는 주어진 권한 집합이 있으며 조직의 멤버들은 필요한 보기 또는 쓰기 액세스 범위에 따라 하나 이상의 역할에 할당될 수 있습니다.
특성 기반 액세스 제어 API의 /roles
끝점을 사용하면 조직에서 프로그래밍 방식으로 역할을 관리할 수 있습니다.
시작하기
이 안내서에 사용된 API 끝점은 특성 기반 액세스 제어 API의 일부입니다. 계속하기 전에 시작 안내서를 검토하여 관련 문서에 대한 링크, 이 문서의 샘플 API 호출 읽기 지침 및 Experience Platform API를 성공적으로 호출하는 데 필요한 필수 헤더에 대한 중요 정보를 확인하십시오.
역할 목록 검색 list
/roles
끝점에 대한 GET 요청을 통해 조직에 속한 기존 역할을 모두 나열할 수 있습니다.
API 형식
GET /roles/
요청
다음 요청은 조직에 속한 역할 목록을 검색합니다.
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}' \
응답
성공적인 응답은 각 역할 유형, 권한 집합 및 제목 속성에 대한 정보를 포함하여 조직의 역할 목록을 반환합니다.
{
"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
및 system-defined
입니다.permissionSets
sandboxes
subjectAttributes
subjectAttributes.labels
역할 조회 lookup
요청 경로에 해당 roleId
을(를) 포함하는 GET 요청을 만들어 개별 역할을 조회할 수 있습니다.
API 형식
GET /roles/{ROLE_ID}
요청
다음 요청은 {ROLE_ID}
에 대한 정보를 검색합니다.
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}' \
응답
성공한 응답은 역할 유형, 권한 집합 및 주체 특성에 대한 정보를 포함하여 쿼리된 역할 ID에 대한 세부 정보를 반환합니다.
{
"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
및 system-defined
입니다.permissionSets
sandboxes
subjectAttributes
subjectAttributes.labels
역할 ID로 주제 조회
{ROLE_ID}을(를) 제공하는 동안 /roles
끝점에 대한 GET 요청을 만들어 주제를 검색할 수도 있습니다.
API 형식
GET /roles/{ROLE_ID}/subjects
요청
다음 요청은 3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809
과(와) 연결된 주제를 검색합니다.
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}' \
응답
성공적인 응답은 해당 주체 ID 및 주체 유형을 포함하여 쿼리된 역할 ID와 연관된 주제를 반환합니다.
{
"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
역할 만들기 create
새 역할을 만들려면 역할의 이름, 설명 및 역할 유형에 대한 값을 제공하면서 /roles
끝점에 대한 POST 요청을 만듭니다.
API 형식
POST /roles/
요청
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
및 system-defined
입니다.응답
성공적인 응답은 해당 역할 ID는 물론, 역할 유형, 권한 집합 및 주체 특성에 대한 정보와 함께 새로 만든 역할을 반환합니다.
{
"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
및 system-defined
입니다.permissionSets
sandboxes
subjectAttributes
subjectAttributes.labels
역할 업데이트 patch
적용할 작업에 해당 역할 ID와 값을 제공하는 동안 /roles
끝점에 PATCH 요청을 수행하여 역할의 속성을 업데이트할 수 있습니다.
API 형식
PATCH /roles/{ROLE_ID}
요청
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
및 remove
이(가) 포함됩니다.path
value
응답
성공한 응답은 업데이트하도록 선택한 속성에 대한 새 값을 포함하여 업데이트된 역할을 반환합니다.
{
"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
및 system-defined
입니다.permissionSets
sandboxes
subjectAttributes
subjectAttributes.labels
역할 ID로 역할 업데이트 put
/roles
끝점에 대한 PUT 요청을 만들고 업데이트할 역할에 해당하는 역할 ID를 지정하여 역할을 업데이트할 수 있습니다.
API 형식
PUT /roles/{ROLE_ID}
요청
다음 요청은 역할 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
및 system-defined
입니다.응답
성공적인 응답은 업데이트된 역할을 반환하며 여기에는 이름, 설명 및 역할 유형에 대한 새 값이 포함됩니다.
{
"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
및 system-defined
입니다.permissionSets
sandboxes
subjectAttributes
subjectAttributes.labels
역할 ID로 제목 업데이트
역할과 연결된 주체를 업데이트하려면 업데이트할 주체의 역할 ID를 제공하는 동안 /roles
끝점에 대한 PATCH 요청을 만듭니다.
API 형식
PATCH /roles/{ROLE_ID}/subjects
요청
다음 요청은 {ROLE_ID}
과(와) 관련된 주제를 업데이트합니다.
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
및 remove
이(가) 포함됩니다.path
value
응답
성공적인 응답은 주제에 대한 새 값을 포함하여 업데이트된 역할을 반환합니다.
{
"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
}
}
}
역할 삭제 delete
역할을 삭제하려면 삭제할 역할의 ID를 지정하는 동안 /roles
끝점에 대한 DELETE 요청을 만듭니다.
API 형식
DELETE /roles/{ROLE_ID}
요청
다음 요청은 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}' \
응답
성공적인 응답은 HTTP 상태 204(콘텐츠 없음) 및 빈 본문을 반환합니다.
역할에 대한 조회(GET) 요청을 시도하여 삭제를 확인할 수 있습니다. 역할이 관리에서 제거되었으므로 HTTP 상태 404(찾을 수 없음)를 받게 됩니다.
API 자격 증명 추가 apicredential
API 자격 증명을 추가하려면 주체의 역할 ID를 제공하는 동안 /roles
끝점에 PATCH 요청을 만듭니다.
API 형식
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
및 remove
이(가) 포함됩니다.path
value
응답
성공적인 응답은 HTTP 상태 204(콘텐츠 없음) 및 빈 본문을 반환합니다.