説明
App Service のプラットフォーム認証を使わない場合、アプリケーションが必要な認証と権限を適用する必要があります。内部 API や管理用パスに適切な認証がなければ、権限のない要求が処理されるおそれがあります。アプリケーション独自の認証や意図した公開パスもあるため、プラットフォーム機能の無効化だけで匿名アクセスを断定することはできません。
プラットフォーム認証を有効にしても、方針によっては匿名要求を許可できます。認証プロバイダー、未認証要求の処理、利用者の権限を併せて設定してください。
想定される影響
- 認証が必要なパスを保護しないと、データ参照や管理操作が無許可で実行されるおそれがあります。
- 認証済みの利用者でも、過剰な権限があると業務上の役割を超える操作が可能になります。
対処方法
プラットフォーム認証または適切なアプリケーション認証で保護するパスを明確にしてください。プラットフォーム認証を使う場合は、プロバイダーと未認証要求の拒否・ログイン誘導を設定し、許可する利用者と操作を制限してください。HTTPS と必要なネットワーク制限を適用し、匿名要求と認証済み要求をそれぞれテストしてください。
例
既存の webApp1 を親に持つ authsettings の抜粋です。プロバイダーと利用者の方針は省略しています。
変更前
bicep
resource webApp1_authsettings 'Microsoft.Web/sites/config@2020-12-01' = {
parent: webApp1
name: 'authsettings'
properties: {
enabled: false
}
}
プラットフォーム認証を無効にします。アプリケーション独自の認証と実際のアクセス方針は別途確認してください。
変更後
bicep
resource webApp1_authsettings 'Microsoft.Web/sites/config@2020-12-01' = {
parent: webApp1
name: 'authsettings'
properties: {
enabled: true
}
}
プラットフォーム認証機能を有効にします。この値だけで匿名要求は拒否されないため、プロバイダーと未認証要求の処理方針も設定してください。