セキュリティ センターの概要
このドキュメントでは、Google Cloud コンソールの BigQuery セキュリティ センターについて説明します。セキュリティ センターを使用して、組織のデータ セキュリティ プロファイルを分析し、行レベルと列レベルのセキュリティ ポリシーを構成して管理し、データ ガバナンス タグとポリシータグを管理できます。
始める前に
セキュリティ センターで情報を表示するには、次のものが必要です。
Dataplex API が有効になっていない場合は有効にします。
API を有効にするために必要なロール
API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を通じてこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を通じてこの権限を取得できます。ロールを付与する方法を確認する。
必要なロール
BigQuery の [セキュリティ センター] ページからセキュリティ設定を管理およびモニタリングするために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
[リソース] タブでリソースを閲覧して検索し、データ マスキング ルーティンを表示する: プロジェクトに対する BigQuery メタデータ閲覧者 (
roles/bigquery.metadataViewer) -
行レベルのアクセス ポリシー、データポリシー(列レベルのセキュリティ)、テーブルとデータセットのセキュリティを管理する: プロジェクトに対する BigQuery セキュリティ管理者 (
roles/bigquery.securityAdmin) -
ポリシータグを列にアタッチします。
- テーブルに対する BigQuery データオーナー (
roles/bigquery.dataOwner) - プロジェクトに対する BigQuery 管理者 (
roles/bigquery.admin)
- テーブルに対する BigQuery データオーナー (
-
データセットの所有権なしでデータポリシーを作成して管理する: プロジェクトに対する BigQuery Data Policy 管理者 (
roles/bigquerydatapolicy.admin) -
クエリジョブを実行し、セキュリティ分析情報(
INFORMATION_SCHEMAビューを含む)を表示する: プロジェクトに対する BigQuery ジョブユーザー (roles/bigquery.jobUser) -
データ ガバナンス タグを管理する: 組織に対するタグ管理者 (
roles/resourcemanager.tagAdmin) -
ポリシータグの分類を作成して管理する: 分類または組織に対するポリシータグ管理者 (
roles/datacatalog.categoryAdmin) -
ポリシータグで保護されている列をクエリする: 分類またはポリシータグに対するきめ細かい読み取り (
roles/datacatalog.categoryFineGrainedReader) -
セキュリティ センターで Gemini Cloud Assist を使用する: プロジェクトに対する Gemini for Google Cloud ユーザー (
roles/cloudaicompanion.user)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
リソースの選択とセキュリティ プロファイルの分析
セキュリティ センターの [リソース] タブでは、BigQuery プロジェクト内のデータセットとテーブルを検索し、関連付けられたセキュリティ ポリシーを表示して、各リソースのセキュリティ プロファイルを分析できます。
Gemini Cloud Assist でセキュリティ プロファイルを分析する
セキュリティ センターの Gemini Cloud Assist を使用すると、セキュリティ設定の確認、リソースに関する質問、データセットまたはテーブルのセキュリティ プロファイルの分析を行うことができます。
Google Cloud コンソールで、[BigQuery] ページに移動します。
ナビゲーション メニューで [ガバナンス] をクリックし、[セキュリティ センター] をクリックします。
[リソース] タブをクリックします。
データセットまたはテーブルの上にポインタを置き、astrophotography_mode [セキュリティ プロファイルを表示] をクリックします。
Gemini Cloud Assist は、リソースのセキュリティ プロファイルの概要(関連付けられた行レベルのアクセス ポリシー、列レベルのデータポリシー、分類タグなど)を生成します。
セキュリティ検出結果、ポリシー、アクセス制御について質問するには、Gemini Cloud Assist のチャットパネルを使用することもできます。
詳細については、Gemini Cloud Assist を使用するをご覧ください。
リソースを検索してフィルタする
[リソース] タブには、リソースの特定とアクセス制御の検査を行うための次の機能が用意されています。
- プロジェクト スコープ: [リソース] タブに、選択した Google Cloud プロジェクトのデータセットとテーブルが表示されます。
- 検索とフィルタ: [フィルタ] をクリックして、データセット名、テーブル名、ロケーションでリソースを検索します。
- アタッチされたポリシーを検査する: [ポリシー] 列と [ポリシータグ] 列には、アクセス ポリシーまたはタグが各テーブルにアタッチされているかどうかが表示されます。ポリシーの詳細を表示するには、リソース名をクリックします。選択したリソースのポリシーを作成または変更するには、[ポリシー管理] タブに移動します。
ポリシー管理
セキュリティ センターの [ポリシー管理] タブでは、テーブルの行レベルのアクセス ポリシーと列レベルのセキュリティ ポリシーを構成して管理できます。
列レベルのセキュリティ ポリシーは、次の 3 つの方法で構成できます。
- 列に直接割り当てられたデータポリシー
- データ ガバナンス タグベースのポリシー(プレビュー)
- ポリシータグベースのポリシー
行アクセス ポリシー
[行アクセス] ビューには、リソース用に作成されたすべての行レベルのアクセス ポリシーが表示されます。各ポリシーについて、ポリシー名、テーブル名、データセット名、最終更新日を表示できます。このビューからポリシーを直接編集、削除、作成できます。
行レベルのアクセスポリシーを作成する場合は、次の項目を指定します。
- ポリシー名: ポリシーの一意の名前。
- テーブル検索: 検索フィールドにテーブル名を入力して、ターゲット テーブルを見つけて選択します。
- スキーマビュー: テーブル スキーマを確認して、使用可能な列名を確認します。
- フィルタ述語: 表示する行を定義する SQL フィルタ条件(
region = 'us-east1'など)を入力します。 - プリンシパル: ポリシーが適用されるユーザー、グループ、またはドメインを指定します。
詳細については、BigQuery の行レベルのセキュリティの概要をご覧ください。
列のセキュリティ ポリシー
[列のセキュリティ] ビューでは、リソース全体で列レベルのアクセス制御とデータ マスキングを管理できます。
列セキュリティ ポリシーを表示するには、まず [リージョン] リストからリージョンを選択する必要があります。
リージョンを選択すると、ポリシーは作成方法に基づいて次の 3 つのセクションに表示されます。
- ポリシータグ: Data Catalog 分類タグに関連付けられたポリシー。
- データ ガバナンス タグ:
purpose=DATA_GOVERNANCE(プレビュー)を含む Resource Manager タグに関連付けられたポリシー。 - 直接割り当てられたデータポリシー: タグの仲介なしでテーブルの列に直接適用されるデータポリシー。
ポリシーの影響指標
ポリシーごとに、そのポリシーの影響を受けるテーブルと列の数を示す影響指標が表に表示されます。これらの指標は、ポリシーがデータセット全体にどの程度適用されているかを示します。管理者は、ポリシーを更新または再割り当てする前に、ポリシーの範囲と機密性を評価できます。
複数の列にポリシーをアタッチする
既存のポリシーを複数のテーブルとデータセットの複数の列に適用するには、ポリシー テーブルで [適用] をクリックします。これにより、組織全体で一貫した列レベルのアクセス制御またはデータ マスキング ルールを 1 つのアクションで適用できます。
プリンシパルをデータポリシーに割り当てると、BigQuery はそのポリシーに対するマスクされた読み取りロール(roles/bigquerydatapolicy.maskedReader)をプリンシパルに付与します。このロールは、保護された列でマスクされた値を読み取るために必要な権限である bigquery.dataPolicies.maskedGet を付与する唯一の事前定義ロールです。詳細については、マスクされたデータに対してクエリを実行するためのロールをご覧ください。
アクセス制御の要件に応じて、次のいずれかのガイドでポリシーの構成に関する詳細な手順をご覧ください。
- ユーザー ID で行をフィルタリングする: ユーザーが部門や地域などの属性に基づいてクエリできる行を制限するには、BigQuery 行レベルのセキュリティの概要をご覧ください。
- 特定の列へのアクセスをブロックする: 承認されていないユーザーが機密性の高い列を完全にクエリできないようにするには、列レベルのアクセス制御によるアクセス制限をご覧ください。
- クエリ中に列値を難読化する: ユーザーがセンシティブ データ(メールアドレスなど)をマスクしながらテーブルをクエリできるようにするには、列データをマスクするをご覧ください。
データ ガバナンス タグとポリシータグ
データ ガバナンス タグとポリシータグを使用すると、列を分類し、BigQuery リソース全体にアクセス制御を適用できます。
セキュリティ センターでタグを管理するには:
Google Cloud コンソールで、[BigQuery] ページに移動します。
ナビゲーション メニューで [ガバナンス] をクリックし、[セキュリティ センター] をクリックします。
管理するタグの種類に応じて、次のいずれかのタブを選択します。
- データ ガバナンス タグ: [データ ガバナンス タグ] タブをクリックして、Resource Manager タグキー(
purpose=DATA_GOVERNANCEを使用)を作成し、階層タグ値(プレビュー)を定義します。アクセス権限を構成するには、[アクセスを管理] をクリックします。 - ポリシータグ: [ポリシータグ] タブをクリックし、[分類を作成] をクリックして、Data Catalog 分類と階層型ポリシータグを作成します。アクセス権限を構成するには、権限パネルを使用します。
- データ ガバナンス タグ: [データ ガバナンス タグ] タブをクリックして、Resource Manager タグキー(
タグキーまたは分類を作成したら、タグをテーブルの列に適用して、列レベルのアクセス制御とデータ マスキングを適用します。
- データ ガバナンス タグ: Resource Manager を使用して列にデータ ガバナンス タグを適用し、データポリシーを適用するには、データ ガバナンス タグを使用して列へのアクセスを制御するをご覧ください。
- Data Catalog ポリシータグ: 分類階層のポリシータグをテーブル スキーマに関連付けてアクセス制御を管理するには、列レベルのアクセス制御を設定するをご覧ください。
次のステップ
- BigQuery のデータ ガバナンスについて詳細を確認する。
- 行レベルのセキュリティを使用してアクセスを制限する方法を確認する。
- 列レベルのアクセス制御を使用してアクセスを制限する方法を確認する。
- ポリシータグを使用して列データをマスクする方法を確認する。
- データ ガバナンス タグを使用して列へのアクセスを制御する方法を学習する。