次の方法で共有


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

このセキュリティ ベースラインは、 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

説明: ネットワーク トラフィックをフィルター処理するためのサービス ネイティブ 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 でのアプリのバックアップと復元

次のステップ