組織は、主要なビジネス・プロセスやワークフローを自動化するために、人間以外のアイデンティティーを使用することが増えています。これらのアイデンティティーには、サービス・アカウント、継続的インテグレーションと継続的デリバリー(CI/CD)パイプライン、コンテナ、マイクロサービス、オーケストレーションツールが含まれます。また、ロボティック・プロセス・オートメーション(RPA)—人間の行動を模倣するソフトウェア・ボット—最近ではAIエージェントが含まれていることがあります。
人間のユーザーと同様に、人間以外のエンティティーがシステムやサービスを認証し、組織のリソースにアクセスするためには、認証情報、つまり「シークレット」が必要であり、多くの場合、昇格された特権が必要です。例えば、自動バックアッププロセスによって機密ファイルが読み取られ、システム設定が変更される場合があります。
ハッカーにとって、こうした特権を持つ非人間アカウントは、非常に価値の高い標的となります。これらは脅威アクターがアクセス権を悪用してデータを盗み、重要なシステムを損傷させつつ、検知を回避することを可能にします。IBM X-Force脅威インテリジェンス・インデックスによると、有効なアカウントのハイジャックは2番目に多いサイバー攻撃ベクトルであり、X-Forceが昨年対応したすべてのインシデントの32%を占めています。
シークレット管理システムは、これらのサイバー脅威に対抗するのに役立ち、非人間アイデンティティーがITリソースにアクセスするために使用するシークレットを組織が作成、制御、保護できるようにします。シークレット管理ツールを使用すると、ITチームは人間以外の認証情報をライフサイクル全体にわたって保護し、自動化されたワークフローを合理化すると同時に、データ侵害、改ざん、盗難、その他の不正アクセスを防ぐことができます。
シークレットとは、アプリケーションまたはサービス内に含まれるデジタル資格情報であり、非人間ユーザーがサービス、データベース、アプリケーション、またはその他のITリソースと通信したり、アクションを実行したりすることを可能にします。シークレットは、承認されたユーザーのみが機密データやシステムにアクセスできるようにすることで、組織のセキュリティー体制を強化するのに役立ちます。
シークレットの例には以下が含まれますが、これらに限定されません。
AI、サイバーセキュリティ、データ、自動化に関する厳選されたニュースをThinkニュースレターで購読しているセキュリティリーダーに加わりましょう。専門家によるチュートリアルと解説をメールで直接配信することで、手軽に学ぶことができます。IBMプライバシー・ステートメントをご覧ください。
シークレット管理は、組織が機密認証情報やパスワード、APIキー、トークンなどのその他のシークレットを安全に保存、制御、ローテーションできるようにする重要なセキュリティー・ソリューションです。
これは特権アクセス管理(PAM)の4つの中核機能の1つで、特権アカウントとユーザーの安全確保に重点を置くIDおよびアクセス管理(IAM)のサブセットです。
PAMの他の3つの機能は、次のとおりです。
シークレット管理は、自動化された継続的なソフトウェア開発と配信を重視するDevOps方法論にとって重要です。
DevOpsチームは、デジタル・エコシステム、ワークフロー、エンドポイント全体を管理するために、複数の構成管理ツールやオーケストレーションツールを使用することが多いです。ツールでは多くの場合、開始するためにシークレットへのアクセスを必要とする自動化とスクリプトが使用されます。エンタープライズ・グレードのシークレット管理サービスがなければ、シークレットを無計画に使用するとシステムの脆弱性が増大する可能性があります。
多くの組織では、シークレット管理機能をCI/CDパイプラインに統合しています。これにより、開発者、ツール、自動化プロセスなど、すべての可動部分が、必要なときに必要な機密システムに安全にアクセスできるようになります。
シークレット管理は、DevOpsライフサイクル全体にわたってセキュリティーを継続的に統合および自動化するDevOps方法論の進化形であるDevSecOpsのコア・コンポーネントと見なされています。
シークレット管理プロセスは通常、シークレット管理ツールに依存します。これらのツールは、オンプレミスまたはクラウド・サービスとしてデプロイでき、シークレットの作成、使用、ローテーション、保護を一元化、自動化、合理化するのに役立ちます。
商用およびオープンソースのシークレット管理ソリューションが利用可能です。オープンソースの選択肢にはInfisicalがあり、商用オプションにはCyberArk Conjur(こちらもオープンソース版があります)やHashiCorp Vault(IBM傘下のHashiCorp社製)があります。
シークレット管理ツールの一般的な機能には次のようなものがあります。
エンタープライズ・グレードのシークレット管理サービスを使用すると、組織は複数の種類のシークレットを単一の画面で管理できます。
シークレット管理ソリューションでは、個々のユーザーに小さなサイロでシークレットを管理させるのではなく、「シークレット・ボールト」と呼ばれる安全な中央の場所にシークレットを保存できます。
承認されたユーザーが機密システムにアクセスする必要がある場合、ボールトから対応するシークレットを取得できます。シークレット管理ツールは、要求を自動的に検証および承認し、ワークフローの認証に必要なシークレットを公開できます。
標準化はシークレットの拡散を防ぐのに役立ちます。シークレットの無秩序な拡散とは、シークレットが組織全体のさまざまな場所に保存され、多くの場合、アプリケーションにハードコードされていたり、共有ドキュメント内のプレーンテキストとして保存されている状態です。シークレットが拡散されると、悪意のある行為者からシークレットを保護したり、シークレットがどのように使用されているかを追跡したりすることが難しくなります。
Secrets Managerで作成されるシークレットは、静的または動的のいずれかになります。静的シークレットは、通常は手動で変更されるか、事前に設定された有効期限に達するまで、長期間有効なままになるシークレットです。
対照的に、動的シークレットは、必要なときにSecrets Managerによってオンデマンドで作成されます。動的シークレットはかなり早く期限切れになります。使い捨ての場合もあります。
動的シークレットのユースケースは、データベースやAWSやMicrosoft Azureのようなクラウド環境など、機密性の高いリソースを保護することで、そのリソースが読み込まれたりアクセスされたりするたびにAPIキーを動的に生成することです。これにより、悪意のある人物がAPIキーを盗んで再利用できないことが保証されます。
多くのSecrets Managerは、シークレットのローテーション、つまりシークレットを定期的に変更する操作を自動化することもできます。シークレットのローテーションは、アプリケーションを再展開したり中断したりすることなく、スケジュールどおりに、またはオンデマンドで自動化できます。シークレットの作成時に、シークレットの有効期間(TTL)またはリース期間を定義して、シークレットが存在する時間を短縮することができます。
アクセスを整理して制限するために、特定のエンティティまたはグループにのみシークレットを付与できます。シークレットへのアクセスは、多くの場合、最小権限の原則を使用して許可されます。つまり、各プロセスには、タスクを実行するために必要な最も制限された権限セットのみが付与されます。ユーザーは、承認されたタスクを実行するために必要なシークレットにのみアクセスできます。
決して信用せず、常に検証する」ゼロトラスト・アーキテクチャーは、多くの場合、秘密管理システムへのアクセスを管理します。これにより、たとえネットワーク内部から送信されたとしても、シークレットに対するすべてのリクエストが確実に認証および承認されます。
多くのシークレットマネージャーは、ユーザーやアプリケーションがシークレットとどのようにやり取りして使用するかを追跡し、シークレットがライフサイクル全体を通じて適切に処理されていることを確認することができます。これにより、組織はシークレットマネージャーへの認証や認可を含む、シークレット・アクセス・イベントをほぼリアルタイムで監視できるようになります。
シークレットマネージャーは、シークレットを表示または使用する不正な試みを迅速に拒否し、必要に応じてアクセスを取り消すことができます。これにより、ハッカー、内部脅威、その他の悪質な行為者が損害を与える前に、迅速な修復を行うことができます。
強力なシークレット・オートメーション・ツールは、ユーザー認証とシークレット・アクセス・イベントを追跡する詳細な監査ログを保持します。
組織が動的なシークレット自動化ツールを使用し始めると、多くの場合、シークレットの監視がはるかに簡単に実現できるようになります。これらの詳細な監査証跡は、承認されたシークレットの使用の検証や、潜在的な脅威の検知と追跡に役立ちます。
多くの組織は、シークレット管理ソリューションを使用するだけでなく、シークレット管理プロセスにおいて共通のコアプラクティスに従っています。こうしたプラクティスには、次のようなものがあります。
ITエコシステムが複雑になるにつれて、シークレット管理を効果的に制御することがますます困難になります。一般的なシークレット管理の課題には次のようなものがあります。
管理者、開発者、ユーザーがシークレットを個別に管理する分散型エコシステムでは、セキュリティー対策の不備やシークレットの使用が適切に監視または監査されないことがあり、リスクが生じる可能性があります。
一元化されたシークレット管理ソリューションにより、組織はシークレットをより詳細に把握し、制御できるようになります。
パスワードやその他のシークレットがソース・コードやスクリプトにプレーン・テキストとして埋め込まれている場合、攻撃者はそれを簡単に発見し、機密情報にアクセスすることができます。
ハードコードされたシークレットは、モノのインターネット(IoT)デバイス、Kubernetesなどのコンテナ・オーケストレーション・プラットフォーム、アプリケーション・サーバー、脆弱性スキャナー、ロボティック・プロセス・オートメーション(RPA)プラットフォームなど、さまざまな場所に表示される可能性があります。
シークレットを定期的にローテーションすると盗難や悪用を防ぐのに役立ちますが、シークレット管理システムがなければローテーションに一貫性がなかったり、効果がなかったりする可能性があります。シークレットが長期間変更されないままになっていると、ハッカーが試行錯誤や総当たり攻撃によってそのシークレットを解読できる可能性があります。
パスワードの使用期間が長くなるほど、アクセスできるユーザーが増え、漏洩の可能性が高くなります。
ITシステムの拡大により、システムの多くのサイロ化された部分にシークレットが分散され、シークレットが無秩序に拡散する可能性があります。シークレット情報の拡散は、組織が複数のクラウド・プロバイダーによって提供されるパブリック環境とプライベートクラウド環境を混在させるハイブリッド・マルチクラウド・エコシステムでは特に懸念される可能性があります。
組織は、クラウドネイティブ・アプリケーション、コンテナ、マイクロサービス、その他のITリソース全体にわたって、数千、数百万ものシークレットを保有している可能性があります。この無秩序な拡大により、セキュリティー上の大きな負担が生じ、潜在的な攻撃対象領域が拡大します。
サービス全体で可視性が制限される可能性があり、手動で追跡したり、異なるシステムで追跡したりすると、シークレットの管理がすぐに扱いにくくなる可能性があります。一元化されたシークレット管理サービスがないと、適切なシークレット管理を実施することが困難または不可能になる可能性があります。
組織にシークレット管理システムがない場合、シークレットはEメールやテキストなどを通じて手動で共有される可能性があり、脅威アクターがそれを傍受する可能性があります。