Functions 用の Azure セキュリティ ベースライン

このセキュリティ ベースラインは、 Microsoft クラウド セキュリティ ベンチマーク バージョン 1.0 のガイダンスを Functions に適用します。 Microsoft クラウド セキュリティ ベンチマークでは、Azure 上のクラウド ソリューションをセキュリティで保護する方法に関する推奨事項が提供されます。 コンテンツは、Microsoft クラウド セキュリティ ベンチマークと Functions に適用される関連ガイダンスによって定義されたセキュリティコントロールによってグループ化されます。

このセキュリティ ベースラインとその推奨事項は、Microsoft Defender for Cloud を使用して監視できます。 Azure Policy定義は、[クラウド ポータルのMicrosoft Defender] ページの [規制コンプライアンス] セクションに一覧表示されます。

機能に関連するAzure Policy定義がある場合は、Microsoft クラウド セキュリティ ベンチマークの制御と推奨事項への準拠を測定するのに役立つ、このベースラインに一覧表示されます。 一部の推奨事項では、特定のセキュリティ シナリオを有効にするために有料Microsoft Defenderプランが必要になる場合があります。

注意

Functions に適用されない機能は除外されています。 Functions が Microsoft クラウド セキュリティ ベンチマークに完全にマップされる方法については、 Functions のセキュリティ ベースライン マッピング ファイル全体を参照してください。

セキュリティ プロファイル

セキュリティ プロファイルは、Functions の影響の大きい動作をまとめたものです。これにより、セキュリティに関する考慮事項が高まる可能性があります。

サービス動作属性
製品カテゴリ コンピューティング、Web
お客様は HOST/OS にアクセスできます アクセス権なし
サービスは顧客の仮想ネットワークにデプロイできます True
顧客のコンテンツを保存する True

ネットワークのセキュリティ

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: ネットワーク セキュリティ」を参照してください。

NS-1: ネットワーク セグメント化の境界を確立する

機能

Virtual Network 統合

説明: サービスは、顧客のプライベート Virtual Network (VNet) へのデプロイをサポートします。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: サービスを仮想ネットワークにデプロイします。 パブリック IP をリソースに直接割り当てる強い理由がない限り、リソースにプライベート IP を割り当てます (該当する場合)。

: ネットワーク機能はサービスによって公開されますが、アプリケーション用に構成する必要があります。 既定では、パブリック ネットワーク アクセスは許可されます。

リファレンス: Azure Functions ネットワーク オプション

ネットワーク セキュリティ グループのサポート

説明: サービス ネットワーク トラフィックは、サブネット上のネットワーク セキュリティ グループルールの割り当てを尊重します。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: ネットワーク セキュリティ グループ (NSG) を使用して、ポート、プロトコル、送信元 IP アドレス、または宛先 IP アドレスによってトラフィックを制限または監視します。 NSG 規則を作成して、サービスのオープン ポートを制限します (信頼されていないネットワークから管理ポートにアクセスできないようにするなど)。 既定では、NSG はすべての受信トラフィックを拒否しますが、仮想ネットワークと Azure Load Balancer からのトラフィックを許可することに注意してください。

リファレンス: Azure Functions ネットワーク オプション

NS-2: ネットワーク制御を使用してクラウド サービスをセキュリティで保護する

機能

説明: ネットワーク トラフィックをフィルター処理するためのサービス ネイティブ IP フィルタリング機能 (NSG やAzure Firewallと混同しないように)。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: Private Link機能をサポートするすべての Azure リソースのプライベート エンドポイントをデプロイして、リソースのプライベート アクセス ポイントを確立します。

リファレンス: Azure Functions ネットワーク オプション

パブリック ネットワーク アクセスの無効化

説明: サービスでは、サービス レベルの IP ACL フィルター規則 (NSG またはAzure Firewallではなく) または [パブリック ネットワーク アクセスの無効化] トグル スイッチを使用して、パブリック ネットワーク アクセスを無効にできます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

機能ノート: Azure Functionsはプライベート エンドポイントで構成できますが、プライベート エンドポイントを構成していないパブリック ネットワーク アクセスを無効にするためのトグルは現在 1 つもありません。

構成ガイダンス: サービス レベルの IP ACL フィルタリング規則またはパブリック ネットワーク アクセス用の切り替えスイッチを使用して、パブリック ネットワーク アクセスを無効にします。

ID 管理

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: ID 管理」を参照してください。

IM-1: 一元的な ID および認証システムを使用する

機能

データ プレーン アクセスに必要な Azure AD Authentication

説明: サービスでは、データ プレーン アクセスに Azure AD 認証を使用できます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

機能に関するメモ: 顧客所有のエンドポイントは、Azure AD 認証要件を必要とするように構成できます。 デプロイ操作と高度な開発者ツール用のシステム提供のエンドポイントは Azure AD をサポートしていますが、既定では発行資格情報を使用することもできます。 これらの発行資格情報は無効にすることができます。 アプリ上の一部のデータ プレーン エンドポイントは、Functions ホストで構成された管理キーによってアクセスされる場合があり、現時点では Azure AD の要件では構成できません。

構成ガイダンス: データ プレーンアクセスを制御するための既定の認証方法として Azure Active Directory (Azure AD) を使用します。

リファレンス: デプロイ資格情報を構成する - 基本認証を無効にする

データ プレーン アクセスのローカル認証方法

説明: ローカルユーザー名やパスワードなど、データ プレーンアクセスでサポートされるローカル認証方法。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True True Microsoft

機能に関するメモ: デプロイ資格情報は既定で作成されますが、無効にすることはできます。 アプリケーション ランタイムによって公開される一部の操作は、現在無効にできない管理キーを使用して実行できます。 このキーは Azure Key Vault に格納することができます。また、いつでも再生成できます。 ローカル認証方法またはアカウントの使用は避けてください。これらは可能な限り無効にする必要があります。 代わりに、可能な場合は Azure AD を使用して認証します。

構成ガイダンス: 既定のデプロイでこれが有効になっているので、追加の構成は必要ありません。

リファレンス: 基本認証を無効にする

IM-3: アプリケーション ID を安全かつ自動的に管理する

機能

マネージド ID

説明: データ プレーン アクションでは、マネージド ID を使用した認証がサポートされます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: 可能な場合は、サービス プリンシパルの代わりに Azure マネージド ID を使用します。これにより、Azure Active Directory (Azure AD) 認証をサポートする Azure サービスとリソースに対して認証できます。 マネージド ID の資格情報は、プラットフォームによって完全に管理、ローテーション、保護されており、ソース コードまたは構成ファイル内でハードコーディングされた資格情報を使用せずに済みます。

リファレンス: App ServiceとAzure Functionsにマネージド ID を使用する方法

サービス プリンシパル

説明: データ プレーンでは、サービス プリンシパルを使用した認証がサポートされています。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: この機能の構成に関する現在の Microsoft ガイダンスはありません。 organizationがこのセキュリティ機能を構成するかどうかを確認して確認してください。

Microsoft Defender for Cloud による監視

Azure Policy 組み込み定義 - Microsoft.Web:

名前
(Azure portal)
説明 効果 Version
(GitHub)
App Service アプリではマネージド ID を使用する必要がある マネージド ID を使用して認証セキュリティを強化します AuditIfNotExists、Disabled 3.0.0

IM-7: 条件に基づいてリソースへのアクセスを制限する

機能

データ プレーンへの条件付きアクセス

説明: データ プレーンアクセスは、Azure AD 条件付きアクセス ポリシーを使用して制御できます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

機能に関するメモ: アプリケーションで定義されていないデータ プレーン エンドポイントの場合は、Azure Service Management に対して条件付きアクセスを構成する必要があります。

構成ガイダンス: ワークロード内の Azure Active Directory (Azure AD) 条件付きアクセスに適用できる条件と条件を定義します。 特定の場所からのアクセスのブロックや許可、危険なサインイン動作のブロック、特定のアプリケーションに対するorganizationマネージド デバイスの要求など、一般的なユース ケースを検討してください。

IM-8: 資格情報とシークレットの公開を制限する

機能

Azure Key Vault での、サービス資格情報とシークレットの統合とストレージのサポート

説明: データ プレーンでは、資格情報とシークレット ストアに対する Azure Key Vaultのネイティブな使用がサポートされています。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: シークレットと資格情報は、コードファイルや構成ファイルに埋め込むのではなく、Azure Key Vaultなどのセキュリティで保護された場所に格納されていることを確認します。

リファレンス: App ServiceとAzure FunctionsにKey Vault参照を使用する

特権アクセス

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: 特権アクセス」を参照してください。

PA-1: 高い特権を持つ/管理者ユーザーを分離して制限する

機能

ローカル 管理 アカウント

説明: サービスには、ローカル管理アカウントの概念があります。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
False 適用しない 適用しない

構成ガイダンス: この機能は、このサービスをセキュリティで保護するためにサポートされていません。

PA-7: Just Enough Administration (最小限の特権の原則) に従う

機能

Azure RBAC for Data Plane

説明: Azure Role-Based Access Control (Azure RBAC) を使用して、サービスのデータ プレーン アクションへのアクセスを管理できます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

機能ノート: Azure RBAC を利用できるデータ プレーン アクションは、Kudu/SCM/deployment エンドポイントのみです。 これには、操作に対するアクセス許可が Microsoft.Web/sites/publish/Action 必要です。 顧客アプリケーション自体によって公開されるエンドポイントは、Azure RBAC の対象になりません。

構成ガイダンス: Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、組み込みのロールの割り当てを通じて Azure リソース へのアクセスを管理します。 Azure RBAC ロールは、ユーザー、グループ、サービス プリンシパル、マネージド ID に割り当てることができます。

リファレンス: Kudu にアクセスするために必要な RBAC アクセス許可

PA-8: クラウド プロバイダー サポートのアクセス プロセスを決定する

機能

カスタマー ロックボックス

説明: カスタマー ロックボックスは、Microsoft サポート へのアクセスに使用できます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: Microsoft がデータにアクセスする必要があるサポート シナリオでは、カスタマー ロックボックスを使用して確認し、各 Microsoft のデータ アクセス要求を承認または拒否します。

データの保護

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: データ保護」を参照してください。

DP-2: 機密データをターゲットにした異常と脅威を監視する

機能

データ漏えい/損失防止

説明: サービスでは、(顧客のコンテンツ内の) 機密データの移動を監視するための DLP ソリューションがサポートされています。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
False 適用しない 適用しない

構成ガイダンス: この機能は、このサービスをセキュリティで保護するためにサポートされていません。

DP-3: 転送中の機密データの暗号化

機能

転送中データの暗号化

説明: サービスでは、データ プレーンの転送中のデータ暗号化がサポートされています。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

機能ノート: 関数アプリは、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)
説明 効果 Version
(GitHub)
App Service アプリに HTTPS を介してのみアクセスできるようにする HTTPS を使用すると、サーバー/サービスの認証が確実に実行され、転送中のデータがネットワーク層の傍受攻撃から保護されるようになります。 Audit, Disabled, Deny 4.0.0

DP-4: 保存データ暗号化を既定で有効にする

機能

プラットフォーム キーを使用した保存データの暗号化

説明: プラットフォーム キーを使用した保存データの暗号化がサポートされており、保存中のすべての顧客コンテンツは、これらの Microsoft マネージド キーで暗号化されます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True True Microsoft

構成ガイダンス: これは既定のデプロイで有効になっているので、追加の構成は必要ありません。

DP-5: 必要に応じて保存データ暗号化でカスタマー マネージド キー オプションを使用する

機能

CMK を使用した保存データの暗号化

説明: カスタマー マネージド キーを使用した保存データの暗号化は、サービスによって格納される顧客コンテンツでサポートされています。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

機能ノート: Azure Functionsは、この機能を直接サポートしていませんが、Functions で使用可能なデータ ストレージの代わりに、サービスを利用するようにアプリケーションを構成できます。 Azure Filesファイル システムとしてマウントできます。シークレットを含むすべてのアプリ設定は Azure Key Vaultに格納され、run-from-package などのデプロイ オプションは Azure Blob Storage からコンテンツをプルできます。

構成ガイダンス: 規制コンプライアンスに必要な場合は、カスタマー マネージド キーを使用した暗号化が必要なユース ケースとサービス スコープを定義します。 それらのサービスでカスタマー マネージド キーを使って、保存データ暗号化を有効にして実装します。

リファレンス: カスタマー マネージド キーを使用して保存時のアプリケーション データを暗号化する

DP-6: セキュア キー管理プロセスの使用

機能

Azure Key Vault でのキー管理

説明: このサービスでは、カスタマー キー、シークレット、または証明書に対する Azure Key Vault統合がサポートされています。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: 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: セキュリティで保護された証明書管理プロセスを使用する

機能

Azure Key Vault での証明書管理

説明: このサービスでは、顧客証明書に対する Azure Key Vault統合がサポートされています。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: Azure Key Vaultを使用して、証明書の作成、インポート、ローテーション、失効、ストレージ、消去など、証明書のライフサイクルを作成および制御します。 キー サイズが不十分、有効期間が過度に長い、安全でない暗号化など、セキュリティで保護されていないプロパティを使用せずに、証明書の生成が定義された標準に従っていることを確認します。 定義されたスケジュールまたは証明書の有効期限に基づいて、Azure Key Vaultと Azure サービス (サポートされている場合) で証明書の自動ローテーションを設定します。 アプリケーションで自動ローテーションがサポートされていない場合は、Azure Key Vault とアプリケーションで手動の方法を使用してローテーションされていることを確認します。

リファレンス: Azure App Serviceに TLS/SSL 証明書を追加する

アセット管理

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: 資産管理」を参照してください。

AM-2: 承認済みのサービスのみを使用する

機能

Azure Policy のサポート

説明: サービス構成は、Azure Policyを使用して監視および適用できます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: Microsoft Defender for Cloud を使用して、Azure リソースの構成を監査および適用するためのAzure Policyを構成します。 Azure Monitor を使用し、リソースで構成の逸脱が検出されたときにアラートを作成します。 Azure Policy [deny] と [deploy if not exists] 効果を使用して、Azure リソース全体にセキュリティで保護された構成を適用します。

ログと脅威検出

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: ログ記録と脅威検出」を参照してください。

LT-1: 脅威検出機能を有効にする

機能

サービス/製品のオファリングのための Microsoft Defender

説明: サービスには、セキュリティの問題を監視してアラートを生成するためのオファリング固有のMicrosoft Defender ソリューションがあります。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

機能ノート: Defender for App ServiceにはAzure Functionsが含まれています。 このソリューションが有効になっている場合は、有効化スコープの下の関数アプリが含まれます。

構成ガイダンス: 管理プレーンのアクセスを制御するには、既定の認証方法として Azure Active Directory (Azure AD) を使用します。 Key VaultのMicrosoft Defenderからアラートを受け取ったら、アラートを調査して応答します。

リファレンス: Defender for App Service

LT-4: セキュリティ調査のためのログを有効にする

機能

Azure リソース ログ

説明: サービスは、強化されたサービス固有のメトリックとログを提供できるリソース ログを生成します。 お客様はこれらのリソース ログを構成し、ストレージ アカウントや Log Analytics ワークスペースなどの独自のデータ シンクに送信できます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: サービスのリソース ログを有効にします。 たとえば、Key Vaultでは、キー コンテナーからシークレットを取得するアクションや、データベースへの要求を追跡するリソース ログAzure SQLに対する追加のリソース ログがサポートされています。 リソース ログの内容は、Azure サービスとリソースの種類によって異なります。

リファレンス: Azure Monitor ログを使用した監視Azure Functions

バックアップと回復

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: バックアップと回復」を参照してください。

BR-1:定期的な自動バックアップを保証する

機能

Azure Backup

説明: サービスは、Azure Backup サービスによってバックアップできます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
False 適用しない 適用しない

機能ノート: Standard、Premium、または Isolated App Service プランでホストされている場合は、アプリケーションをバックアップするための機能を使用できます。 この機能はAzure Backupを利用せず、イベント ソースや外部にリンクされたストレージも含まれません。 詳細については、「/azure/app-service/manage-backup」を参照してください。

構成ガイダンス: この機能は、このサービスをセキュリティで保護するためにサポートされていません。

サービス ネイティブ バックアップ機能

説明: サービスでは、独自のネイティブ バックアップ機能がサポートされます (Azure Backupを使用していない場合)。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

機能ノート: バックアップ機能は、Standard、Premium、Isolated App Service プランで実行されているアプリで使用できます。 これには、イベント ソースや外部提供のストレージのバックアップは含まれません。

構成ガイダンス: この機能の構成に関する現在の Microsoft ガイダンスはありません。 organizationがこのセキュリティ機能を構成する必要があるかどうかを確認して判断してください。

リファレンス: Azure App Serviceでアプリをバックアップおよび復元する

次の手順