Treasure Data の Policy-Based Permissions を使用すると、どのユーザーが Treasure Data との間でデータのインポートおよびエクスポートを行えるかを選択できます。TD Console を通じてポリシーの設定、作成、ユーザーへの割り当てを行うことができますが、認証パーミッションまたはアクセス制御ポリシーは API を通じて設定する必要があります。これには、完全なパーミッションの設定、パーミッションの変更、または認証パーミッションの割り当てが含まれる場合があります。
API の操作は、Web Console で見られる設定とは異なります。UI での「View」という用語は、API を通じて認証パーミッションを設定する際には「use」になります。
管理者が認証に対する詳細なパーミッションを有効にしていない場合、同じ動作やペイロードが表示されない可能性があります。この機能を有効にするには、カスタマーサクセス担当者にお問い合わせください。
認証を設定する際には、基本的な用語を理解しておくことが重要です。
| 用語 | 説明 |
|---|---|
Authentications | Treasure Data がデータを交換するための認証を作成することを許可します:
|
Source | 新しい認証を作成した後、データに使用するドキュメントの種類を指定して新しいソースを作成できます。この設定により、認証がアクセス可能な場合にソースへのアクセスパーミッションが有効になります。アクセス可能な認証は、所有している Authentication パーミッションに依存します。 たとえば、Authentications/use_limited を持っている場合、指定された認証からのみ作成されたソースにアクセスできます。 注意: Policy Based Permissions の最新バージョンでは、sources:full は sources:restricted になります。 |
Destinations | 認証を作成した後、クエリやアクティベーションを設定して、特定の場所にデータをエクスポートできます。利用可能なすべての宛先に対する使用パーミッションは、Authentications パーミッションに依存します。 注意: Policy Based Permissions の最新バージョンでは、destinations:full は destinations:restricted になります。 |
ユーザーのアクティベーションへのアクセスは、マスターセグメントオーナーの認証パーミッションと自身の認証アクセスを組み合わせたものに依存します。Audience Studio でのアクティベーションに認証パーミッションがどのように影響するかをご確認ください。
ポリシー設定プロトコルに関する知識
既存のポリシーの ID
特定のユーザーに割り当てられた空のポリシー
Policy-Based Permissions の API リファレンス
次のコマンドを使用すると、既存のポリシーに関するすべての情報を取得できます。
- コマンドラインから、GET コマンドを使用してポリシー API を呼び出し、ポリシー名または ID を取得します。
GET /v3/access_control/policies- レスポンスには、id、account_id、ポリシー名、ポリシーの説明、特定のポリシーに割り当てられたユーザー数など、ポリシーに関する識別情報が含まれます。
[
{
"id": 67,
"account_id": 123,
"name": "some_policy",
"description": "written about the policy",
"user_count": 3
}
]次のコマンドを使用すると、ポリシーのパーミッションに関する情報を取得できます。
- GET コマンドと
policy_idを使用して、ポリシーに関連付けられたパーミッションのリストを表示します。
GET /v3/access_control/policies/:policy_id/permissions- レスポンスで特定のポリシーに定義されたパーミッションを確認します。
{
"WorkflowProject": [
{
"operation": "view"
}
],
"WorkflowProjectLevel": [
{
"operation": "view",
"name": "my_wf"
}
],
"Segmentation": [
{
"operation": "full"
}
],
"MasterSegmentConfigs": [
{
"operation": "view"
}
],
"MasterSegmentConfig": [
{
"operation": "view",
"id": "42"
}
],
"SegmentAllFolders": [
{
"operation": "view",
"audience_id": "42"
}
],
"SegmentFolder": [
{
"operation": "view",
"id": "42"
}
],
"Authentications": [
{
"operation": "use"
}
],
"Sources": [
{
"operation": "restricted"
}
],
"Destinations": [
{
"operation": "restricted"
}
]
}次のコマンドを使用して、ユーザーのポリシーに関する情報を取得できます。
- GETコマンドと
user_idを使用して、ユーザーの現在のポリシーを表示します。
GET /v3/access_control/users/:user_id/policies- レスポンスで特定のユーザーのポリシー権限を確認します。
[
{
"id": 62,
"account_id": 123,
"name": "some_policy",
"description": "written about the policy",
"user_count": 3
}
]次のコマンドを使用して、特定のユーザーにポリシーまたはポリシーグループを割り当てることができます。
- PATCHコマンドと
user_idを使用して、ユーザーのポリシーを更新します。
PATCH /v3/access_control/users/:user_id/policies- ペイロードに、ユーザーのプロファイルに追加する新しいポリシーを追加します。
{
"policy_ids": [
"62",
"67"
]
}user_idを使用してGETコマンドで、正しいポリシーと権限が追加されたことを確認できます。
GET /v3/access_control/users/:user_id- レスポンスでユーザーのポリシー権限を確認します。
{
"account_id": "123",
"user_id": "2629",
"permissions": {
"Authentications": [
{
"operation": "use"
}
],
"Sources": [
{
"operation": "restricted"
}
],
"Destinations": [
{
"operation": "restricted"
}
]
},
"policies": [
{
"id": "67",
"account_id": "123",
"name": "some_policy",
"description": ""
}
]
}認証をフル権限に設定するには、正しいポリシーIDで適切なAPIを呼び出す必要があります。
- PATCHコマンドと特定のpolicy_idを使用して、ポリシー権限を設定します。
PATCH /v3/access_control/policies/:policy_id/permissions- ペイロードで、認証の操作をfullに設定します。
{
"Authentications": [
{
"operation": "full"
}
]
}認証に空の配列を渡すことで、認証権限をなしに設定できます。これは権限なしを示します。
- PATCHコマンドを使用して認証権限を変更します。
PATCH /v3/access_control/policies/:policy_id/permissions- ペイロードで、認証に空の配列を設定します。
{
"Authentications": []
}認証権限をuseに、ソース権限をrestrictedに割り当てることができます。この権限では、ユーザーは新しい認証を作成できませんが、認証リストを表示したり、新しいソースを作成したりすることができます。
- PATCHコマンドを使用して認証権限を変更または設定します。
PATCH /v3/access_control/policies/:policy_id/permissions- ペイロードで、認証の操作をview、ソースの操作をrestrictedに設定します。
{
"Authentication": [
{
"operation": "use"
}
],
"Sources": [
{
"operation": "restricted"
}
]
}以下のコマンドを使用して、指定された認証を表示および使用する権限をユーザーに割り当てることができます。
- PATCHコマンドを使用して、use_limitedの認証権限を設定します。
PATCH /v3/access_control/policies/:policy_id/permissions- ペイロードで、指定された認証にuse-permissionを追加します。
{
"Authentications": [
{
"operation": "use_limited",
"ids": "1,2,6,100"
}
]
}以下のコマンドを使用して、ユーザーが自分で認証を作成し、作成した認証を表示、編集、削除、使用できるように、認証にowner_manage権限を設定できます。
- PATCHを使用して、owner_managedの認証権限を設定します。
PATCH /v3/access_control/policies/:policy_id/permissions- ペイロードで、ユーザーが自分の認証を作成および管理できるように
owner_manage権限を付与します。
{
"Authentications": [
{
"operation": "owner_manage"
}
]
}これらの権限の変数を削除することで、認証とソースの両方へのアクセスを制限できます。
- PATCHコマンドを使用して、認証権限を変更します。
PATCH /v3/access_control/policies/:policy_id/permissions- ペイロードで、認証とソースの変数を削除し、空の配列を渡します。
{
"Authentications": [],
"Sources": []
}認証権限をuse_limitedに割り当てて、指定された認証内でのアクセスを制限できます。この権限により、ユーザーは指定されたリスト内の認証のみを表示できます。制限されたソース権限を追加すると、ユーザーはリスト内の認証から作成されたソースに対して完全な権限を持つことができます。
- PATCHコマンドを使用して、認証権限を変更します。
PATCH /v3/access_control/policies/:policy_id/permissions- ペイロードで、認証操作をuse_limitedに設定し、必要な特定の認証IDを追加し、ソース操作をrestrictedに設定します。
{
"Authentications": [
{
"operation": "use_limited",
"ids": "1,2,3"
}
],
"Sources": [
{
"operation": "restricted"
}
]
}