Dataplex 属性ストアの使用

このドキュメントでは、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.comgroup-b@company.com になります。

属性を定義するときは、属性が親属性か子属性かを選択できます。子属性を定義する場合は、親属性を指定する必要があります。

列の仕様

列の動作仕様。列に対する読み取りアクセス権を持つユーザーやグループを指定します。列仕様を含む属性をテーブルの列に関連付けると、その列に BigQuery 列ポリシータグが追加されます。

リソースの仕様

ユーザーやグループがリソース(テーブル)にアクセスするための権限。属性とリソース仕様を関連付けると、Dataplex は、属性に関連付けられたテーブルにアクセスするために IAM ロールを指定したユーザーに伝播します。

始める前に

制限事項

Dataplex は、列仕様ポリシーを BigQuery ポリシータグとして伝播します。BigQuery には、ポリシータグが 1 列に 1 つという制限があります。列にポリシータグがすでに存在する場合、Dataplex は [管理] タブの Governance ログにエラーをスローします。

割り当て

Dataplex 属性ストアに適用される割り当てと上限は、次のとおりです。

上限 Default
リージョン内の分類の最大数 100
リージョンにあるすべての分類内の属性の最大数 10,000
リソース(テーブル)に関連付けることができる属性の最大数 50
列に関連付けることができる属性の最大数 100
属性分類内のデータ属性ツリーの最大深度 4

必要なロールと権限

Dataplex 属性ストアを使用するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。

ロールの付与の詳細については、アクセス権の管理をご覧ください。

これらの事前定義ロールには、Dataplex 属性ストアの使用に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

Dataplex 属性ストアを使用するには、次の権限が必要です。

  • 分類と属性を管理する:
    • dataplex.datataxonomies.*
    • dataplex.dataattributes.* (except dataplex.dataattributes.configureResourceAccess and dataplex.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@acmetenured_employees@acme
  • 属性: Green

    • 列仕様: 読み取り権限を持つ full_time_employees@acme
    • リソース仕様: 編集権限を持つ full_time_employees@acme

この図には、赤と緑の属性の列使用とリソース仕様が含まれています。

Red 属性と Green 属性は、テーブルとその列に関連付けられた属性に応じて、リソース(テーブル)へのアクセス動作を制御します。

次の列を持つテーブルについて考えます。

  • ID
  • 郵便番号
  • 名前
  • アドレス
  • $Value

ユースケース 1: 同じ属性をテーブルと列に関連付ける

この図では、テーブルと列 Name に関連付けられた属性 Red を示しています。

属性 Red をテーブルとその列 Name に関連付けると、Dataplex は次のポリシーを伝播します。

  • secrets_team@acmetenured_employees@acme の従業員は、テーブルの読み取り、メタデータの表示、クエリを行えます。
  • Name をクエリできるのは、secrets_team@acme の従業員のみです。これは、列仕様によってさらに保護されるためです。

ユースケース 2: 属性を組み合わせる

次の関連付けについて考えます。

  • 属性 Red と属性 Green をテーブルに関連付ける。
  • 属性 Red と属性 Green を列 Name に関連付ける。
  • 属性 Red を列 $Value に関連付ける。

この図は、テーブルと列名に関連付けられた属性 Red と属性 Green、および列 $value に関連付けられている属性 Red を示しています。

この場合、Dataplex は次のポリシーを伝播します。

  • secrets_team@acmetenured_employees@acmefull_time_employees@acme の従業員はテーブルにアクセスできます。これは、Dataplex が属性 Red と属性 Green のリソース仕様を統合するためです。
  • secrets_team@acmefull_time_employees@acme の両方の従業員が [Name] 列にアクセスできます。これは、Dataplex が属性 Red と属性 Green の列仕様を統合するためです。
  • secrets_team@acme の従業員だけが列 $Value をクエリできます。

ユースケース 3: 属性を階層的に整理する

階層内の属性は、属性のサブタイプを指定することで整理できます。次の属性について考えます。

親属性 1:
属性: PII

  • 列仕様: secrets_team@acme
  • リソース仕様: secrets_team@acmetenured_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@acmetenured_employees@acmefull_time_employees@acmeemail_comm@acme の従業員がテーブルにアクセスできます。これは、Dataplex が属性 Financial と属性 Email のリソース仕様を統合し、属性 Email が属性 PII から仕様を継承するためです。
  • secrets_team@acmeemail_comm@acmefull_time_employees@acme の従業員が、列 Name にアクセスできます。これは、Dataplex が属性 Financial と属性 Email の列仕様を統合するためです。
  • secrets_team@acme の従業員だけが列 $Value をクエリできます。

属性を設定する

属性を作成するには、まず分類を作成し、次に親と子のデータ属性を作成する必要があります。

データ属性の分類を作成する

  1. Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。

    属性ストアに移動

  2. [分類を作成] をクリックします。

  3. [分類名]、[ID]、[説明] を入力します。

  4. リージョンを選択します。

  5. [送信] をクリックします。

    新しい分類が [データ分類] ページに表示されます。

親属性を作成する

  1. Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。

    属性ストアに移動

  2. [データ分類] ページで、親属性を作成する分類をクリックします。

  3. [分類の詳細] ページで、[データ属性を追加] をクリックします。

  4. [親データ属性を作成] を選択します。

  5. 親属性の名前、ID、説明を入力します。

  6. (省略可)属性の仕様を設定します。

    1. リソースの仕様を設定します。

      1. リソースの [権限を管理] をクリックします。
      2. [追加] をクリックします。
      3. [新しいプリンシパル] フィールドに、リソースにアクセスする必要があるユーザーまたはグループのメールアドレスを入力します。
      4. 必要な [ロール] を選択し、[保存] をクリックします。
      5. [保存] をクリックします。
    2. 列の仕様を設定します。

      1. の [権限を管理] をクリックします。
      2. [追加] をクリックします。
      3. [新しいプリンシパル] フィールドに、列にアクセスする必要があるユーザーまたはグループのメールアドレスを入力します。
      4. 必要な [ロール] を選択し、[保存] をクリックします。
      5. [保存] をクリックします。
  7. [作成] をクリックします。

子属性を作成する

  1. Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。

    属性ストアに移動

  2. [データ分類] ページで、子属性を作成する分類をクリックします。

  3. [分類の詳細] ページで、[データ属性を追加] をクリックします。

  4. [子属性を作成] を選択します。

  5. 作成する子属性の [親データの属性] を選択します。

  6. 子属性の名前、ID、説明を入力します。

  7. (省略可)属性の仕様を設定します。

    1. リソースの仕様を設定します。

      1. リソースの [権限を管理] をクリックします。
      2. [追加] をクリックします。
      3. [新しいプリンシパル] フィールドに、リソースにアクセスする必要があるユーザーまたはグループのメールアドレスを入力します。
      4. 必要な [ロール] を選択し、[保存] をクリックします。
      5. [保存] をクリックします。
    2. 列の仕様を設定します。

      1. の [権限を管理] をクリックします。
      2. [追加] をクリックします。
      3. [新しいプリンシパル] フィールドに、列にアクセスする必要があるユーザーまたはグループのメールアドレスを入力します。
      4. 必要な [ロール] を選択し、[保存] をクリックします。
      5. [保存] をクリックします。
  8. [作成] をクリックします。

属性ストアのリソースを更新する

分類の詳細を更新する

  1. Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。

    属性ストアに移動

  2. 更新する分類をクリックします。

  3. [編集] をクリックします。

  4. 必要に応じて、分類名とその説明を編集します。

  5. [送信] をクリックします。

属性の詳細を更新する

  1. Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。

    属性ストアに移動

  2. 更新する属性を含む分類をクリックします。

  3. 更新する属性をクリックします。

  4. 属性の名前と説明を更新するには、[編集] をクリックします。

    1. 親属性を更新する場合は、子属性に更新することも、その逆も可能です。必要に応じてオプションを選択します。
    2. 必要に応じて、属性の名前と説明を編集します。
    3. [更新] をクリックします。
  5. 属性のリソース仕様を更新するには、[リソースの仕様] の [] をクリックします。

    1. 新しいプリンシパルを追加する手順は、次のとおりです。

      1. [追加] をクリックします。
      2. [新しいプリンシパル] フィールドに、リソースにアクセスする必要があるユーザーまたはグループのメールアドレスを入力します。
      3. 必要な [ロール] を選択します。
      4. [保存] をクリックします。
    2. 既存のプリンシパルを更新する手順は、次のとおりです。

      1. 更新するプリンシパルの [] をクリックします。
      2. 必要な [ロール] を選択します。
      3. [保存] をクリックします。
    3. 既存のプリンシパルを削除する手順は、次のとおりです。

      1. 削除するプリンシパルを選択します。
      2. [削除] をクリックします。
  6. 属性の列の仕様を更新するには、[列の仕様] で [] をクリックします。

    1. 新しいプリンシパルを追加する手順は、次のとおりです。

      1. [追加] をクリックします。
      2. [新しいプリンシパル] フィールドに、列にアクセスする必要があるユーザーまたはグループのメールアドレスを入力します。
      3. 必要な [ロール] を選択します。
      4. [保存] をクリックします。
    2. 既存のプリンシパルを更新する手順は、次のとおりです。

      1. 更新するプリンシパルの [] をクリックします。
      2. 必要な [ロール] を選択します。
      3. [保存] をクリックします。
    3. 既存のプリンシパルを削除する手順は、次のとおりです。

      1. 削除するプリンシパルを選択します。
      2. [削除] をクリックします。

属性とリソースを関連付ける

属性とテーブルを関連付ける

  1. Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。

    属性ストアに移動

  2. 属性を含む分類をクリックします。

  3. テーブルに関連付ける属性をクリックします。

  4. [リソース] タブをクリックします。

  5. [リソースの追加] をクリックします。

  6. リストからテーブルを選択します。

  7. [Select] をクリックします。

属性と列を関連付ける

  1. Google Cloud コンソールで、Dataplex の [属性ストア] ページに移動します。

    属性ストアに移動

  2. 属性と列を関連付けるテーブルを探して選択します。

  3. [スキーマと列のタグ] タブをクリックします。

  4. 属性を関連付ける列の [ポリシータグ] で [] をクリックします。

  5. 属性を含む分類を選択します。

  6. 属性を選択します。

  7. [Attach] をクリックします。

次のステップ