Skip to content
Last updated

REST APIを使用したタグベースのアクセス制御

Permission Policy APIを使用すると、特定のポリシータグを使用してカラムレベルのアクセス制御を作成し、Treasure Dataデータベース内のカラムのアクセシビリティを制限または許可できます。

ポリシーベースのカラムレベルアクセス制御権限を作成する場合、特定のタグに対するアクセス制御を定義し、そのポリシーを特定のユーザーに割り当てます。これらの権限を作成するには、ポリシーベースのカラムレベルアクセス制御機能を有効にする必要があります。

ポリシーのデフォルトアクセシビリティの設定

Treasure コンソールUIでは、ユーザーはタグを使用して3種類のカラムアクセシビリティを定義できます:None、View、およびMasked。REST APIを使用して同様の結果を得ることができます。

ポリシーのデフォルトアクセシビリティをNoneに設定

UIでの制御設定と同様に、REST APIを使用して{"tags":[]}でタグを省略することで、ポリシーのデフォルトアクセシビリティをNoneに効果的に設定できます。以下の例では、ポリシー420836のタグが明示的に設定されておらず、アクセシビリティがない状態になります。

curl -s -H "Content-Type: application/json" \
-d '{"column_permissions":[{"tags":[]}]}' \
-H "Authorization: TD1 ..." \
-X PATCH https://api.treasuredata.com/v3/access_control/policies/420836/column_permissions

ポリシーのデフォルトアクセシビリティをViewに設定

UIでの制御設定と同様に、デフォルトのアクセシビリティをViewに設定できます。以下の例では、ポリシー420836のすべてのタグがViewに設定されています。すべてをViewに設定するには、タグを省略し、_except_ステートメントを"except":trueに設定します。これにより、ユーザーはすべてにアクセスできるようになります。

curl -s -H "Content-Type: application/json" \
-d '{"column_permissions":[{"tags":[],"except":true}]}' \
-H "Authorization: TD1 ..." \
-X PATCH https://api.treasuredata.com/v3/access_control/policies/420836/column_permissions

UIでの制御設定と同様に、PIIタグを除くすべてにView権限を設定できます。これは、ポリシーに記載されていない新しいタグでもViewアクセシビリティを持つことを意味します。

curl -s -H "Content-Type: application/json" \
-d '{"column_permissions":[{"tags":["PII"],"except":true}]}' \
-H "Authorization: TD1 ..." \
-X PATCH https://api.treasuredata.com/v3/access_control/policies/420836/column_permissions

タグのアクセシビリティ設定を指定

PIIの可視性をMaskedまたはViewに設定できます。

PIIの可視性をMaskedに設定

curl -s -H "Content-Type: application/json" \
-d '{"column_permissions":[{"tags":["PII"],"masking":"hash"}]}' \
-H "Authorization: TD1 ..." \
-X PATCH https://api.treasuredata.com/v3/access_control/policies/420836/column_permissions

PIIの可視性をViewに設定

curl -s -H "Content-Type: application/json" \
-d '{"column_permissions":[{"tags":["PII"]}]}' \
-H "Authorization: TD1 ..." \
-X PATCH https://api.treasuredata.com/v3/access_control/policies/420836/column_permissions