このセキュリティ ベースラインは、 Microsoft クラウド セキュリティ ベンチマーク バージョン 1.0 の ガイダンスを Functions に適用します。 Microsoft クラウド セキュリティ ベンチマークでは、Azure 上のクラウド ソリューションをセキュリティで保護する方法に関する推奨事項が提供されます。 コンテンツは、Microsoft クラウド セキュリティ ベンチマークで定義されているセキュリティ コントロールと、Functions に適用される関連ガイダンスによってグループ化されます。
このセキュリティ ベースラインとその推奨事項は、Microsoft Defender for Cloud を使用して監視できます。 Azure Policy の定義は、Microsoft Defender for Cloud ポータル ページの [規制コンプライアンス] セクションに一覧表示されます。
機能に関連した Azure Policy 定義がある場合は、ベースラインに一覧表示されます。これは、Microsoft クラウド セキュリティ ベンチマークのコントロールと推奨事項への準拠を測定するのに役立ちます。 一部の推奨事項では、特定のセキュリティ シナリオを有効にするために、有料の Microsoft Defender プランが必要になる場合があります。
注
Functions に適用できない機能は除外されています。 Functions が Microsoft クラウド セキュリティ ベンチマークにどのように完全にマップされるかについては、 Functions のセキュリティ ベースライン マッピング ファイル全体を参照してください。
セキュリティ プロファイル
セキュリティ プロファイルは、関数の影響が大きい動作をまとめたものです。その結果、セキュリティに関する考慮事項が増える可能性があります。
| サービス動作属性 | 価値 |
|---|---|
| 製品カテゴリ | コンピューティング、Web |
| お客様は HOST/OS にアクセスできます | アクセス許可なし |
| サービスは顧客の仮想ネットワークにデプロイできます | 正しい |
| 顧客のコンテンツを静止状態で保存する | 正しい |
ネットワークのセキュリティ
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: ネットワーク セキュリティ」を参照してください。
NS-1: ネットワークセグメント化の境界を確立する
Features
仮想ネットワーク統合
説明: サービスは、顧客のプライベート仮想ネットワーク (VNet) へのデプロイをサポートします。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
構成ガイダンス: 仮想ネットワークにサービスをデプロイします。 パブリック IP をリソースに直接割り当てる強い理由がない限り、リソースにプライベート IP を割り当てます (該当する場合)。
注: ネットワーク機能はサービスによって公開されますが、アプリケーション用に構成する必要があります。 既定では、パブリック ネットワーク アクセスが許可されます。
リファレンス: Azure Functions のネットワーク オプション
ネットワーク セキュリティ グループのサポート
説明: サービス ネットワーク トラフィックは、そのサブネットでのネットワーク セキュリティ グループルールの割り当てを尊重します。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
構成ガイダンス: ネットワーク セキュリティ グループ (NSG) を使用して、ポート、プロトコル、送信元 IP アドレス、または宛先 IP アドレスによってトラフィックを制限または監視します。 NSG 規則を作成して、サービスのオープン ポートを制限します (信頼されていないネットワークから管理ポートにアクセスできないようにするなど)。 既定では、NSG はすべての受信トラフィックを拒否しますが、仮想ネットワークと Azure Load Balancer からのトラフィックを許可することに注意してください。
リファレンス: Azure Functions のネットワーク オプション
NS-2: ネットワーク制御によるクラウド サービスのセキュリティ保護
Features
Azure Private Link
説明: ネットワーク トラフィックをフィルター処理するためのサービス ネイティブ IP フィルタリング機能 (NSG または Azure Firewall と混同しないでください)。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
構成ガイダンス: Private Link 機能をサポートするすべての Azure リソースのプライベート エンドポイントをデプロイして、リソースのプライベート アクセス ポイントを確立します。
リファレンス: Azure Functions のネットワーク オプション
パブリック ネットワーク アクセスを無効にする
説明: サービスでは、サービス レベルの IP ACL フィルター規則 (NSG または Azure Firewall ではない) を使用するか、[パブリック ネットワーク アクセスを無効にする] トグル スイッチを使用して、パブリック ネットワーク アクセスを無効にすることができます。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
機能ノート: Azure Functions はプライベート エンドポイントを使用して構成できますが、プライベート エンドポイントを構成していないパブリック ネットワーク アクセスを無効にするための切り替えは現在 1 つはありません。
構成ガイダンス: サービス レベルの IP ACL フィルタリング規則またはパブリック ネットワーク アクセスの切り替えスイッチを使用して、パブリック ネットワーク アクセスを無効にします。
ID 管理
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: ID 管理」を参照してください。
IM-1: 一元化された ID と認証システムを使用する
Features
データ プレーン アクセスに必要な Azure AD 認証
説明: サービスでは、データ プレーン アクセスに Azure AD 認証を使用できます。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
機能ノート: お客様所有のエンドポイントは、Azure AD 認証要件を必要とするように構成できます。 デプロイ操作と高度な開発者ツール用のシステム提供のエンドポイントは Azure AD をサポートしますが、既定では発行資格情報を使用することもできます。 これらの発行資格情報は無効にすることができます。 アプリ上の一部のデータ プレーン エンドポイントは、Functions ホストで構成された管理キーによってアクセスされる場合があり、現時点では Azure AD の要件では構成できません。
構成ガイダンス: 既定の認証方法として Azure Active Directory (Azure AD) を使用して、データ プレーンへのアクセスを制御します。
リファレンス: デプロイ資格情報を構成する - 基本認証を無効にする
データ プレーン アクセスのローカル認証方法
説明: ローカル ユーザー名やパスワードなど、データ プレーン アクセスでサポートされるローカル認証方法。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | 正しい | Microsoft |
機能ノート: デプロイ資格情報は既定で作成されますが、無効にすることはできます。 アプリケーション ランタイムによって公開される一部の操作は、現在無効にできない管理キーを使用して実行できます。 このキーは Azure Key Vault に格納でき、いつでも再生成できます。 ローカル認証方法またはアカウントの使用は避けてください。これらは可能な限り無効にする必要があります。 代わりに、可能な限り Azure AD を使用して認証を行います。
構成ガイダンス: 既定のデプロイで有効になっているので、追加の構成は必要ありません。
リファレンス: 基本認証を無効にする
IM-3: アプリケーション ID を安全かつ自動的に管理する
Features
マネージド ID
説明: データ プレーン アクションは、マネージド ID を使用した認証をサポートします。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
構成ガイダンス: 可能な場合は、サービス プリンシパルの代わりに Azure マネージド ID を使用します。これは、Azure Active Directory (Azure AD) 認証をサポートする Azure サービスとリソースに対して認証できます。 マネージド ID 資格情報は、完全に管理され、ローテーションされ、プラットフォームによって保護されるため、ソース コードまたは構成ファイルでハードコーディングされた資格情報を回避できます。
リファレンス: App Service と Azure Functions のマネージド ID を使用する方法
サービス プリンシパル
説明: データ プレーンでは、サービス プリンシパルを使用した認証がサポートされます。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
構成ガイダンス: この機能の構成に関する現在の Microsoft ガイダンスはありません。 組織でこのセキュリティ機能を構成するかどうかを確認して決定してください。
Microsoft Defender for Cloud による監視
Azure Policy の組み込み定義 - Microsoft.Web:
| 名前 (Azure portal) |
Description | Effect(s) | バージョン (GitHub) |
|---|---|---|---|
| App Service アプリではマネージド ID を使用する必要がある | マネージド ID を使用して認証セキュリティを強化します | AuditIfNotExists、Disabled | 3.0.0 |
IM-7: 条件に基づいてリソースへのアクセスを制限する
Features
データ プレーンの条件付きアクセス
説明: データ プレーン アクセスは、Azure AD 条件付きアクセス ポリシーを使用して制御できます。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
機能ノート: アプリケーションによって定義されていないデータ プレーン エンドポイントの場合は、Azure Service Management に対して条件付きアクセスを構成する必要があります。
構成ガイダンス: ワークロード内の Azure Active Directory (Azure AD) の条件付きアクセスに適用される条件と条件を定義します。 特定の場所からのアクセスのブロックや許可、危険なサインイン動作のブロック、特定のアプリケーションに対する組織が管理するデバイスの要求など、一般的なユース ケースを検討してください。
IM-8: 資格情報とシークレットの公開を制限する
Features
Azure Key Vault でのサービス資格情報およびシークレットの統合と保存サポート
説明: データ プレーンでは、資格情報とシークレット ストアに対する Azure Key Vault のネイティブな使用がサポートされています。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
構成ガイダンス: シークレットと資格情報は、コードまたは構成ファイルに埋め込むのではなく、Azure Key Vault などのセキュリティで保護された場所に格納されていることを確認します。
リファレンス: App Service と Azure Functions に Key Vault 参照を使用する
特権アクセス
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: 特権アクセス」を参照してください。
PA-1: 高い特権を持つユーザーまたは管理ユーザーを分離して制限する
Features
ローカル管理者アカウント
説明: サービスには、ローカル管理アカウントの概念があります。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| いいえ | 該当なし | 該当なし |
構成ガイダンス: この機能は、このサービスをセキュリティで保護するためにサポートされていません。
PA-7: 必要十分な管理 (最小限の特権) の原則に従う
Features
Azure RBAC for Data Plane
説明: Azure Role-Based アクセス制御 (Azure RBAC) を使用して、サービスのデータ プレーン アクションへのアクセスを管理できます。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
機能ノート: Azure RBAC を利用できるデータ プレーン アクションは、Kudu/SCM/デプロイ エンドポイントだけです。 これには、 Microsoft.Web/sites/publish/Action 操作に対するアクセス許可が必要です。 顧客アプリケーション自体によって公開されるエンドポイントは、Azure RBAC の対象になりません。
構成ガイダンス: 組み込みのロールの割り当てを使用して Azure リソース アクセスを管理するには、Azure ロールベースのアクセス制御 (Azure RBAC) を使用します。 Azure RBAC ロールは、ユーザー、グループ、サービス プリンシパル、マネージド ID に割り当てることができます。
リファレンス: Kudu にアクセスするために必要な RBAC アクセス許可
PA-8: クラウド プロバイダーサポートのアクセス プロセスを決定する
Features
カスタマー ロックボックス
説明: カスタマー ロックボックスは、Microsoft サポート へのアクセスに使用できます。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
構成ガイダンス: Microsoft がデータにアクセスする必要があるサポート シナリオでは、カスタマー ロックボックスを使用して確認し、Microsoft の各データ アクセス要求を承認または拒否します。
データ保護
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: データ保護」を参照してください。
DP-2: 機密データを対象とする異常と脅威を監視する
Features
データ漏えい/損失防止
説明: サービスは、機密データの移動 (顧客のコンテンツ内) を監視するための DLP ソリューションをサポートしています。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| いいえ | 該当なし | 該当なし |
構成ガイダンス: この機能は、このサービスをセキュリティで保護するためにサポートされていません。
DP-3: 転送中の機密データの暗号化
Features
転送中のデータの暗号化
説明: サービスは、データ プレーンの転送中のデータ暗号化をサポートします。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
機能ノート: 関数アプリは、TLS 1.2 を最小バージョンとしてサポートするように既定で作成されますが、構成設定を使用して下位バージョンでアプリを構成できます。 既定では、HTTPS は受信要求に必要ありませんが、これは構成設定を使用して設定することもできます。この時点で、HTTP 要求は HTTPS を使用するように自動的にリダイレクトされます。
構成ガイダンス: 転送中のネイティブ データ暗号化機能が組み込まれているサービスで、セキュリティで保護された転送を有効にします。 任意の Web アプリケーションとサービスに HTTPS を適用し、TLS v1.2 以降が使用されていることを確認します。 SSL 3.0、TLS v1.0 などのレガシ バージョンは無効にする必要があります。 Virtual Machines のリモート管理には、暗号化されていないプロトコルではなく、SSH (Linux の場合) または RDP/TLS (Windows の場合) を使用します。
リファレンス: Azure App Service での TLS/SSL 証明書の追加と管理
Microsoft Defender for Cloud による監視
Azure Policy の組み込み定義 - Microsoft.Web:
| 名前 (Azure portal) |
Description | Effect(s) | バージョン (GitHub) |
|---|---|---|---|
| App Service アプリに HTTPS を介してのみアクセスできるようにする | HTTPS を使用すると、サーバー/サービスの認証が確実に実行され、転送中のデータがネットワーク層の傍受攻撃から保護されるようになります。 | 監査、無効、拒否 | 4.0.0 |
DP-4: 保存データ暗号化を既定で有効にする
Features
プラットフォーム キーを使用した保存データの暗号化
説明: プラットフォーム キーを使用した保存データの暗号化がサポートされています。保存中の顧客コンテンツは、これらの Microsoft マネージド キーで暗号化されます。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | 正しい | Microsoft |
構成ガイダンス: 既定のデプロイで有効になっているので、追加の構成は必要ありません。
DP-5: 必要に応じて保存データの暗号化でカスタマー マネージド キー オプションを使用する
Features
CMK を使用した静止データの暗号化
説明: カスタマー マネージド キーを使用した保存データの暗号化は、サービスによって格納される顧客コンテンツでサポートされています。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
機能ノート: Azure Functions は、この機能を直接サポートしていませんが、Functions で可能なデータ ストレージの代わりに、サービスを利用するようにアプリケーションを構成できます。 Azure Files はファイル システムとしてマウントされ、シークレットを含むすべてのアプリ設定が Azure Key Vault に格納される場合があり、パッケージの実行などのデプロイ オプションによって Azure Blob Storage からコンテンツがプルされる場合があります。
構成ガイダンス: 規制コンプライアンスに必要な場合は、カスタマー マネージド キーを使用した暗号化が必要なユース ケースとサービス スコープを定義します。 これらのサービスのカスタマー マネージド キーを使用して、保存データの暗号化を有効にして実装します。
リファレンス: カスタマー マネージド キーを使用して保存中のアプリケーション データを暗号化する
DP-6: セキュリティで保護されたキー管理プロセスを使用する
Features
Azure Key Vault でのキー管理
説明: このサービスは、顧客キー、シークレット、または証明書に対する Azure Key Vault 統合をサポートします。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
構成ガイダンス: Azure Key Vault を使用して、キーの生成、配布、ストレージなど、暗号化キーのライフ サイクルを作成および制御します。 定義されたスケジュールに基づいて、またはキーの廃止や侵害が発生した場合に、Azure Key Vault とサービスのキーをローテーションして無効化します。 ワークロード、サービス、またはアプリケーション レベルでカスタマー マネージド キー (CMK) を使用する必要がある場合は、キー管理のベスト プラクティスに従ってください。キー階層を使用して、キー コンテナー内のキー暗号化キー (KEK) を使用して個別のデータ暗号化キー (DEK) を生成します。 キーが Azure Key Vault に登録され、サービスまたはアプリケーションからキー ID を介して参照されていることを確認します。 独自のキー (BYOK) をサービスに取り込む必要がある場合 (オンプレミスの HSM から Azure Key Vault に HSM で保護されたキーをインポートする場合など)、推奨されるガイドラインに従って初期キーの生成とキー転送を実行します。
リファレンス: App Service と Azure Functions に Key Vault 参照を使用する
DP-7: セキュリティで保護された証明書管理プロセスを使用する
Features
Azure Key Vault での証明書の管理
説明: このサービスは、顧客証明書に対する Azure Key Vault 統合をサポートします。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
構成ガイダンス: Azure Key Vault を使用して、証明書の作成、インポート、ローテーション、失効、ストレージ、消去など、証明書のライフサイクルを作成および制御します。 キー サイズが不十分、有効期間が長すぎ、暗号化が安全でないなど、セキュリティで保護されていないプロパティを使用せずに、証明書の生成が定義された標準に従っていることを確認します。 定義されたスケジュールまたは証明書の有効期限に基づいて、Azure Key Vault と Azure サービス (サポートされている場合) に証明書の自動ローテーションを設定します。 アプリケーションで自動ローテーションがサポートされていない場合は、Azure Key Vault とアプリケーションで手動の方法を使用してローテーションされていることを確認します。
リファレンス: Azure App Service に TLS/SSL 証明書を追加する
資産管理
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: 資産管理」を参照してください。
AM-2: 承認済みサービスのみを使用する
Features
Azure Policy のサポート
説明: サービス構成は、Azure Policy を使用して監視および適用できます。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
構成ガイダンス: Microsoft Defender for Cloud を使用して、Azure リソースの構成を監査および適用するように Azure Policy を構成します。 Azure Monitor を使用して、リソースで構成の偏差が検出されたときにアラートを作成します。 Azure Policy の [拒否] および [存在しない場合はデプロイ] の効果を使用して、Azure リソース全体にセキュリティで保護された構成を適用します。
ログ記録と脅威の検出
詳細については、 Microsoft クラウド セキュリティ ベンチマーク「ログ記録と脅威検出」を参照してください。
LT-1: 脅威検出機能を有効にする
Features
Microsoft Defender サービス/製品提供
説明: サービスには、セキュリティの問題を監視およびアラートするためのオファリング固有の Microsoft Defender ソリューションがあります。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
機能ノート: Defender for App Service には Azure Functions が含まれています。 このソリューションが有効になっている場合は、有効化スコープの関数アプリが含まれます。
構成ガイダンス: 管理プレーンのアクセスを制御するための既定の認証方法として Azure Active Directory (Azure AD) を使用します。 Microsoft Defender for Key Vault からアラートを受け取ったら、そのアラートを調査して対応します。
リファレンス: Defender for App Service
LT-4: セキュリティ調査のためにログ記録を有効にする
Features
Azure リソース ログ
説明: サービスは、強化されたサービス固有のメトリックとログを提供できるリソース ログを生成します。 お客様はこれらのリソース ログを構成し、ストレージ アカウントやログ分析ワークスペースなどの独自のデータ シンクに送信できます。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
構成ガイダンス: サービスのリソース ログを有効にします。 たとえば、Key Vault は、キー ボールトからのシークレット取得アクションに対する追加のリソース ログをサポートしており、また、Azure SQL にはデータベースへの要求を追跡するリソース ログがあります。 リソース ログの内容は、Azure サービスとリソースの種類によって異なります。
リファレンス: Azure Monitor ログを使用した Azure Functions の監視
バックアップと回復
詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: バックアップと回復」を参照してください。
BR-1: 定期的な自動バックアップを確保する
Features
Azure Backup
説明: サービスは、Azure Backup サービスによってバックアップできます。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| いいえ | 該当なし | 該当なし |
機能ノート: アプリケーションをバックアップする機能は、Standard、Premium、または Isolated App Service プランでホストされている場合に使用できます。 この機能は Azure Backup を利用せず、イベント ソースや外部にリンクされたストレージも含まれません。 詳細については、/azure/app-service/manage-backup を参照してください。
構成ガイダンス: この機能は、このサービスをセキュリティで保護するためにサポートされていません。
サービス ネイティブ バックアップ機能
説明: サービスは、独自のネイティブ バックアップ機能をサポートします (Azure Backup を使用していない場合)。 詳細については、こちらを参照してください。
| サポートされています | 既定で有効 | 構成の責任 |
|---|---|---|
| 正しい | いいえ | カスタマー |
機能ノート: バックアップ機能は、Standard、Premium、Isolated App Service プランで実行されているアプリで使用できます。 これには、イベント ソースや外部から提供されたストレージのバックアップは含まれません。
構成ガイダンス: この機能の構成に関する現在の Microsoft ガイダンスはありません。 組織でこのセキュリティ機能を構成するかどうかを確認して決定してください。
リファレンス: Azure App Service でのアプリのバックアップと復元