Azure AD の耐障害性を高める取り組み

Published: / Last update: / Contributors:
feedback 共有

こんにちは、Azure Identity サポート チームの 高田 です。

本記事は、2022 年 10 月 28 日に米国の Azure Active Directory Identity Blog で公開された Advances in Azure AD resilience を意訳したものになります。


現在、Microsoft Entra に含まれる Azure Active Directory (Azure AD) のようなエンタープライズ レベルのソリューションでは、耐障害性とセキュリティが基本の要件となっています。Microsoft では、Azure AD の耐障害性とエンタープライズ レベルのセキュリティを最も重要視しており、お客様の期待に確実に応えるために継続的に開発を進めています。

弊社では、これまで定期的に耐障害性への投資に関する情報をお届けしてきました。これら一連のお知らせでは当初、99.99% の SLA について説明し、当社の耐障害性のロードマップの 基本原則とアーキテクチャの基礎 を紹介するとともに、システムに組み込まれた完全自動の バックアップ認証サービス など、高度に差別化された耐障害性の機能について紹介してきました。本日は、最新の進捗状況、主な成果、およびさらなる改善のための計画について紹介します。

これまでの成果

弊社の耐障害性に対するアプローチは、複数の階層にまたがるものです。Azure AD サービスは、Microsoft クラウド全体で採用されているエンタープライズ レベルのセキュリティとベストプラクティスに基づいて構築されています。これは、次のことを意味します:

  • このサービスは、VM やネットワーク スイッチからデータセンター全体に至るまで、あらゆる障害に耐えられるよう、何層もの内部冗長性を持つように設計されています。データセンター全体の障害からの復帰を含め、定期的に運用環境でこの点を検証しています。
  • サービスおよび依存関係の全ての場所で単一障害点がないか確認し、それらを取り除くよう継続的に取り組んでいます。外部への依存関係の例として、Azure AD では MFA 用の SMS と音声通知の配信に通信事業者を使用していることがあげられます。メッセージ配信の耐障害性を確保するために、複数の (各国で最大 5 つの) 通信事業者を完全にアクティブ/アクティブな状態で使用しています。
  • すべての変更は、完全に自動化された非常に厳格な Safe Deployment プロセス (SDP) を使用して適用されます。これは、変更に関連して生じる問題をできるだけ早く、理想的にはお客様に影響が及ぶ前に捉え、その影響を食い止めるためのものです。Safe Deployment プロセスには、何層もの内部自動テスト、本番環境へのゆっくりとした段階的ロールアウト、予期せぬ影響をもたらしている変更を自動的に停止しロールバックできるテレメトリ (正常性確認の監視) の層が含まれています。

この 1 年間は、これらの核となる取り組みに加えて、障害耐性を高める層をより厚くするために、以下を実施しました。

  • 潜在的な障害の可能性と影響を低減するためのさらなる取り組み (バックアップ認証システムおよび地域ごとに独立した認証エンドポイントの導入)。
  • 100 以上の区画を持つセルベース アーキテクチャ (障害やサービス劣化の影響範囲を構造的に縮小するよう設計) への移行完了。
  • アプリケーションに耐障害性を持たせるための Continuous Access Evaluation (CAE: 継続的アクセス評価) などの技術を開発し提供。

これらの投資を組み合わせることで、耐障害性の高いコアサービスを提供するとともに、SDK やアプリケーションに組み込まれた耐障害性の層により、他のすべての耐障害性の層に障害が発生しても、影響を受けずに動作を継続することができるように設計されています。

これらの耐障害性機能は、Microsoft のアプリだけでなく、Azure AD と統合する すべての アプリケーションで利用いただけます。お客様のアプリケーションでは Microsoft Authentication Library (MSAL SDK) を活用することで、これらの耐障害性の機能を最大限に活用することが可能です。

以下に、昨年度提供した耐障害性に関する主な技術革新をまとめます。

バックアップ認証システム

航空機のシステムや宇宙船などのミッション クリティカルなシステムには、複数の冗長化されたシステムの概念が長年存在しています。弊社では 1 年以上前に、Azure AD を保護するために、同様のコンセプトであるバックアップ認証サービスを導入しました。

現在、マイクロソフトとサードパーティーのアプリケーションの両方を保護するため、このシステムの運用環境への展開が完了し、稼働状態となっています。万が一、このバックアップ システムが必要になった場合に備えて、全トラフィックの一部を使って常に稼働確認が行われており、Microsoft 社内では定期的にバックアップ システムに通信を切り替えてその効果を測定しています。弊社は、システムが提供する保護領域と、バックアップ認証システムがカバーする認証シナリオの数を常に増やしています。

継続的なアクセス評価 - アプリの継続的な動作にむけて

現在の先進的な認証は、Outlook などのクライアントが、Exchange Online などのリソースに定期的 (通常は 1 時間) にアクセスし、ユーザーのアクセス状態を更新するという仕組みに基づいています。今年初めには、Continuous Access Evaluation (CAE: 継続的アクセス評価) の仕組みを導入し、セキュリティ上のイベントが検出された場合に、Azure AD がプロアクティブかつ即座にアクセスを取り消すことが可能になりました。この技術革新により、セキュリティを向上させると同時に、サポートされるリソースに対しては更新間隔を 1 時間から 24 時間に引き上げることができました。この更新間隔の延長により、既存のセッションは Azure AD のコアサービスにおけるいかなる問題にも影響されることなく、大幅に長く (平均 12 時間もしくは 24 時間のアクセス持続時間の半分) 運用を継続することが可能になりました。

現在、ユーザー セッションの 30% が CAE の強化されたセキュリティと拡張された耐障害性の恩恵を受けています。2023 年中に、さらに多くのリソースを統合して、このカバー率を高める予定です。

セルベースのアーキテクチャ

セルベースのアーキテクチャは、サービスを独立したパーティションに厳格に分離し、あらゆる障害の影響をそのセルの外に及ばせないよう設計されています。これは例えるなら、船において一部が浸水したとしても、浸水が他の区画や船全体の完全性に影響を与えないようになっている隔壁を持つ船のようなものです。Azure AD は昨年、117 のセルに移行し、どのセルもサービス全体のトラフィックの 2% 以上を含まないようになりました。セル自体には、複数のレベルの耐障害性が組み込まれています。例えば、複数の独立した Azure リージョンからのトラフィックを処理し、これまでに解説した耐障害性の原則に完全に則っています。

このように細かい粒度で分離されているため、セル内に存在しているどのテナントも、他のテナントの障害の大部分から非常に強く隔離されていることになります。

地域ごとに分離された認証エンドポイント

Azure AD は、ユーザーのための ID システムであるだけでなく、Azure 上に構築されたアプリやサービスのための ID およびアクセス管理 (IAM) システムでもあります。例えば、Azure AD は、VM 自体がストレージに対して認証するような、すべての基盤の認証に使用されます。このように何重もの耐障害性を確保するために、私たちはほとんどの Azure リージョンで地域ごとに分離された認証エンドポイントを導入しています。地域別エンドポイントは、バックアップ認証システムに加えて、第 3 の耐障害性レイヤーを追加し、その地域内の認証を完全に処理することが可能です。

現在、Azure リソース用の Managed ID の 95% は、地域のエンドポイントによって提供および保護されています。これにより、プライマリの Azure AD 認証サービスに問題が生じた場合でも、Azure 上に構築されたお客様のワークロードに影響を与えないようになっています。

これらを総合した主な結果

過去 12 カ月では、2021 年 12 月を除くすべての月で、Azure AD の稼働率 99.99% の SLA を達成したことをお知らせします。12 月については、一部のバック エンドシステムに影響を与えたサービス劣化により、SLA がスリー ナイン レベル、つまり 99.978% まで低下しました。この問題は、ユーザーの 1% 未満に影響し、90 分以内に解決されました。

このサービス劣化は、弊社の多層的な耐障害性対策の価値を実際に示すもので、多層的な耐障害性対策が功を奏し、ほとんどのユーザーがまったく影響を受けずに済みました。

今後の取り組み

私たちの目標は、耐障害性に対するハードルを常に上げ、より多くのツールや機能をお客様の手に届けることです。この連載では、上記のようなロードマップの進捗状況や、サービスの耐障害性を支える弊社のアーキテクチャやシステムの仕組みについて深く掘り下げた内容を定期的にお伝えしていく予定です。併せて SLA の詳細稼働時間の月次情報 をチェックすることもお勧めします。

Nadim Abdo
CVP, Engineering

※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。