シークレット管理とは何ですか?

スマートフォンを持っている人

IBM、ハイブリッドクラウドのイノベーションを推進するHashiCorp社を買収

マルチクラウド環境における自動化とセキュリティを加速。

詳細はこちら

共同執筆者

James Holdsworth

Content Writer

Matthew Kosinski

Staff Editor

IBM Think

シークレット管理とは何ですか?

シークレット管理とは、アプリケーション、サーバー、ワークロードなどのロボット・ユーザーの資格情報(証明書、キー、パスワード、トークンなど)を保護することです。

今日の組織は、ロボティック・プロセス・オートメーション(RPA)や、最近ではAI エージェントAI アシスタントなどのツールを使用して、多くの重要なビジネス・プロセスとワークフローを自動化しています。人間のユーザーと同様に、これらのロボット・ユーザーは、組織のリソースにアクセスするために資格情報(多くの場合「シークレット」と呼ばれます)を必要とします。

ロボット・ユーザーは、タスクを完了するために昇格された権限を必要とすることがよくあります。例えば、自動バックアップ・プロセスでは、機密ファイルやシステム設定にアクセスできる可能性があります。

これらの特権を付与されたロボット・アカウントは、ハッカーにとって価値の高いターゲットであり、ハッカーはそのアクセス権を悪用して、検知を逃れながらデータを盗んだり、重要なシステムに損害を与えたりすることができます。実際、IBM®X-Force 脅威インテリジェンス・インデックスでは、有効なアカウントの乗っ取りは、今日で最も一般的なサイバー攻撃手段となっています。こうした攻撃は、X-Forceが最近対応したすべてのインシデントの30%を占めています。

シークレット管理システムとプロセスにより、組織は、ロボットがITリソースにアクセスするために使用するシークレットを作成、制御、保護できます。シークレット管理ツールを使用して、エンドツーエンドのライフサイクル全体にわたってロボットの認証情報を管理および保護することで、組織は自動化されたワークフローを合理化し、同時にデータ侵害、改ざん、盗難、その他の不正アクセスを防ぐことができます。

シークレットとは

シークレットとは、アプリケーションまたはサービス内に含まれるデジタル資格情報であり、ロボット・ユーザーがサービス、データベース、アプリケーション、またはその他のITリソースと通信したり、アクションを実行したりすることを可能にします。シークレットは、承認されたユーザーのみが機密データやシステムにアクセスできるようにすることで、組織のセキュリティー体制を強化するのに役立ちます。

シークレットの例には以下が含まれますが、これらに限定されません。

  • サービス・アカウントの資格情報: サービス・アカウントを使用すると、アプリや自動化されたワークフローがオペレーティング・システムと対話できるようになります。サービス・アカウントの認証情報には、パスワード、セキュリティー・トークン、Kerberosチケット、その他のシークレットが含まれます。

  • APIキー:APIキーを使用すると、ユーザー、アプリケーション、サービスが アプリケーション・プログラミング・インターフェース(API)に照らして自身を検証できます。

  • 暗号化キー: 暗号化キーを使用すると、ユーザーはデータを暗号化および復号化できます。

  • 認証トークンと承認トークン: OAuthプロトコルで使用されるトークンなどは、ユーザーのIDを確認し、ユーザーがアクセスできる特定のリソースを決定できる情報です。

  • SSH(Secure Shell)キー:SSHキーは、SSHサーバーが 公開キー暗号化 を通じてユーザーまたはデバイスを識別するために使用されます。

  • SSL/TLS 証明書:Secure Sockets Layer/Transport Layer Security(SSL/TLS)プロトコルを使用してサーバーとクライアント間のプライベート通信を確立するために使用できるデジタル証明書。

  • 任意のシークレット: アプリケーションまたはリソースへのアクセスに使用できるあらゆる種類の構造化または非構造化データを含む機密データ。

  • その他のシークレット・キー:これらには、公開キー・インフラストラクチャー(PKI) 証明書、ハッシュベースのメッセージ認証コード(HMAC)キー、署名キーが含まれます。
ニュースレターを表示しているスマホの画面

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

シークレット管理が重要な理由

エンタープライズ・グレードのシークレット管理ツールは、組織が個人を特定できる情報(PII)などの機密データやシステムへの不正アクセスや不正使用を検出、防止、修復するのに役立ちます。組織は、データ侵害やデータ盗難のリスクを軽減し、貴重なデータの損失、罰金の可能性、評判の低下を回避できます。

シークレット管理は、特権アカウントとユーザーのセキュリティー保護に重点を置いたIDおよびアクセス管理(IAM)のサブセットである 特権アクセス管理(PAM)の柱の1つです。

PAMの他の3つの柱は次のとおりです。

  • 特権アカウントおよびセッション管理(PASM) は、アカウントのライフサイクル管理、パスワード管理、セッション監視を処理します。

  • 権限の昇格と委任の管理(PEDM)は、特権アクセス要求を自動的に評価、承認、拒否します。

  • クラウド・インフラストラクチャー権限管理(CIEM) は、クラウド・コンピューティング環境におけるIAMプロセスを監視します。

シークレット管理は、自動化された継続的なソフトウェア配信を重視するDevOps方法論にとって重要です。

DevOpsチームは、デジタル・エコシステム、ワークフロー、エンドポイント全体を管理するために、複数の構成ツールやオーケストレーション・ツールを使用することが多いです。ツールでは多くの場合、開始するためにシークレットへのアクセスを必要とする自動化とスクリプトが使用されます。エンタープライズ・グレードのシークレット管理サービスがなければ、シークレットを無計画に使用するとシステムの脆弱性が増大する可能性があります。

多くの組織では、シークレット管理機能を継続的インテグレーションおよび 継続的デリバリー・パイプライン、つまりCI/CDパイプラインに統合しています。これにより、開発者、ツール、自動化プロセスなど、すべての可動部分が、必要なときに必要な機密システムに安全にアクセスできるようになります。

シークレット管理は、DevOpsライフサイクル全体にわたってセキュリティーを継続的に統合および自動化するDevOps方法論の進化形であるDevSecOpsのコア・コンポーネントと見なされています。

オフィスでミーティングをするビジネスチーム

IBMお客様事例

お客様のビジネス課題(顧客満足度の向上、営業力強化、コスト削減、業務改善、セキュリティー強化、システム運用管理の改善、グローバル展開、社会貢献など)を解決した多岐にわたる事例のご紹介です。

シークレット管理の仕組み

シークレット管理プロセスは通常、シークレット管理ツールに依存します。これらのツールは、オンプレミスまたはクラウド配信サービスとして導入でき、シークレットの作成、使用、ローテーション、保護を一元化、自動化、合理化するのに役立ちます。

シークレット管理ツールの一般的な機能には次のようなものがあります。

  • 集中化および標準化されたシークレット管理
  • 動的なシークレットの作成と自動シークレット・ローテーション
  • アクセス制御
  • アクティビティーの監視と監査

集中化および標準化されたシークレット管理

エンタープライズ・グレードのシークレット管理サービスを使用すると、組織は複数の種類のシークレットを単一の画面で管理できます。

シークレット管理ソリューションでは、個々のユーザーに小さなサイロでシークレットを管理させるのではなく、「シークレット・ボールト」と呼ばれる安全な中央の場所にシークレットを保存できます。

承認されたユーザーが機密システムにアクセスする必要がある場合、ボールトから対応するシークレットを取得できます。シークレット管理ツールは、ワークフローを実行するために必要な権限をユーザーに対して自動的に検証、承認、付与できます。

標準化はシークレットの拡散を防ぐのに役立ちます。シークレットの無秩序な拡散とは、シークレットが組織全体のさまざまな場所に保存され、多くの場合、アプリケーションにハードコードされていたり、共有ドキュメント内のプレーンテキストとして保存されている状態です。シークレットが拡散されると、悪意のある行為者からシークレットを保護したり、シークレットがどのように使用されているかを追跡したりすることが難しくなります。

動的なシークレットの作成と自動シークレット・ローテーション

Secrets Managerで作成されるシークレットは、静的または動的のいずれかになります。静的シークレットは、通常は手動で変更されるか、事前に設定された有効期限に達するまで、長期間有効なままになるシークレットです。

対照的に、動的シークレットは、必要なときにSecrets Managerによってオンデマンドで作成されます。動的シークレットはかなり早く期限切れになります。使い捨ての場合もあります。

動的シークレットのユースケースとしては、リソースが読み取られたりアクセスされたりするたびにAPIキーを動的に生成して機密リソースを保護することが挙げられます。これにより、悪意のある人物がAPIキーを盗んで再利用できないことが保証されます。

多くのSecrets Managerは、シークレットのローテーション、つまりシークレットを定期的に変更する操作を自動化することもできます。シークレットのローテーションは、アプリケーションを再展開したり中断したりすることなく、スケジュールどおりに、またはオンデマンドで自動化できます。シークレットの作成時に、シークレットの有効期間(TTL)またはリース期間を定義して、シークレットが存在する時間を短縮することができます。

アクセス制御

アクセスを整理して制限するために、特定のエンティティまたはグループにのみシークレットを付与できます。シークレットへのアクセスは、多くの場合、最小権限の原則を使用して許可されます。つまり、各プロセスには、タスクを実行するために必要な最も制限された権限セットのみが付与されます。ユーザーは、承認されたタスクを実行するために必要なシークレットにのみアクセスできます。

アクティビティーの監視と監査

多くのSecrets Managerは、ユーザーとアプリケーションがシークレットとどのようにやり取りし、使用するかを追跡して、シークレットがライフサイクル全体を通じて適切に処理されていることを確認できます。これにより、組織は認証と承認をリアルタイムでエンドツーエンドで監視できるようになります。

Secrets Managerは、シークレットの閲覧や使用を不正に試みたことを迅速に特定し、アクセスを遮断することで、ハッカー内部脅威、その他の悪意のある行為者を阻止できます。

一般的なシークレット管理手法

多くの組織は、シークレット管理ソリューションを使用するだけでなく、シークレット管理プロセスにおいて共通のコアプラクティスに従っています。こうしたプラクティスには、次のようなものがあります。

  • シークレットは、開発環境、テスト環境、本番環境など、サービスがデプロイされる環境で生成され、保存されます。組織によっては、環境ごとに異なるシークレット管理ツールを使用するものもあります。他の企業では、1つの中央ソリューションを使用し、各環境のシークレットを専用のセグメントに分離しています。シークレットは環境外に漏れることはなく、厳格なアクセス制御手段によって保護されます。

  • シークレットへのユーザー・アクセスは、ユーザーが責任を果たすために必要な最小限のレベルで許可されます。意図的かどうかに関わらず、過剰な権限付与はデータ侵害につながる可能性があります。

  • シークレットはシステム要件に従って定期的にローテーションされます。

  • ユーザーは、ソース・コード、構成ファイル、またはドキュメントにシークレットを保存しません。

  • すべての機密データの暗号化を要求することで、セキュリティー・ポリシーを強化できます。暗号化キーは、キー管理サービス(KMS) で保護できます。

  • 組織は継続的にシークレットを監視し、監査ログですべてのリクエストを追跡します。リクエストには、誰がシークレットを要求したか、どのシステムに対して要求されたか、リクエストが成功したかどうか、シークレットがいつ使用されたか、いつ有効期限が切れたか、シークレットが更新されたか、その場合はいつかが含まれます。異常は直ちに調査されます。

シークレット管理の課題

ITエコシステムが複雑になるにつれて、シークレット管理を効果的に制御することがますます困難になります。一般的なシークレット管理の課題には次のようなものがあります。

分散型シークレット管理

管理者、開発者、ユーザーがシークレットを個別に管理する分散型エコシステムでは、セキュリティー対策の不備やシークレットの使用が適切に監視または監査されないことがあり、リスクが生じる可能性があります。

一元化されたシークレット管理ソリューションにより、組織はシークレットをより詳細に把握し、制御できるようになります。

ハードコードされた認証情報

パスワードやその他のシークレットがソース・コードやスクリプトにプレーン・テキストとして埋め込まれている場合、攻撃者はそれを簡単に発見し、機密情報にアクセスすることができます。

ハードコードされたシークレットは、CI/CD ツールチェーンモノのインターネット(IoT) デバイス、Kubernetes などのコンテナ・オーケストレーション・プラットフォーム、アプリケーション・サーバー、脆弱性スキャナー、ロボティック・プロセス・オートメーション(RPA) プラットフォームなど、さまざまな場所に表示される可能性があります。

頻度の低いローテーション

シークレットを定期的にローテーションすると盗難や悪用を防ぐのに役立ちますが、シークレット管理システムがなければローテーションに一貫性がなかったり、効果がなかったりする可能性があります。シークレットが長期間変更されないままになっていると、ハッカーが試行錯誤や総当たり攻撃によってそのシークレットを解読できる可能性があります。

パスワードの使用期間が長くなるほど、アクセスできるユーザーが増え、漏洩の可能性が高くなります。

シークレットのスプロール

ITシステムの拡大により、システムの多くのサイロ化された部分にシークレットが分散され、シークレットが無秩序に拡散する可能性があります。シークレット情報の拡散は、組織が複数のクラウド・プロバイダーによって提供されるパブリック環境とプライベートクラウド環境を混在させるハイブリッド・マルチクラウド・エコシステムでは特に懸念される可能性があります。

組織は、クラウドネイティブ・アプリケーション、コンテナー、マイクロサービス、その他のITリソース全体にわたって、数千、数百万ものシークレットを保有している可能性があります。この無秩序な拡大により、セキュリティー上の大きな負担が生じ、潜在的な攻撃対象領域が拡大します。

サービス全体で可視性が制限される可能性があり、手動で追跡したり、異なるシステムで追跡したりすると、シークレットの管理がすぐに扱いにくくなる可能性があります。一元化されたシークレット管理サービスがないと、適切なシークレット管理を実施することが困難または不可能になる可能性があります。

手動でのシークレットの共有

組織にシークレット管理システムがない場合、シークレットはEメールやテキストなどを通じて手動で共有される可能性があり、脅威の攻撃者がそれを傍受する可能性があります。

関連ソリューション
IBM Cloud Secrets Manager

シークレットを動的に作成し、アプリケーションにリースしながら、単一の場所からアクセスを制御します。 

IBM Cloud Secrets Managerの詳細はこちら
クラウド・コンサルティング・サービス

ビジネスの俊敏性と成長を加速します。 IBMの クラウド・ サービスと コンサルティングを利用して、あらゆるプラットフォーム上のアプリケーションを継続的にモダナイズします。

クラウド・コンサルティング・サービスの詳細はこちら
DevOps ソリューション

強力なDevOpsソフトウェアにより、複数のデバイス、環境、クラウドにわたってセキュリティーが強化されたクラウドネイティブ・アプリケーションを構築、デプロイ、管理します。

DevOpsソリューションの詳細はこちら
次のステップ

シークレットを動的に作成してアプリケーションにリースする方法を学びましょう。そのとき、単一の場所からアクセスを制御します。

IBM Cloud Secrets Managerの詳細はこちら Secrets Managerを試してみる