アプリケーションのアクセス許可戦略の開発
ゼロ トラスト原則を使用して開発する方法については、「リソースにアクセスするための承認の取得」と「委任されたアクセス許可戦略の開発」に関するページを確認した後、この記事を参照してください。 Microsoft ID プラットフォームを使用してアプリケーションを認証および承認し、アクセス許可と同意を管理する場合は、資格情報管理に対するアプリケーションのアクセス許可アプローチを定義します。
ユーザーが関与していない場合、アプリケーションには、アプリケーションの特定のユーザーに付与されているのと同じアクセス許可が常に付与されるため、有効なアクセス許可モデルはありません。
アプリは、アクセス許可を要求しているアプリであることを証明します。 アプリケーションは、次のいずれかのメソッドで独自の ID を証明します。
- 証明書(最適なオプション)、または
- 高度なシークレット管理システム内のシークレット、または
- Azure でサービスを開発し、Azure リソース用マネージド ID を使用する場合のシークレット。 次 の「アプリケーション認証情報の管理」セクションを参照してください。
アプリには常に事前に管理者の同意が必要です。 アプリケーションは、
.default
スコープを使用してこのアクセス許可を要求します。 管理者がアプリケーションに割り当てるアクセス許可を要求します。 特定のスコープの名前付けに関係なく、既定ではこれらのアクセス許可はすべてのユーザーに適用されます。ユーザーのトランス機能。 既定では、
User.ReadWrite.All
により、Calendar.Read
であってもアプリケーションですべてのユーザー プロファイル を更新できます。 アプリケーションのアクセス許可として、アプリケーションはテナント内のすべてのユーザーのカレンダーを読み取ることができます。アプリに付与されるアクセス許可は、常に使用されるアクセス許可です。 委任されたアクセス許可とは異なり、アプリケーションのアクセス許可は、特定のユーザーが実行できることによって制限されません。
アプリケーションのアクセス許可の制限
アプリケーションをグローバル アクセス未満に制限する方法は 3 つあります。
Microsoft Teams アプリには リソース固有の同意 (RSC) があり、アプリケーションは企業内のすべてのチームにアクセスするのではなく、特定のチームにアクセスできます。 RSC は、アプリで API エンドポイントを使用し、特定のリソースを管理できるようにする Microsoft Teams と Microsoft Graph API の統合です。 そのアクセス許可モデルを使用すると、Teams とチャットの所有者は、アプリケーションが Teams とチャットのデータにアクセスして変更することに同意できます。
Microsoft Exchange 管理者は、PowerShell スクリプトを使用して、特定のメールボックスへのアプリ アクセスを制限する Exchange アプリケーション ポリシーを作成できます。 特定のアプリケーションを
Calendar.Read
またはMail.Read
アクセスで特定のメールボックスに制限することができます。 これにより、たとえば、1 つのメールボックスのみを読み取ったり、1 つのメールボックスからのみメールを送信したりでき、社内のすべてのユーザーからメールを送信できない自動化を構築できます。SharePoint には、特定のスコープとして Sites.Selected があり、アプリケーションで SharePoint にアクセスするための詳細なアクセス許可を許可します。 他のアクセス許可の 1 つではなくアプリケーションに
Sites.Selected
を選択すると、既定では、アプリケーションは SharePoint サイト コレクションにアクセスできなくなります。 管理者は、サイトのアクセス許可エンドポイントを使用して、アプリケーションに読み取り、書き込み、または読み取りと書き込みのアクセス許可を付与します。
アプリケーション資格情報の管理
資格情報の検疫により、アプリケーションは潜在的な侵害から迅速に回復することができます。 次のベスト プラクティスでは、ダウンタイムを回避し、正当なユーザーに影響を与えながら、検出と修復を実行するアプリケーションを開発する方法について説明します。 これらの推奨事項は、セキュリティ インシデントに対応するための準備における侵害想定のゼロ トラストの原則をサポートします。
コードと構成からすべてのシークレットを削除します。 Azure プラットフォームを使用している場合は、キー コンテナーにシークレットを配置し、Azure リソース用マネージド ID を使用してアクセスします。 セキュリティ侵害が発生した場合にシークレットローテーションを処理するコードの回復性を高めます。 IT 管理者は、アプリケーションを停止したり、正当なユーザーに影響を与えたりすることなく、シークレットと証明書を削除およびローテーションできます。
シークレットを管理するためのセキュリティで保護されたプロセスがない限り、クライアント シークレットの代わりに証明書を使用します。 攻撃者は、クライアント シークレットの安全性が低下し、漏えいしたシークレットの使用状況を追跡するのが困難であることを認識しています。侵害された場合は、証明書をより適切に管理および取り消すことができます。 シークレットを使用する場合は、セキュリティで保護されたタッチなしの展開とロールオーバー プロセスを構築または使用します。 有効期限が設定されているシークレット (1 年、2 年など) を使用し、期限切れにならないようにします。
証明書とシークレットを定期的にロールオーバーして、アプリケーションで回復性を構築し、緊急ロールオーバーによる停止を回避します。
次のステップ
- リソースにアクセスするための承認を取得すると、アプリケーションのリソース アクセス許可を取得するときにゼロ トラストを確実に行う方法を理解するのに役立ちます。
- 委任されたアクセス許可戦略の開発は、アプリケーションでアクセス許可を管理するための最適なアプローチを実装し、ゼロ トラスト原則を使用して開発するのに役立ちます。
- 承認のベスト プラクティスは、アプリケーションに最適な承認、アクセス許可、および同意モデルを実装するのに役立ちます。
- 管理者の同意を必要とするアクセス許可を要求するでは、アプリケーション アクセス許可に対して管理者の同意が必要な場合のアクセス許可と同意エクスペリエンスについて説明します。
- API 保護では、登録を通じて API を保護し、アクセス許可と同意を定義し、ゼロ トラストの目標を達成するためのアクセスを強制するためのベスト プラクティスについて説明します。
- ユーザーがいないときにアプリケーション ID 認証情報を指定すると、Azure 上のサービス (ユーザー以外のアプリケーション) に最適なゼロ トラストクライアント認証情報プラクティスが Azure リソース用マネージド ID である理由が説明されます。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示