このページでは、Cloud Asset Inventory を使用してシークレットをモニタリングし、分析用のデータをエクスポートして、必要な分析情報を取得するための強力なクエリを実行する方法について説明します。
概要
Cloud Asset Inventory は、 Google Cloud 環境を分析し、仮想マシン、データベース、ストレージ バケットなどのクラウド リソースの変更を記録します。このコンテキストでは、Secret Manager シークレットの変更も記録します。Secret Manager と Cloud Asset Inventory の統合により、次のことが可能になります。
-
クエリを実行する: 特定のシークレットを検索したり、シークレット全体のパターンを特定したりします。
-
アラートを設定する: シークレットの作成、変更、削除などの特定のイベントが発生したときに Pub/Sub に通知を送信するように Cloud Asset Inventory を構成します。
-
データのエクスポート: 詳細な分析とレポート作成のために、シークレット インベントリを BigQuery にエクスポートします。
-
シークレットの管理と分析: プロジェクトと組織全体のすべてのシークレットを 1 か所で確認し、構成ミスの可能性があるシークレットや組織のセキュリティ ポリシーに違反している可能性があるシークレットを特定します。たとえば、定期的にローテーションされていないシークレットや、適切なアクセス制御が設定されていないシークレットを見つけることができます。
これは、Secret Manager ユーザー向けの高度なタスクです。このページを読む前に、次のことを読んでおくことをおすすめします。
-
Secret Manager の概要 Secret Manager の主なコンセプトと機能を理解する
-
Cloud Asset Inventory の概要 Cloud Asset Inventory を理解し、その包括的なアセット管理機能を確認する
Secret Manager のクエリ
SQL に似たクエリでシークレットを分析するには、シークレットとシークレット バージョンを BigQuery にエクスポートすることをおすすめします。Secret Manager は、アセット検索または Policy Analyzer と統合されていません。これらのクエリでは、Google Cloud CLI と BigQuery を使用してアセットを検索します。
制限事項
Cloud Asset Inventory を使用して Secret Manager リソースを分析する場合、次の制限事項があります。
-
Cloud Asset Inventory では、過去 5 週間のみのスナップショットのエクスポートと一覧表示がサポートされています。
アセットの変更をモニタリングする
Cloud Asset Inventory はリアルタイムの更新を追跡し、これらの変更のモニタリングをサポートします。リソースが変更されるたびに、一連の構成された Pub/Sub トピックに通知を送信するようにフィードを構成できます。また、Cloud Asset Inventory はフィードで条件の構成をサポートしているため、特定のアセットタイプの特定の変更をモニタリングすることができます。アセットの変更時にワークフローをトリガーする方法については、Pub/Sub のドキュメントをご覧ください。
アセットを BigQuery にエクスポートする
シークレットとシークレット バージョンを BigQuery にエクスポートすると、大量のデータに対して SQL に似たクエリを実行し、アセットに関する有益な分析情報を生成できます。アセットをエクスポートする前に、データセットとサービス アカウントが正しく構成されていることを確認してください。
アセットをエクスポートするには、次のコマンドを実行します。
gcloud
後述のコマンドデータを使用する前に、次のように置き換えます。
- CONTENT_TYPE: アセットのコンテンツ タイプ(
RESOURCE)。 - PROJECT_ID: 分析するシークレットを含むプロジェクトの ID。