Azure Managed Identities でハードコードされたシークレットに別れを告げる
By Mirko Peters ·
ブログへようこそ!ポッドキャストをお聴きいただいている方はご存じのとおり、私たちはクラウド基盤をより安全で、回復力が高く、管理しやすいものにする方法を常に探っています…
Automatically translated with AI from the original post. Read the English original
ブログへようこそ。ポッドキャストをお聴きいただいている方はご存じのとおり、私たちは常に、クラウド基盤をより安全で、回復力が高く、管理しやすいものにする方法を探っています。今日のデジタル環境において、静的なパスワードやハードコードされた API キーに頼ることは、玄関の鍵を開けたままにして、スペアキーの場所を巨大なネオンサインで示しているようなものです。この投稿では、従来のシークレット管理が世界中の組織で機能しなくなっている理由をさらに掘り下げ、Azure Managed Identities と Azure Key Vault を活用して、真に資格情報を必要としないクラウドアーキテクチャを構築する方法を解説します。
実践的な実装をさらに深く学ぶには、対応するポッドキャストのエピソード Replace Hard-Coded SQL Logins in Azure App Service もぜひお聴きください。それでは、ハードコードされたシークレットからの移行について詳しく見ていきましょう。
パスワードのリスク
一般的な脆弱性
パスワードは、セキュリティシステムに弱点を生むことがよくあります。攻撃者はこれらの弱点を悪用し、不正アクセスを試みます。以下は、従来のパスワード利用に関連する一般的な脆弱性を示した表です。
| 脆弱性の種類 | 説明 |
|---|---|
| 安全性の低いパスワード検証方式 | MD5 のような脆弱なハッシュ関数を使用すると、攻撃者は盗まれたハッシュからパスワードを取り出せてしまいます。 |
| パスワードのセキュリティ施行が不十分 | 脆弱なパスワードや一般的なパスワードを許可すると、アカウントが侵害される可能性が高まります。 |
さらに、脆弱な認証情報は依然として大きな問題です。推測しやすいパスワードは、攻撃者による推測や解読を容易にします。こうした脆弱性は、データとシステムを危険にさらします。
ユーザーの行動
パスワードのセキュリティには、利用者の行動が大きく影響します。多くの人が複数のアカウントで同じパスワードを使い回しています。最近の調査によると、ユーザーの60%から85%がパスワードを使い回しており、広範な侵害のリスクを高めています。
| 出典 | パスワードを使い回している割合 |
|---|---|
| Bitdefender Blog | 60%超 |
| Enzoic Blog | 65% |
| Bitwarden世界パスワードデー調査 | 85% |
| ビジネスジャーナル調査 | 84% |
フィッシング攻撃は、人の心理も悪用します。サイバー犯罪者は、本物に見える偽のメールやメッセージを送り、ログイン情報を入力させようとします。こうした攻撃は信頼できる連絡先を装うことが多く、だまされやすくなります。現在では AI 技術によって、犯罪者はさらに巧妙なフィッシングを作成できるようになっています。
パスワード管理の不備も問題を悪化させます。複雑なパスワードは覚えにくいため、多くの従業員がパスワードを同僚と共有したり、書き留めたりしています。こうした行為が、攻撃者に悪用されるセキュリティの隙を生みます。ヘルプデスクは時間の25%から40%をパスワード関連の問題対応に費やしており、パスワードのリセット1回あたり企業に$17から$70のコストがかかっています。
侵害による損失
パスワード関連の侵害は、企業に多大な損失をもたらします。2024年には、このような侵害による平均的な経済的損失が全世界で約488万ドルに達しました。この数字は前年比10%増加しており、パスワードの失敗がいかに高くつくようになったかを示しています。
金銭的な損失だけでなく、侵害は企業の評判も傷つけます。侵害が公になると、顧客はすぐに信頼を失います。侵害が公表された後、消費者の約3人に1人が取引を停止しています。約85%が悪い体験を他人に共有し、33%はソーシャルメディアに不満を投稿しています。こうした反応は、収益の損失とブランドへの長期的なダメージにつながります。
注: パスワード侵害による金銭的・評判上のコストは、従来のパスワードから脱却してセキュリティを強化する緊急の必要性を浮き彫りにしています。
Azure でパスワードを廃止する
パスワードレスソリューション
Azure は、セキュリティ体制を強化する幅広いパスワードレス認証ソリューションを提供しています。これらのソリューションを活用することで、パスワードを効果的に廃止し、脆弱性を減らすことができます。Azure を通じて利用できる主な選択肢は以下のとおりです。
- Thales FIDO2 セキュリティキー: これらのキーは Azure Active Directory (AD) とシームレスに統合され、パスワードを必要としない、非常に安全な認証方式を提供します。
- Microsoft Entra との統合: この機能は、Microsoft 環境および SaaS アプリケーションへの不正アクセスのリスクを最小限に抑えることで、セキュリティを強化します。
- 実績のあるFIDO2によるフィッシング耐性認証: この方式は Identity and Access Management (IAM) 環境と統合でき、一般的なサイバー脅威から堅牢に保護します。
- パスワードレス認証: この方式は、サイバー攻撃の一般的な侵入経路からの保護に役立ち、システムの回復力を高めます。
こうしたパスワードレスのソリューションを採用すると、セキュリティが強化されるだけでなく、ユーザーのアクセスも効率化されます。チームが効率よく作業しやすくなります。
Azure セキュリティのメリット
Azure のパスワードレス認証への移行には、多くのメリットがあります。主な利点は次のとおりです。
- 脆弱性の排除: パスワードレス認証は、フィッシング、資格情報の使い回し攻撃、総当たり攻撃など、従来のパスワードに伴うリスクを取り除きます。パスワードの代わりに、生体認証、スマートカード、モバイル認証アプリなどのより強固な方式を使用するため、不正アクセスのリスクを大幅に減らせます。
- ゼロトラストセキュリティモデルとの整合: Azure Active Directory のパスワードレスアプローチはゼロトラストセキュリティモデルに沿っており、サイバーセキュリティの体制全体を強化します。
- コンプライアンスと監査のサポート: Azure は堅牢なレポート機能を備えており、コンプライアンスと監査を支援します。これは規制への適合に欠かせません。
- 拡張性と適応性: Azure のパスワードレスソリューションは、既存のシステムや将来の技術と容易に統合できます。急速に変化するデジタル環境でも、組織の俊敏性を維持できます。
Azure のパスワードレスソリューションを採用した組織では、測定可能なセキュリティ上の効果が報告されています。たとえば、資格情報の侵害アラート、フィッシングシミュレーションの失敗率、ヘルプデスクへのパスワードリセット依頼が大幅に減少しています。最近のケーススタディでは、ニュージャージー州司法局がパスワードレス認証を導入した後、技術コストの削減と業務効率化により、推定で 1,070 万ドルの ROI を達成したことが示されています。
Azure のマネージド ID
マネージド ID とは
Azure でアプリケーションやサービスを構築する際、他のリソースへ安全にアクセスする必要がよくあります。従来は、認証にパスワードやシークレットを使うことが一般的でした。しかし、これらのシークレットの管理はリスクが高く、手間もかかります。Azure はマネージド ID でこの課題を解決します。マネージド ID は Azure が作成・管理する特別な ID で、資格情報を保存せずに、アプリケーションが他の Azure サービスに認証できるようにします。つまり、パスワードや API キーといったシークレットを手作業で扱う必要がなくなります。
マネージド ID は、攻撃者に盗まれたり悪用されたりする可能性のある静的な資格情報を排除することで、データセキュリティを高めます。代わりに Azure は短命のアクセストークンを発行し、アプリはそれを使って自身の ID を証明します。トークンは短時間で期限切れになるため、資格情報の再利用の可能性を減らせます。また、マネージド ID はロールベースのアクセス制御(RBAC)と連携するため、アプリに必要なアクセス許可だけを与えられます。これにより、セキュリティ侵害が発生した場合の被害を抑えられます。マネージド ID を使うことで、シークレット管理を簡素化し、機密データが漏えいするリスクを減らせます。
マネージド ID の種類
Azure では、システム割り当てとユーザー割り当ての 2 種類のマネージド ID を提供しています。それぞれの種類は、セキュリティ要件やリソースの管理方法に応じて異なる用途に適しています。
システム割り当て
システム割り当てマネージド ID は、Azure によって自動的に作成・管理されます。仮想マシンや App Service などの Azure リソースで有効にすると、そのリソースに直接紐づく ID が Azure によって作成されます。この ID は、リソースが存在する間だけ有効です。リソースを削除すると、ID も削除されます。この 1 対 1 の関係により、システム割り当て ID は、リソースと運命を共にする ID が必要な場合に最適です。
システム割り当て ID は、Azure ポータルから簡単に構成できます。シークレットや資格情報の管理を気にすることなく、アプリケーションを保護できる簡単な方法です。アプリやサービスが、リソースより長く存続すべきではない専用の ID を必要とする場合に使用してください。
ユーザー割り当て
ユーザー割り当てマネージド ID は、特定のリソースに関係なく独立して作成および管理される点が異なります。ユーザー割り当て ID は、スタンドアロンの Azure リソースとして作成します。その後、この ID を 1 つ以上の Azure サービスに割り当てることができます。つまり、同じ ID を複数のリソースで共有できます。
ユーザー割り当て ID は、それを使用しているリソースを削除しても有効なままです。この機能により、複数のサービスやアプリで一貫したアクセス許可を維持したい場合に最適です。ユーザー割り当て ID は個別に管理するため、ライフサイクルをより細かく制御できます。
システム割り当てマネージド ID とユーザー割り当てマネージド ID の違いを理解するために、比較表を以下に示します。
| 機能 | システム割り当て ID | ユーザー割り当て ID |
|---|---|---|
| 作成 | Azure が作成および管理し、サービス インスタンスのライフサイクルに紐づきます。 | スタンドアロンの Azure リソースとしてユーザーが作成し、複数のサービスに割り当てることができます。 |
| 削除 | 関連付けられたリソースを削除すると、自動的に削除されます。 | 個別に管理され、それを使用しているリソースを削除しても残ります。 |
| 関係 | 1:1 の関係です。1 つの Azure リソースが Azure AD 内の 1 つの ID に対応します。 | 1:N の関係です。1 つの ID を複数の Azure リソースで共有できます。 |
| 構成 | Azure ポータルの [マネージド ID] ブレードから構成します。 | 使用するリソースとは独立して作成および管理します。 |
| 用途 | ID がリソースのライフサイクルと密接に結びついているシナリオに最適です。 | 複数のリソース間で ID を共有する必要があるシナリオに適しています。 |
ヒント: 単一のリソースで使用し、そのリソースと一緒に ID も消えてほしい場合はシステム割り当てマネージド ID を選択してください。同じ ID を複数のリソースで共有する必要がある場合、または ID のライフサイクルを個別に管理したい場合は、ユーザー割り当て ID を選択してください。
Azure でマネージド ID を使用すると、セキュリティ態勢を強化できます。シークレットをコードにハードコードする必要がなくなり、資格情報が漏えいするリスクを減らせます。この方法は、データを保護し、クラウド環境全体で強固なデータセキュリティを維持するのに役立ちます。
マネージド ID のメリット
資格情報を使用しないアクセス
マネージド ID を使用すると、Azure リソースへの資格情報を使用しないアクセスが可能になります。この機能により、パスワードや API キーなどの機密情報をアプリケーションコードに保存する必要がなくなります。マネージド ID を使用することで、セキュリティ態勢を大幅に強化できます。アプリケーションコードから資格情報を排除することによる運用上のメリットは次のとおりです。
| メリット | 説明 |
|---|---|
| セキュリティの強化 | 資格情報の盗難による脆弱性を排除します。トークンは自動的に期限切れになるため、悪用のリスクが低減します。 |
| 運用負荷の軽減 | 資格情報のローテーション スケジュールや緊急時の手順が不要です。ライフサイクルはプラットフォームが管理します。 |
| 開発者の生産性向上 | 認証が簡素化されるため、開発者は資格情報の管理ではなくビジネス ロジックに集中できます。 |
| 監査証跡の明確化 | 認証イベントの詳細なログを取得でき、アクセス要求のコンテキストも含まれます。 |
| コンプライアンス管理の容易化 | きめ細かなアクセス許可と包括的なログにより、コンプライアンス要件への対応を支援します。 |
これらのメリットにより、マネージド ID が運用を効率化しつつデータを安全に保つ仕組みであることがおわかりいただけると思います。
ポリシー駆動型のアクセス
Azure におけるポリシー駆動型のアクセス制御は、セキュリティとコンプライアンスを強化します。この方法では、アクセス ポリシーを体系的に定義して適用できます。ポリシー駆動型のアクセス制御の主なポイントは次のとおりです。
- 最小権限の原則を実装します。これは規制遵守に不可欠です。
- Azure Policy は HIPAA や ISO 27001 などのコンプライアンス標準に準拠しており、自動監査と適用を提供します。
- 自動化により人為的ミスを減らし、セキュリティ ポリシーを一貫して適用できます。
- 条件付きアクセスと多要素認証は、セキュリティとコンプライアンスをさらに強化します。
Azure のコンプライアンス フレームワークは、規制要件を満たすだけでなく、ガバナンス ツールとしても機能します。ベスト プラクティスに沿った強力なポリシーを実装できます。ポリシー駆動型のアクセスを使用することで、誰がリソースにアクセスでき、どのような条件でアクセスできるかを管理し、データを安全に保つことができます。
シークレット用の Azure Key Vault
シークレットの管理
Azure Key Vault は、クラウドアプリケーションのシークレットと機密情報の管理において重要な役割を果たします。このクラウドサービスは、暗号化キー、シークレット、証明書を保護します。暗号化キー、パスワード、接続文字列などの機密情報を安全に保管できます。Azure Key Vault を使用すると、許可されたユーザーとアプリケーションだけが保存されたシークレットにアクセスできます。シークレットの管理に役立つ Azure Key Vault の主な機能は次のとおりです。
- 一元管理: パスワードや API キーなどの機密情報を、1 か所の安全な場所で管理できます。
- キーのライフサイクル管理: Azure Key Vault では、リスクを軽減するためにキーの作成、ローテーション、有効期限の設定を行えます。セキュリティを強化するために、キーの自動ローテーションポリシーを設定することもできます。
- Azure Active Directory との統合: この統合により、適切なアクセス許可を持つユーザーだけがシークレットにアクセスできるようになります。
安全な環境を維持するために、シークレットの保存とローテーションに関して次のベストプラクティスに従ってください。
- ローテーションのスケジュールや有効期限などの管理情報を、タグのメタデータとして保存します。
- シークレットの値は簡潔に保ちます。大きなシークレットは、暗号化したうえで Azure Storage に保存してください。
- シークレットは定期的に、少なくとも 60 日ごとにローテーションしてください。
- Azure Key Vault の組み込み機能を使って、シークレットのローテーションを自動化します。
- すべてのシークレットへのアクセスを監視するために、Key Vault のログ記録を有効にします。
セキュリティ機能
Azure Key Vault には、シークレットを不正アクセスから保護するための強力なセキュリティ機能が備わっています。主な機能は次のとおりです。
| セキュリティ機能 | 説明 |
|---|---|
| アクセス制御の仕組み | マネージド ID ときめ細かな RBAC アクセス許可を利用して、シークレットへのアクセスを制限します。 |
| 安全な保存 | シークレットを保存時と転送時の両方で暗号化します。 |
| ログとアラートによる監視 | ログ記録とアラート機能により、アクセスとアクティビティを監視します。 |
| 論理削除と消去保護 | シークレットの誤削除や悪意のある削除を防ぎます。 |
| 脅威の検出 | Microsoft Defender for Key Vault を使用して脅威を検出します。 |
これらの機能により、許可された担当者だけが機密情報にアクセスできるようになり、データセキュリティが強化されます。Azure Key Vault は、その他の Azure セキュリティサービスとも統合されており、シークレットの一元的な配布と監視によってセキュリティを高めます。Azure Key Vault を使用すると、データを効果的に保護しながら、Azure のコンプライアンス基準への準拠を維持できます。
Azure のセキュリティの実装
移行手順
Azure でパスワードレス認証に移行するには、慎重な計画と実行が必要です。スムーズに移行するために、次の手順に従ってください。
- ハードウェアキーの登録: まず、ユーザーに FIDO2 セキュリティキーを登録します。この手順がパスワードレスアクセスの基盤になります。
- 登録状況の監視: Azure AD ポータルを使用して、ユーザーの登録状況を追跡します。この監視により、移行が完了したユーザーを把握できます。
- ユーザーへの周知とトレーニング: 詳しいセットアップ手順とサポートを提供します。新しいパスワードレスの方式を反映するように、IT ポリシーを更新してください。
- パスワードレス認証の管理: サインイン ログを定期的に確認し、必要に応じてポリシーを調整します。セキュリティレポートを監査すると、全体を適切に把握し続けられます。
- ベストプラクティスに従う: 移行について早い段階で周知し、パイロットグループから開始して、ユーザーの採用を促進します。また、Microsoft Entra の機能強化に関する情報を常に把握しておいてください。
これらの手順に従うことで、パスワードレスソリューションを効果的に実装し、組織のセキュリティ態勢を強化できます。
ベストプラクティス
パスワードレス認証を採用した後も、Azure 環境のセキュリティを維持することが重要です。検討すべきベストプラクティスは次のとおりです。
- 多要素認証 (MFA) の有効化: MFA を追加すると、セキュリティの層が 1 つ増えます。複数の方法で本人確認を行う必要があるため、不正アクセスのリスクを減らせます。
- 条件付きアクセス ポリシーの使用: ユーザーの役割やデバイスの正常性など、特定の条件に基づいてアクセス制御を実装します。この方法により、許可されたユーザーだけが機密データにアクセスできるようになります。
- ログの定期的な監視と監査: 継続的な監視により、不審なアクティビティを特定できます。ログを定期的に監査すると、潜在的な脅威を発見し、適切なタイミングで対応できます。
さらに、パスワードレスソリューションの実装中に、組織が課題に直面することもあります。よくある課題は次のとおりです。
| 課題 | 説明 |
|---|---|
| ユーザーの作成 | パスワードを使わずに Azure AD ユーザーを直接作成するのは複雑で、回避策が必要になる場合があります。 |
| ハードウェアキーの配布 | 大規模な企業では、YubiKey などのハードウェアキーを配布する作業が物流面で大きな負担になることがあります。 |
| オンボーディングのセキュリティ | 一時アクセス パス (TAP) に頼らずにユーザーをオンボーディングすると、セキュリティ上の課題が生じます。 |
| デバイスの準備 | パスワードレス認証に向けてデバイスを準備すると、導入プロセスがさらに複雑になります。 |
| ユーザーのライフサイクル管理 | パスワードレス環境でユーザーのライフサイクル プロセスを管理すると、運用上の課題が生じます。 |
これらの課題に対処し、ベスト プラクティスに従うことで、Azure のセキュリティを強化し、パスワードレス認証への移行を確実に成功させることができます。
Azure のパスワードレス認証方式を採用すると、セキュリティが大幅に向上し、リスクを低減できます。重要なポイントは次のとおりです。
- パスワードレス ソリューションは、パスワードを覚えるのが難しいユーザーにとって、利便性の向上につながります。
- セキュリティ全体を強化しながら、組織が規制基準に準拠するのにも役立ちます。
- ユーザー グループごとに適切な認証方式を選ぶことで、利便性とセキュリティのバランスを取ることができます。
Azure のパスワードレス ソリューションを実装すると、パスワードやシークレットを管理する必要がなくなります。このアプローチにより、侵害の可能性が抑えられ、認証プロセスも簡素化されます。結果として、パスワードレス環境への移行はセキュリティ体制を強化し、機密データを保護することにつながります。
これらの概念が実際の本番環境でどのように組み合わさるのかを実例で知りたい方は、ポッドキャストのエピソード Replace Hard-Coded SQL Logins in Azure App Service をご覧ください。こうした最新の ID パターンを導入すれば、時間とコストを節約でき、セキュリティ上の多くの頭痛の種も減らせるはずです。
よくある質問
パスワードレス認証とは何ですか?
パスワードレス認証では、従来のパスワードを使わずにシステムにアクセスできます。代わりに、生体認証、セキュリティ キー、モバイル認証アプリなどの方式を使って、安全に本人確認を行います。
Azure のパスワードレス ソリューションは、どのようにセキュリティを強化しますか?
Azure では、FIDO2 セキュリティ キーや Microsoft Entra との連携など、さまざまなパスワードレスのオプションを提供しています。これらのソリューションは脆弱性を減らし、ユーザーのアクセスを効率化して、全体のセキュリティを強化します。
Azure のマネージド ID とは何ですか?
マネージド ID は、Azure によって作成される特別な ID です。資格情報を保存せずに、アプリケーションが他の Azure サービスに対して認証を行えるようにします。これによりセキュリティが向上し、シークレットの管理も簡素化されます。
Azure Key Vault を使用するメリットは何ですか?
Azure Key Vault は、パスワードや API キーなどの機密情報を安全に管理します。一元管理、キーのライフサイクル管理、堅牢なアクセス制御を提供し、許可されたユーザーだけがシークレットにアクセスできるようにします。
Azure でパスワードレス認証へ移行するには、どうすればよいですか?
移行するには、ハードウェアキーを登録し、ユーザーの登録状況を監視し、変更内容を周知し、認証ポリシーを管理します。ベスト プラクティスに従えば、スムーズな導入につながります。
パスワードレス ソリューションを導入する際、どのような課題が想定されますか?
主な課題としては、パスワードなしでのユーザー作成、ハードウェアキーの配布、オンボーディングのセキュリティ、ユーザーのライフサイクル管理が挙げられます。これらの問題に早い段階から対処しておくと、移行をスムーズに進めやすくなります。
Azure のポリシー ドリブンのアクセス制御は、どのように機能しますか?
ポリシー ドリブンのアクセス制御では、アクセス ポリシーを定義し、体系的に適用できます。このアプローチにより、許可されたユーザーだけがリソースにアクセスできるようになり、セキュリティとコンプライアンスが強化されます。
なぜパスワードの利用を見直すべきなのでしょうか?
パスワードから離れると、弱い資格情報や盗まれた資格情報が原因の侵害リスクを減らせます。パスワードレス ソリューションはセキュリティを高めるとともに、ユーザー エクスペリエンスを改善し、認証プロセスを簡素化します。