共有とアクセス制御¶
ワークロードは、GET /workloads/{workload_id}/sharedRoles および PATCH /workloads/{workload_id}/sharedRoles を介した共有ロールをサポートします。共有ロールは、ユーザー、グループ、または組織にワークロードの特定のアクセスレベルを付与します。
利用可能なロール¶
Workload APIは、3つの共有ロールを公開しています。
| 役割 | アクセスレベル |
|---|---|
owner |
フルコントロール(削除や再共有を含む)。 |
user |
呼び出しおよび読み取り。標準的な生産者とコンシューマーのロール。 |
consumer |
呼び出しのみ。完全な設定または統計情報を読み取ることはできません。 |
共有ロールは、イベント、統計情報、および /protons/ サブリソースに伝播するため、コラボレーターは所有者と同じテレメトリーとライフサイクルを確認できます。
共有ロールの更新¶
PATCH /workloads/{workload_id}/sharedRoles は、現在の共有ロールのリストを置き換えます。1つのリクエストで最大100個のエントリを設定でき、各エントリは id (shareRecipientType と共に)または username (ユーザーの場合)によって受信者を識別します。
curl -X PATCH "${DATAROBOT_ENDPOINT}/workloads/${WORKLOAD_ID}/sharedRoles" \
-H "Authorization: Bearer ${DATAROBOT_API_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"operation": "updateRoles",
"roles": [
{"id": "USER_ID", "role": "user", "shareRecipientType": "user"},
{"username": "alice@example.com", "role": "consumer", "shareRecipientType": "user"}
]
}'
shareRecipientType は user、group、organization、または role を受け入れます。
アーティファクトとアーティファクトリポジトリ¶
アーティファクトとアーティファクトリポジトリは、レジストリガバナンスに同じ sharedRoles パターンを使用します:
| リソース | 共有ロールエンドポイント |
|---|---|
| アーティファクト | GET /artifacts/{artifact_id}/sharedRoles, PATCH /artifacts/{artifact_id}/sharedRoles. |
| アーティファクトリポジトリ | GET /artifactRepositories/{artifact_repository_id}/sharedRoles, PATCH /artifactRepositories/{artifact_repository_id}/sharedRoles. |
アーティファクトの概念 と REST: アーティファクトとリポジトリ を参照してください。