マネージド ID の分離スコープの値は、 None または Regionalに設定できます。
- なし (既定値): ID はすべてのリージョンで使用できます
- リージョン: ID は、マネージド ID と同じリージョン内のソース リソースでのみ使用できます
分離スコープを Regional に設定すると、マネージド ID の使用が厳密にスコープ設定され、セキュリティと運用上の境界に合わせて調整されます。 ユーザー割り当てマネージド ID のリージョン分離は、マネージド ID を使用できる場所を制限することで、セキュリティと回復性を向上するのに役立ちます。
リージョン分離を理解する
マネージド ID を使用する場合、次の 2 種類のリソースがあります。
- ソース リソース: マネージド ID が割り当てられているリソース
- ターゲット リソース: ソース リソースがマネージド ID を使用してアクセスするリソース
たとえば、App Service がマネージド ID を使用してストレージ アカウントにアクセスする必要がある場合、App Service はソース リソースであり、ストレージ アカウントはターゲット リソースです。
リージョン分離は、マネージド ID とソース リソースの間の関係に適用されます。 リージョン分離スコープを有効にする場合:
- マネージド ID は、同じリージョン内のソース リソースにのみ割り当てることができます。
- ソース リソースは、(適切なロールのアクセス許可を持つ) 他のリージョンのターゲット リソースに引き続きアクセスできます。 たとえば、米国西部のソース リソースに割り当てられたマネージド ID を使用して、スペイン中部またはアラブ首長国連邦北部のターゲット リソースにアクセスできます。
リージョン分離の利点
リージョン分離には、いくつかの主な利点があります。
セキュリティの露出を最小限に抑える
マネージド ID を 1 つのリージョンにスコープすることで、複数のリージョンで使用されるのを防ぎ、ID が侵害された場合の爆発半径を減らすことができます。 分離しないと、あるリージョンで発行されたトークンを使用して別のリージョンのリソースにアクセスできるため、資格情報の盗難や誤用による潜在的な影響が大きくなります。
最小限の特権を設計で適用する
リージョンの分離により、ID に自身のリージョン内のリソースへのアクセスのみが許可され、ID の割り当てを解除することでサービスが不要な特権を保持することを防ぐことができます。 これにより、チームは、他のリージョンのサービスやデータへのアクセスを意図せずに許可することを回避できます。
1 つのリージョンに対するエラーが含まれています
マネージド ID が設定ミスを犯している、または侵害された場合、地域的な範囲設定により、インシデントや障害が確実に封じ込まれます。 分離がないと、1 つの ID によって複数のリージョン間でサービスが中断され、障害の分離戦略が損なわれます。
サービスの回復性を向上させる
リージョンスコープでは、ID の構成ミスによって発生する停止の範囲が制限されます。 たとえば、ロールの割り当てまたはトークンの発行が 1 つのリージョンで失敗した場合、グローバル フットプリント全体にカスケードされません。
堅牢なディザスター リカバリーをサポート
リージョン固有の ID を使用すると、リージョンごとに独立した復旧戦略を設計できます。 これにより、リージョンのフェールオーバーまたは復旧中にグローバル ID がボトルネックまたは単一障害点になるシナリオを回避できます。
分離スコープを none に設定するリスク
ユーザー割り当てマネージド ID の分離スコープ プロパティが None (既定値) に設定されていない場合は、すべてのリージョンで ID を使用できます。 これにより、いくつかのリスクが発生します。
- リージョン間トークンの使用: あるリージョンで発行されたトークンを使用して、別のリージョンのリソースにアクセスし、データ所在地またはコンプライアンスの境界に違反する可能性があります。
- 意図しないアクセス: 知らないうちに複数のリージョンのリソースに ID を割り当てて、意図したよりも広範なアクセスが行われる可能性があります。
- 監査とトラブルシューティングが困難: 分離しないと、ID を使用しているリソースと場所を追跡することが困難になり、インシデント対応が複雑になります。
- 爆発半径の増加: 侵害された ID を使用して、1 つのリージョンだけでなく、デプロイ全体のリソースにアクセスできます。
これらのリスクを回避するには、ユーザー割り当てマネージド ID の作成時に分離スコープを Regional に設定します。
ベスト プラクティス
リージョン分離の利点を最大化するには:
- リージョンごとに 1 つのマネージド ID を使用する: サービスがデプロイされている Azure リージョンごとに個別のマネージド ID を作成する
- マネージド ID リージョンとコンピューティング リソースの照合: マネージド ID がソース リソースと同じリージョンに存在することを確認する
- 依存関係の計画: マネージド ID を共有するすべてのコンピューティング リソースが同じ依存関係にアクセスできることを確認します。 これらの依存関係は、コンピューティング リソース (VM、Function App、App Service など) がマネージド ID を使用してアクセスする必要があるダウンストリーム サービス、リソース、またはシステムです。