説明
ネットワークを制限した Storage Account に必要な Azure サービスが接続する際、対応する信頼されたサービスの例外に依存していると、例外がないために連携が失敗する場合があります。このアクセスが不要なアカウントでは、bypass: 'None' を維持することも有効な選択です。
AzureServices は、Microsoft が文書化した信頼されたサービスと操作に対するネットワーク例外です。すべての Azure サービスを許可したり、データアクセス権を付与したりする機能ではなく、必要な認証と権限は別途設定してください。
想定される影響
- 必要なサービスのアクセス経路がないと、バックアップや監視などの連携が停止する可能性があります。
- 接続問題の解決のためにネットワーク全体を開放したり不要な例外を追加したりすると、意図したアクセス制御が弱まるおそれがあります。
対処方法
利用するサービスと操作が信頼されたサービスの一覧に含まれるか確認し、必要な場合だけ bypass: 'AzureServices' を設定してください。defaultAction、公開ネットワークアクセス、他の例外を併せて確認し、データ権限を必要最小限にしてください。実際の接続とログを確認し、適切な代替の非公開経路がある場合は利用してください。
例
ネットワークルールの抜粋です。実際のアカウント入力とサブネットのリソース ID に置き換え、サブネットとサービスの接続要件を満たしてください。例外が必要な場合を前提に比較しています。
変更前
resource storage 'Microsoft.Storage/storageAccounts@2019-06-01' = {
name: 'storage'
properties: {
networkAcls: {
bypass: 'None'
virtualNetworkRules: [
{
id: 'id'
action: 'Allow'
}
]
defaultAction: 'Deny'
}
}
}
既定の拒否と指定した仮想ネットワークの許可を維持し、信頼されたサービスの例外を使いません。不適切かどうかは、必要なサービスのアクセス経路によって異なります。
変更後
resource storage 'Microsoft.Storage/storageAccounts@2019-06-01' = {
name: 'storage'
properties: {
networkAcls: {
bypass: 'AzureServices'
virtualNetworkRules: [
{
id: 'id'
action: 'Allow'
}
]
defaultAction: 'Deny'
}
}
}
既定の拒否を維持し、文書化された信頼されたサービスにネットワーク例外を追加します。サービスのデータ権限を付与したり、すべての接続の安全性を保証したりする設定ではありません。