ID に対するゼロ トラスト アプローチを使用したアプリの構築

ゼロ トラストは、セキュリティで保護されたネットワーク境界を背景とした相互作用によってもたらされる暗黙的な信頼に依拠しないセキュリティ フレームワークです。 その代わりに使用されるのが、明示的な検証、最低特権アクセス、侵害の想定という原則です。ネットワーク境界の外側からアプリケーションにアクセスするなど日常的なシナリオを認めつつ、ユーザーとデータのセキュリティを保ちます。

アプリの開発者はゼロ トラストの原則を採用することで、アプリのセキュリティを強化し、違反の影響を最小化すると共に、顧客のセキュリティ要件を確実に満たすことができます。 このドキュメントでは、開発者が ID に対してゼロ トラスト アプローチを使用する方法について説明します。これには、認証、承認、ID 管理が含まれます。

ゼロ トラストの実装は今なお進化を続けており、各組織でさまざまな取り組みが行われています。 それでも、ほとんどのお客様にとっては、ID が論理的な出発点です。 次に、さまざまな組織がゼロ トラストをロールアウトする際に優先しているポリシーとコントロールの一部を示します。

  • 組織は、ユーザーの同意を発行者確認済みアプリに対する低リスクのアクセス許可に制限しています。 IT 管理者は、 発行元の検証を要求することで明示的に検証する原則と、リスクの低いアクセス許可に対してユーザーの同意のみを許可することで最小限の特権の原則を採用しています。 組織や顧客が同意するよりも前に、管理者はアプリが要求しているアクセス許可とアプリの信頼性を評価します。
  • 組織は、アプリとサービスに対して資格情報の検疫およびローテーション ポリシーを設定しています。 アプリの資格情報が侵害されると、攻撃者はそのアプリの ID を利用してトークンを取得でき、機密データへのアクセス、横移動、または永続化の確立などを行えるようになります。
  • 組織は、強力な認証をロールアウトしています。IT 管理者は、多要素認証とパスワードレス FIDO2 デバイスを必要とするポリシーを設定できることを期待しています。
  • 組織は、レガシ プロトコルと API をブロックしています。 これには、"基本認証" などの古い認証プロトコルをブロックすることに加えて、OpenID ConnectOAuth 2.0 などの最新のプロトコルを要求することが含まれます。 Microsoft は、Azure Active Directory (Azure AD) Graph とレガシ Azure Active Directory 認証ライブラリ (ADAL) の 2022 年 6 月 30 日のサポート終了を発表しました。 組織は、使用するアプリケーションをこれに備えさせています。

ゼロ トラストに関する最も推奨される推奨事項

アプリをセキュリティで保護するには、次のベスト プラクティスが重要です。 また、これらのベスト プラクティスについて詳しく説明する ホワイトペーパー も公開しています。

信頼された標準ベースの認証ライブラリを使用する。 ライブラリを使用すると、独自にソリューションを開発する時間を節約できます。 しかし、それよりも重要なのは、そうすることで常に最新の状態を保ち、最新のテクノロジと脅威に素早く対応できることです。 Microsoft では、Microsoft 認証ライブラリ (MSAL)Microsoft ID Web 認証ライブラリマネージド ID 用 Azure SDK など、複数のライブラリを提供しています。 これらにより、条件付きアクセスやデバイスの登録と管理などの機能、最新のイノベーション (パスワードレスおよび FIDO2 認証など) を、追加のコードを記述しなくても利用することができます。

Azure AD アプリケーション登録のセキュリティのベスト プラクティス従います。 Azure AD アプリケーションの登録は、ビジネス アプリケーションの重要な部分です。 アプリケーションの構成ミスやウイルス対策の欠如は、ダウンタイムや侵害につながる可能性があります。

資格情報をコードの外部に保持する。 これにより、アプリを停止や再デプロイしなくても、IT 管理者は資格情報をローテーションすることができます。 Azure Key VaultAzure マネージド ID などのサービスを使用できます。

最小権限のアクセスとなるように設計する。 これはゼロ トラストの重要な理念です。 開発者は常に、ユーザーが自分のジョブを実行するために必要な最小限の権限のみを提供するようにする必要があります。 たとえば、必要な場合にのみアクセス許可を要求する増分同意を使用できます。 また、Microsoft Graph のより詳細なスコープを使用することもできます。 Graph Explorer を使用してスコープを探索し、API を呼び出したり、必要なアクセス許可を確認したりすることができます。 これらは、最も低い権限から最も高い権限の順に表示されます。 可能な限り低い権限を選択すると、アプリケーションは攻撃されにくくなります。 詳しくは、アプリケーションの最小特権アクセスに関するベスト プラクティスに関するページを確認してください。

継続的アクセス評価 (CAE) をサポートします。 CAE を使用すると、Microsoft Graph でセキュリティ イベントに応答してアクティブなセッションをすばやく取り消すことができます。 例としては、ユーザー アカウントが削除されているか無効になっている場合、あるユーザーに対して多要素認証 (MFA) が有効になっている場合、ユーザーに対して発行されたトークンを管理者が明示的に取り消す場合、ユーザーが危険をもたらすことが検出された場合などがあります。 また、CAE が有効になっている場合、Microsoft Graph に対して発行されたトークンは、標準の 1 時間ではなく 24 時間有効になります。 これは、1 時間ごとに新しいトークンのために Azure Active Directory に戻らなくてもアプリが動作し続けられるため、回復性の点で優れています。

IT 担当者がユーザーとグループに割り当てるアプリ ロールを定義します。アプリ ロールは、 アプリケーションにロールベースのアクセス制御 (RBAC) を実装するのに役立ちます。 アプリ ロールの一般的な例として、"管理者"、"閲覧者"、"共同作成者" などのロールがあります。これにより、アプリケーションは、ロールに割り当てられたユーザーまたはグループに対して機密性の高いアクションを制限できます。 さらに、アプリ ロールを使用すると、Azure AD の Privileged Identity Management (PIM) 機能などの他の機能も有効になります。これらでは、機密性の高いロールに対してジャスト イン タイムで期限付きのアクセスがユーザーに提供されます。そうすることにより、悪意のあるユーザーがそのようなアクセスを取得したり、認可されていないユーザーが機密リソースに誤って影響を与えたりする可能性を減らすことができます。

検証済みの発行元になる。 アプリケーションが発行者確認済みとしてマークされている場合、確立された確認プロセスを完了した Microsoft Partner Network アカウントを使用して、発行者がその ID を確認済みであることを意味します。 これは、顧客テナントの IT 管理者との信頼関係を構築するのに役立つため、マルチテナント アプリの開発者にとって有用です。

次のステップ