ポリシータグを使用すると、BigQuery テーブル内の機密列を表示できるユーザーを制御できます。Data Catalog では、テーブルエントリの詳細ページで、列に直接ポリシータグを追加または削除できます。
始める前に
- Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Data Catalog and BigQuery API を有効にします。
-
プロジェクトに次のロールがあることを確認します。 Data Catalog > Policy Tag Admin, BigQuery > Data Viewer
ロールを確認する
-
Google Cloud コンソールの [IAM] ページに移動します。
[IAM] に移動 - プロジェクトを選択します。
-
[プリンシパル] 列で、自分のメールアドレスを含む行を見つけます。
自分のメールアドレスがその列にない場合、ロールは割り当てられていません。
- 自分のメールアドレスを含む行の [ロール] 列で、ロールのリストに必要なロールが含まれているかどうかを確認します。
ロールを付与する
-
Google Cloud コンソールの [IAM] ページに移動します。
[IAM] に移動 - プロジェクトを選択します。
- [ アクセスを許可] をクリックします。
- [新しいプリンシパル] フィールドに、自分のメールアドレスを入力します。
- [ロールを選択] リストでロールを選択します。
- 追加のロールを付与するには、 [別のロールを追加] をクリックして各ロールを追加します。
- [保存] をクリックします。
-
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Data Catalog and BigQuery API を有効にします。
-
プロジェクトに次のロールがあることを確認します。 Data Catalog > Policy Tag Admin, BigQuery > Data Viewer
ロールを確認する
-
Google Cloud コンソールの [IAM] ページに移動します。
[IAM] に移動 - プロジェクトを選択します。
-
[プリンシパル] 列で、自分のメールアドレスを含む行を見つけます。
自分のメールアドレスがその列にない場合、ロールは割り当てられていません。
- 自分のメールアドレスを含む行の [ロール] 列で、ロールのリストに必要なロールが含まれているかどうかを確認します。
ロールを付与する
-
Google Cloud コンソールの [IAM] ページに移動します。
[IAM] に移動 - プロジェクトを選択します。
- [ アクセスを許可] をクリックします。
- [新しいプリンシパル] フィールドに、自分のメールアドレスを入力します。
- [ロールを選択] リストでロールを選択します。
- 追加のロールを付与するには、 [別のロールを追加] をクリックして各ロールを追加します。
- [保存] をクリックします。
-
ロールと権限
ユーザーまたはサービス アカウントのポリシータグに関連するロールがいくつかあります。このページでは、Data Catalog ポリシータグ管理者ときめ細かい読み取りのロールについて説明します。
ポリシータグを管理するユーザーまたはサービス アカウントには、Data Catalog ポリシータグ管理者のロールが必要です。このロールは分類とポリシータグを管理し、ACL ポリシーを付与または削除できます。
ポリシータグで保護されているデータをクエリするユーザーまたはサービス アカウントには、ポリシータグごとにきめ細かい読み取りのロールが必要があります。
ポリシータグ関連のロールの詳細については、列レベルのセキュリティで使用するロールをご覧ください。
ポリシータグ管理者のロール
Data Catalog ポリシータグ管理者のロールは、データポリシー タグを作成、管理できます。
Data Catalog ポリシータグ管理者のロールを付与するには、ポリシータグ管理者のロールをユーザーに付与するプロジェクトについて resourcemanager.projects.setIamPolicy
権限が必要です。resourcemanager.projects.setIamPolicy
権限がない場合は、この権限を付与してもらうか、自分の代わりに次の手順を実行してもらうようプロジェクト オーナーに依頼してください。
Google Cloud Console の [IAM] ページに移動します。
ロールを付与するユーザーのメールアドレスがリストにある場合は、そのメールアドレスを選択して [編集](鉛筆アイコン)をクリックします。[別のロールを追加] をクリックします。
ユーザーのメールアドレスがリストにない場合は、[
追加] をクリックし、[新しいプリンシパル] ボックスにメールアドレスを入力します。[ロールを選択] プルダウン リストをクリックします。
[データカタログ] をクリックし、[ポリシータグ管理者] をクリックします。
[保存] をクリックします。
このロールの詳細については、列レベルのセキュリティで使用されるロールをご覧ください。
分類を作成する
Data Catalog を使用して分類を作成し、データのポリシータグを追加します。
次の手順を行うユーザー アカウントには、Data Catalog ポリシータグ管理者のロールが必要です。
Google Cloud コンソールで Dataplex 分類ページを開きます。
[分類の作成] をクリックします。
[新しい分類] ページで次の操作を行います。
- [分類名] に、作成する分類の名前を入力します。
- [説明] に、説明を入力します。
- 必要に応じて、[プロジェクト] に表示されているプロジェクトを変更します。
- 必要に応じて、[場所] に表示されている場所を変更します。
- [ポリシータグ] に、ポリシータグの名前と説明を入力します。
- ポリシータグの子ポリシータグを追加するには、[子ポリシータグの追加] をクリックします。
新しいポリシータグを別のポリシータグと同じレベルで追加するには、[+] アイコンをクリックします。
以下に、[新しい分類] ページの例を示します。必要に応じて、分類にポリシータグと子ポリシータグをさらに追加します。
ポリシータグの階層の作成が完了したら、[保存] をクリックします。
[ポリシータグの分類] ページで、[アクセス制御を適用] スライダーをオンにします。
ポリシータグでタグ付けされた列を表示するユーザーには、データセットに対する完全な権限とポリシータグが必要です。詳細なチュートリアルについては、BigQuery の列レベルのセキュリティ ガイドをご覧ください。
きめ細かい読み取りのロールを付与する
ポリシータグで保護されている列へのアクセスが必要なユーザーには、きめ細かい読み取りのロールが必要です。このロールは、ポリシータグごとに個別に割り当てられます。
次の手順を実行するには、きめ細かい読み取りのロールをユーザーに付与するプロジェクトに対する resourcemanager.projects.setIamPolicy
権限が必要です。resourcemanager.projects.setIamPolicy
権限がない場合は、この権限を付与してもらうか、自分の代わりに次の手順を実行してもらうようプロジェクト オーナーに依頼してください。
[Dataplex] > [ポリシータグ] ページに移動します。
ロールを付与するポリシータグの分類を選択します。
[ポリシータグ] セクションで、特定のポリシータグを選択します。
ポリシータグの情報ペインで、[プリンシパルを追加] をクリックします。
情報ペインが表示されない場合は、[情報パネルを表示] をクリックします。
[プリンシパルを追加] ペインで次の操作を行います。
- [新しいプリンシパル] ボックスに、ロールを付与するユーザーのメールアドレスを入力します。
- [ロールを選択] メニューから [Data Catalog] > [きめ細かい読み取り] を選択します。
- [保存] をクリックします。
このユーザー アカウントは、その特定のポリシータグで保護されているすべての列を表示できるようになりました。
このロールの詳細については、列レベルのセキュリティで使用されるロールをご覧ください。
列にポリシータグを追加する
Data Catalog では、1 度に 1 つのポリシータグのみを 1 つの列に添付できます。1 回のオペレーションで複数の列にポリシータグを添付する場合は、BigQuery でテーブル スキーマを編集します。BigQuery の列にポリシータグを設定するをご覧ください。
Dataplex の検索ページを開き、列にポリシータグを添付する BigQuery テーブルを見つけます。
詳細については、データアセットを検索する方法をご覧ください。アセットページで [スキーマと列のタグ] タブを選択します。
[スキーマ] テーブルで、BigQuery テーブルの列を表す行を見つけ、[ポリシータグ] で [+] をクリックします。
[ポリシータグを追加] パネルで、列に適用するポリシータグを選択します。
パネルの下部にある [選択] をクリックします。画面は次のようになります。
これで、列はポリシータグで保護されます。ユーザーがこのデータにアクセスできるようにするには、このポリシータグに対するきめ細かい読み取りのロールを付与します。きめ細かい読み取りのロールをご覧ください。
列からポリシータグを消去する
Dataplex の検索ページを開き、列からポリシータグを消去する BigQuery テーブルを見つけます。
データアセットを検索する方法をご覧ください。アセットページで [スキーマと列のタグ] タブを選択します。
[スキーマ] テーブルで、BigQuery 列を表す行を見つけ、[ポリシータグ] セルで [X] をクリックします。