認証情報の自動検出ツールを導入し、クラウド環境のセキュリティを強化
Google Cloud Japan Team
※この投稿は米国時間 2023 年 12 月 20 日に、Google Cloud blog に投稿されたものの抄訳です。
認証情報を平文で保存すると、組織の安全性が低下します。そのリスクには、脅威アクターを含む、権限のないユーザーに認証情報が公開されることなどが挙げられます。不適切に保護された認証情報は、ログシステムや在庫システムなどのさまざまなシステムで収集、伝播され、広く公開される可能性もあります。
そのため、パスワードや API キーのようなシークレットの使用に暗号化と認証のレイヤを追加する Secret Manager などのツールを使用して、保存されている認証情報を保護することをおすすめします。ただし、ワラの中から針を探すのと同じように、どの認証情報が平文で保存され、公開されているかを正確に判断するのは簡単なことではありません。組織のセキュリティ強化を支援するため、Google はこのたび、環境変数に保存されている平文の認証情報を検索してモニタリングできる Sensitive Data Protection ソリューションのシークレット検出ツールをリリースいたしました(無料)。
公開されたシークレットの検出を支援
シークレットの検出を有効にすると、Sensitive Data Protection によって継続的なモニタリングが行われ、Google Cloud に組み込まれたセキュリティおよびリスク管理ソリューションである Security Command Center に違反が直接報告されます。また、環境変数にシークレットが含まれていないことは、CIS ベンチマークのセキュリティ コンプライアンスと対策レポートの一環としても確認されます。シークレット検出サービスは、プロジェクトまたは組織レベルで有効にすることができ、包括的かつ継続的なカバレッジを提供します。
Google Cloud Functions のランタイム環境変数に、未加工のシークレットが Key-Value ペアとして追加されている例を以下に示します。
この関数の定義、そしてダウンストリームのログまたはメタデータ カタログを読み取るアクセス権を持つユーザーは誰でも、このような公開された認証情報を確認できます。
Sensitive Data Protection がこのような公開された認証情報の証拠を検出すると、次のような脆弱性として Security Command Center に報告されます。
より安全に Functions からシークレットにアクセスする方法
Secret Manager を使用してシークレットを一元管理することで、アクセス制御、監査、アクセスログを容易に管理できます。Functions で API キーやパスワードなどのシークレットに安全にアクセスするには、次の 2 つの方法があります。
- シークレットをボリュームとしてマウントする: これにより、関数でシークレットをファイルとして使用できるようになり、ディスクからファイルが読み取られるたびに Secret Manager からシークレットの値にアクセスできます。常に同じバージョンではなく、最新バージョンのシークレットを参照する場合は、ボリュームとしてマウントすることをおすすめします。
- シークレットを環境変数として「安全に」渡す: これにより、平文値を保存して使用するのではなく Secret Manger による保護を追加し、他の環境変数と同じようにシークレットにアクセスできます。この方法では、シークレットの値はインスタンスの起動時に解決されるため、常に同じバージョンのシークレットを参照する場合に適しています。
次のステップ
コンソール UI で直接シークレット スキャンを有効にすることで、今すぐシークレット検出の使用を開始できます。Sensitive Data Protection とシークレット検出の詳細については、こちらのドキュメントをご覧ください。
この機能は、Sensitive Data Protection の一部として無料でご利用いただけます。Sensitive Data Protection とシークレット検出は、スタンダード ティアとプレミアム ティアの両方で Security Command Center と連携します。Security Command Center のスタンダード ティアは無料でご利用いただけます。
-シニア プロダクト マネージャー Scott Ellis
-プロダクト マネージャー Tim Wingerter