このドキュメントでは、Dataplex 属性ストアの使用方法について説明します。
Dataplex 属性ストアは拡張可能なインフラストラクチャで、これを使用すると、関連するリソースでポリシー関連の動作を指定できます。Dataplex の管理者は、属性ストアを使用してデータを属性に関連付けることで、特定のデータの扱い方を定義できます。
属性ストアを使用する主な利点は、列などのオブジェクトに複数の属性を追加できることです。属性ストアは、オブジェクトに関連付けられたすべての属性の動作を統合し、基盤となるリソースに関する単一のポリシーとして表示します。
属性は、公開データセットに設定できます。公開データセットとは、バケット アセット内の検出されたテーブルから Dataplex が作成したデータセットのことです。
次のポリシー動作がサポートされています。
- リソース仕様: テーブルなどのリソースへのアクセスを指定します。
- 列仕様: BigQuery テーブルの列へのアクセスを指定します。
属性ストアは、分類と呼ばれる属性の階層を定義するために使用できます。分類では、子属性は親属性の階層から仕様を継承します。親からの仕様は、統一リストに統合され、リソースに伝播されます。
Dataplex 属性ストアは、次のことを実行するために使用できます。
- 分類を作成する。
- 属性を作成し、階層的に整理する。
- 1 つ以上の属性をテーブルに関連付ける。
- 1 つ以上の属性を列に関連付ける。
用語
このドキュメントでは、以下の用語を使用します。
属性の分類
データの分類とは、属性の階層のことです。分類では、下位の属性(子属性)が親属性の動作仕様を継承して、子属性の動作仕様に追加できます。
たとえば、PII
という名前の属性にリソース仕様 group-a@company.com
があり、Social Security numbers
という名前の PII
の子属性にリソース仕様 group-b@company.com
がある場合)、属性 Social Security numbers
が関連付けられているポリシーに適用されるリソース仕様は、group-a@company.com
と group-b@company.com
になります。
属性を定義するときは、属性が親属性か子属性かを選択できます。子属性を定義する場合は、親属性を指定する必要があります。
列の仕様
列の動作仕様。列に対する読み取りアクセス権を持つユーザーやグループを指定します。列仕様を含む属性をテーブルの列に関連付けると、その列に BigQuery 列ポリシータグが追加されます。
リソースの仕様
ユーザーやグループがリソース(テーブル)にアクセスするための権限。属性とリソース仕様を関連付けると、Dataplex は、属性に関連付けられたテーブルにアクセスするために IAM ロールを指定したユーザーに伝播します。
始める前に
制限事項
Dataplex は、列仕様ポリシーを BigQuery ポリシータグとして伝播します。BigQuery には、ポリシータグが 1 列に 1 つという制限があります。列にポリシータグがすでに存在する場合、Dataplex は [管理] タブの Governance ログにエラーをスローします。
割り当て
Dataplex 属性ストアに適用される割り当てと上限は、次のとおりです。
上限 | Default |
---|---|
リージョン内の分類の最大数 | 100 |
リージョンにあるすべての分類内の属性の最大数 | 10,000 |
リソース(テーブル)に関連付けることができる属性の最大数 | 50 |
列に関連付けることができる属性の最大数 | 100 |
属性分類内のデータ属性ツリーの最大深度 | 4 |
必要なロールと権限
Dataplex 属性ストアを使用するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。
- 分類と属性を管理する: Dataplex 分類管理者(
roles/dataplex.taxonomyAdmin
) - リソースと属性に関連付けられたバインディングを表示する: Dataplex 分類閲覧者(
roles/dataplex.taxonomyViewer
) -
プロジェクト内のバインディング リソースを作成して管理する:
-
Dataplex バインディング管理者(
roles/dataplex.bindingAdmin
) -
Dataplex 管理者(ゾーンリソースの
roles/dataplex.admin
)
-
Dataplex バインディング管理者(
- リソースとデータアクセスの仕様を管理する: Dataplex セキュリティ管理者(
roles/dataplex.securityAdmin
)
ロールの付与の詳細については、アクセス権の管理をご覧ください。
これらの事前定義ロールには、Dataplex 属性ストアの使用に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
Dataplex 属性ストアを使用するには、次の権限が必要です。
-
分類と属性を管理する:
-
dataplex.datataxonomies.*
-
dataplex.dataattributes.*
(exceptdataplex.dataattributes.configureResourceAccess
anddataplex.dataattributes.configureDataAccess
)
-
-
リソースと属性に関連付けられたバインディングを表示する:
-
dataplex.datataxonomies.get
-
dataplex.datataxonomies.list
-
dataplex.dataattributes.get
-
dataplex.dataattributes.list
-
dataplex.dataattributebindings.get
-
dataplex.dataattributebindings.list
-
-
プロジェクト内のバインディング リソースを作成して管理する:
dataplex.dataattributebindings.*
-
リソースとデータアクセスの仕様を管理する:
-
dataplex.datataxonomies.configureResourceAccess
-
dataplex.datataxonomies.configureDataAccess
-
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
サンプル ユースケース
3 種類のデータがある ACME という名前の会社について考えます。
Red
データ(機密性が高い)Green
データ(制限されているが機密性は低い)- その他のデータ。
ACME の Dataplex 管理者は、次の属性を作成します。
属性:
Red
- 列仕様: 読み取り権限を持つ
secrets_team@acme
- リソース仕様: 読み取り権限を持つ
secrets_team@acme
とtenured_employees@acme
- 列仕様: 読み取り権限を持つ
属性:
Green
- 列仕様: 読み取り権限を持つ
full_time_employees@acme
- リソース仕様: 編集権限を持つ
full_time_employees@acme
- 列仕様: 読み取り権限を持つ
Red
属性と Green
属性は、テーブルとその列に関連付けられた属性に応じて、リソース(テーブル)へのアクセス動作を制御します。
次の列を持つテーブルについて考えます。
- ID
- 郵便番号
- 名前
- アドレス
- $Value
ユースケース 1: 同じ属性をテーブルと列に関連付ける
属性 Red
をテーブルとその列 Name に関連付けると、Dataplex は次のポリシーを伝播します。
secrets_team@acme
とtenured_employees@acme
の従業員は、テーブルの読み取り、メタデータの表示、クエリを行えます。- 列 Name をクエリできるのは、
secrets_team@acme
の従業員のみです。これは、列仕様によってさらに保護されるためです。
ユースケース 2: 属性を組み合わせる
次の関連付けについて考えます。
- 属性
Red
と属性Green
をテーブルに関連付ける。 - 属性
Red
と属性Green
を列 Name に関連付ける。 - 属性
Red
を列 $Value に関連付ける。
この場合、Dataplex は次のポリシーを伝播します。
secrets_team@acme
、tenured_employees@acme
、full_time_employees@acme
の従業員はテーブルにアクセスできます。これは、Dataplex が属性Red
と属性Green
のリソース仕様を統合するためです。secrets_team@acme
とfull_time_employees@acme
の両方の従業員が [Name] 列にアクセスできます。これは、Dataplex が属性Red
と属性Green
の列仕様を統合するためです。secrets_team@acme
の従業員だけが列 $Value をクエリできます。
ユースケース 3: 属性を階層的に整理する
階層内の属性は、属性のサブタイプを指定することで整理できます。次の属性について考えます。
親属性 1:
属性: PII
- 列仕様:
secrets_team@acme
- リソース仕様:
secrets_team@acme
とtenured_employees@acme
PII
の子属性:
属性: Email
- 列仕様:
email_comm@acme
- リソース仕様:
email_comm@acme
親属性 2:
属性: Financial
- 列仕様:
full_time_employees@acme
- リソース仕様:
full_time_employees@acme
次の関連付けについて考えます。
- 属性
Email
と属性Financial
をテーブルに関連付ける。 - 属性
Email
と属性Financial
を列 Name に関連付ける。 - 属性
PII
を列 $Value に関連付ける。
この場合、Dataplex は次のポリシーを伝播します。
secrets_team@acme
、tenured_employees@acme
、full_time_employees@acme
、email_comm@acme
の従業員がテーブルにアクセスできます。これは、Dataplex が属性Financial
と属性Email
のリソース仕様を統合し、属性Email
が属性PII
から仕様を継承するためです。secrets_team@acme
、email_comm@acme
、full_time_employees@acme
の従業員が、列 Name にアクセスできます。これは、Dataplex が属性Financial
と属性Email
の列仕様を統合するためです。secrets_team@acme
の従業員だけが列 $Value をクエリできます。
属性を設定する
属性を作成するには、まず分類を作成し、次に親と子のデータ属性を作成する必要があります。
データ属性の分類を作成する
Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。
[分類を作成] をクリックします。
[分類名]、[ID]、[説明] を入力します。
リージョンを選択します。
[送信] をクリックします。
新しい分類が [データ分類] ページに表示されます。
親属性を作成する
Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。
[データ分類] ページで、親属性を作成する分類をクリックします。
[分類の詳細] ページで、[データ属性を追加] をクリックします。
[親データ属性を作成] を選択します。
親属性の名前、ID、説明を入力します。
(省略可)属性の仕様を設定します。
リソースの仕様を設定します。
- リソースの [権限を管理] をクリックします。
- [追加] をクリックします。
- [新しいプリンシパル] フィールドに、リソースにアクセスする必要があるユーザーまたはグループのメールアドレスを入力します。
- 必要な [ロール] を選択し、[保存] をクリックします。
- [保存] をクリックします。
列の仕様を設定します。
- 列の [権限を管理] をクリックします。
- [追加] をクリックします。
- [新しいプリンシパル] フィールドに、列にアクセスする必要があるユーザーまたはグループのメールアドレスを入力します。
- 必要な [ロール] を選択し、[保存] をクリックします。
- [保存] をクリックします。
[作成] をクリックします。
子属性を作成する
Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。
[データ分類] ページで、子属性を作成する分類をクリックします。
[分類の詳細] ページで、[データ属性を追加] をクリックします。
[子属性を作成] を選択します。
作成する子属性の [親データの属性] を選択します。
子属性の名前、ID、説明を入力します。
(省略可)属性の仕様を設定します。
リソースの仕様を設定します。
- リソースの [権限を管理] をクリックします。
- [追加] をクリックします。
- [新しいプリンシパル] フィールドに、リソースにアクセスする必要があるユーザーまたはグループのメールアドレスを入力します。
- 必要な [ロール] を選択し、[保存] をクリックします。
- [保存] をクリックします。
列の仕様を設定します。
- 列の [権限を管理] をクリックします。
- [追加] をクリックします。
- [新しいプリンシパル] フィールドに、列にアクセスする必要があるユーザーまたはグループのメールアドレスを入力します。
- 必要な [ロール] を選択し、[保存] をクリックします。
- [保存] をクリックします。
[作成] をクリックします。
属性ストアのリソースを更新する
分類の詳細を更新する
Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。
更新する分類をクリックします。
[編集] をクリックします。
必要に応じて、分類名とその説明を編集します。
[送信] をクリックします。
属性の詳細を更新する
Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。
更新する属性を含む分類をクリックします。
更新する属性をクリックします。
属性の名前と説明を更新するには、[編集] をクリックします。
- 親属性を更新する場合は、子属性に更新することも、その逆も可能です。必要に応じてオプションを選択します。
- 必要に応じて、属性の名前と説明を編集します。
- [更新] をクリックします。
属性のリソース仕様を更新するには、[リソースの仕様] の [
] をクリックします。新しいプリンシパルを追加する手順は、次のとおりです。
- [追加] をクリックします。
- [新しいプリンシパル] フィールドに、リソースにアクセスする必要があるユーザーまたはグループのメールアドレスを入力します。
- 必要な [ロール] を選択します。
- [保存] をクリックします。
既存のプリンシパルを更新する手順は、次のとおりです。
- 更新するプリンシパルの [ ] をクリックします。
- 必要な [ロール] を選択します。
- [保存] をクリックします。
既存のプリンシパルを削除する手順は、次のとおりです。
- 削除するプリンシパルを選択します。
- [削除] をクリックします。
属性の列の仕様を更新するには、[列の仕様] で [
] をクリックします。新しいプリンシパルを追加する手順は、次のとおりです。
- [追加] をクリックします。
- [新しいプリンシパル] フィールドに、列にアクセスする必要があるユーザーまたはグループのメールアドレスを入力します。
- 必要な [ロール] を選択します。
- [保存] をクリックします。
既存のプリンシパルを更新する手順は、次のとおりです。
- 更新するプリンシパルの [ ] をクリックします。
- 必要な [ロール] を選択します。
- [保存] をクリックします。
既存のプリンシパルを削除する手順は、次のとおりです。
- 削除するプリンシパルを選択します。
- [削除] をクリックします。
属性とリソースを関連付ける
属性とテーブルを関連付ける
Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。
属性を含む分類をクリックします。
テーブルに関連付ける属性をクリックします。
[リソース] タブをクリックします。
[リソースの追加] をクリックします。
リストからテーブルを選択します。
[Select] をクリックします。
属性と列を関連付ける
Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。
属性と列を関連付けるテーブルを探して選択します。
[スキーマと列のタグ] タブをクリックします。
属性を関連付ける列の [ポリシータグ] で [
] をクリックします。属性を含む分類を選択します。
属性を選択します。
[Attach] をクリックします。
次のステップ
- Dataplex のセキュリティの詳細を確認する。
- Dataplex でのポリシー管理の詳細を確認する。
- Dataplex IAM ロールの詳細を確認する。