Azure App Service ランディング ゾーン アクセラレータの ID とアクセス管理の考慮事項
この記事では、Azure App Service ランディング ゾーン アクセラレータを使用するときに適用できる ID およびアクセス管理に関する設計上の考慮事項と推奨事項について説明します。 認証とアプリの構成は、この記事で説明する考慮事項の一部です。
ID とアクセスの管理の設計領域についての理解を深めます。
設計上の考慮事項
ランディング ゾーン アクセラレータを使用して App Service ソリューションをデプロイするときに、キー ID とアクセス管理に関する重要な考慮事項がいくつかあります。
- アプリとそのデータに必要なセキュリティと分離のレベルを決定します。 パブリック アクセスを使用すると、すべてのユーザーがアプリの URL でアプリにアクセスできるようになりますが、プライベート アクセスでは、承認されたユーザーとネットワークのみにアクセスが制限されます。
- App Service ソリューションに必要な認証と承認の種類 (匿名、社内企業ユーザー、ソーシャル アカウント、その他の ID プロバイダー、またはこれらの種類の組み合わせ) を決定します。
- App Service ソリューションが Microsoft Entra ID によって保護されているバックエンド リソースに接続するときに、システム割り当てとユーザー割り当てのどちらのマネージド ID を使用するかを決定します。
- 既定のロールに既存のアクセス許可に対する変更が必要なときは、最小限の特権の原則に従ってカスタム ロールを作成することを検討してください。
- キー、シークレット、証明書、およびアプリケーション構成に対して拡張セキュリティ ストレージを選択します。
- アプリ構成を使用して、アプリケーション、マイクロサービス、サーバーレス アプリケーション間で、パスワード、シークレット、またはキーではない共通の構成値を共有します。
- Azure Key Vault を使用します。 これにより、パスワード、接続文字列、キー、シークレット、証明書のセキュリティ強化されたストレージが提供されます。 Key Vault を使用してシークレットを格納し、App Service アプリケーションから App Service マネージド ID 経由でそれらにアクセスできます。 そうすることで、必要に応じてアプリケーションからシークレットへのアクセスを提供しながら、シークレットをセキュリティで保護することができます。
設計の推奨事項
App Service デプロイには、次のベスト プラクティスを組み込む必要があります。
- App Service ソリューションで認証が必要な場合:
- App Service ソリューション全体へのアクセスを認証済みユーザーに制限する必要がある場合は、匿名アクセスを無効にします。
- 独自の認証と承認のコードを記述する代わりに、App Service の組み込みの認証と承認機能を使用します。
- 個別のスロットまたは環境に個別のアプリケーション登録を使用します。
- App Service ソリューションが内部ユーザーのみを対象としている場合は、セキュリティを強化するためにクライアント証明書認証を使用します。
- App Service ソリューションが外部ユーザーを対象としている場合は、Azure AD B2C を利用してソーシャル アカウントと Microsoft Entra アカウントに対する認証を行います。
- 可能な限り、Azure 組み込みロールを使用します。 これらのロールは、読み取り専用アクセスを必要とするユーザーに対する閲覧者ロールや、リソースを作成および管理できる必要があるユーザーに対する共同作成者ロールなど、特定のシナリオに一般的に必要な一連のアクセス許可を提供するように設計されています。
- 組み込みロールがニーズを満たさない場合は、1 つ以上の組み込みロールのアクセス許可を組み合わせてカスタム ロールを作成できます。 これにより、最小限の特権の原則に従いながら、ユーザーが必要とする正確な一連のアクセス許可を付与できます。
- App Service リソースを定期的に監視して、セキュリティ ポリシーに従って使用されていることを確認してください。 これにより、不正なアクセスや変更を特定し、適切なアクションを実行するのに役立ちます。
- ユーザー、グループ、およびサービスにアクセス許可を割り当てるときは、最小限の特権の原則を使用します。 この原則は、特定のタスクを実行するために必要な最小限のアクセス許可のみを付与し、それ以上は付与しない必要があることを示しています。 このガイダンスに従うと、リソースに対する偶発的または悪意のある変更のリスクを軽減できます。
- システム割り当てマネージド ID を使用して、Microsoft Entra ID によって保護されるセキュリティ強化されたバックエンド リソースにアクセスします。 これにより、App Service ソリューションがアクセスできるリソースと、それらのリソースに対するアクセス許可を制御できます。
- 自動デプロイのために、CI/CD パイプラインからのデプロイに最低限必要なアクセス許可を持つサービス プリンシパルを設定します。
- App Service の診断ログ AppServiceHTTPLogs アクセス ログを有効にします。 これらの詳細なログを使用して、アプリの問題を診断し、アクセス要求を監視できます。 これらのログを有効にすると、サブスクリプション レベルのイベントに関する分析情報を提供する Azure Monitor アクティビティ ログも提供されます。
- 「App Service 用の Azure セキュリティ ベースライン」の 「ID 管理」と「特権アクセス」のセクションで説明されている推奨事項に従います。
ランディング ゾーン アクセラレータの ID とアクセス管理の目標的は、デプロイされたアプリとその関連リソースがセキュリティで保護され、承認されたユーザーのみからアクセスできるようにすることです。 これにより、機密データを保護し、アプリとそのリソースの誤用を防ぐことができます。