View a markdown version of this page

Microsoft Azure と統合するように Security Hub を設定する - AWS Security Hub

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Microsoft Azure と統合するように Security Hub を設定する

前提条件タスクを完了し、Microsoft Azure 環境を設定したら、 AWS Security Hub を Azure と統合するように設定できます。Azure と統合するように Security Hub を設定するには、コネクタを作成します。コネクタは、委任管理者アカウントまたは管理アカウントから作成できます。コネクタを作成すると、次のイベントが発生します。

  1. Security Hub は、Azure 認証情報と Azure 環境への接続を検証します。この処理には数分かかることもあります。

  2. Security Hub は、Security Hub CSPM と Amazon Inspector にサービスにリンクされたコネクタを作成します。これらのコネクタは、体制管理チェックと脆弱性スキャンが Security Hub で定義した範囲と一致するようにします。

  3. AWS Config は、フェデレーティッド ID 認証情報を使用して Azure リソースの検出を開始します。

  4. Security Hub は、Azure リソースの CSPM で CIS Microsoft Azure Foundations Benchmark v4.0 標準と Azure Foundational Best Practices 標準を自動的に有効にします。

  5. アクティビティログイベントを含むリソースについては、最初の検出結果が 15~30 分以内に表示されます。既存のすべてのリソースの完全な評価には、最大 24 時間かかる場合があります。

Azure コネクタを作成する

環境用の Microsoft Azure コネクタを作成するには、 AWS Security Hub コンソールまたは API を使用して次の手順を実行します。

  1. で AWS Security Hub コンソールを開きますか? https://console.aws.amazon.com/securityhub/advanced/homeregion=us-east-1。

  2. ナビゲーションペインで、[統合] を選択します。

  3. Azure コネクタの作成を選択します。

  4. セキュリティ機能セクションで、ネットワークスキャン機能を有効にするかどうかを選択します。この機能は、Azure 統合を有効にするアカウントでデフォルトで有効になっており、コネクタのセットアップを完了する前にチェックを解除できます。組織ポリシーがアカウントのこの機能をブロックしている場合、オプションとして表示されません。詳細については、Security Hub の「ネットワークスキャン」を参照してください。

  5. Azure テナント ID には、Microsoft Entra ID テナント識別子を入力します。これは、Azure ポータルの Microsoft Entra ID > Properties > Tenant ID にあります。

  6. アプリケーション (クライアント) ID には、Azure 環境のセットアップ時に登録した Azure アプリケーションのアプリケーション ID を入力します。

  7. 以下を実行して、追加の設定とコネクタの範囲を設定します。

    • 名前 に、コネクタの一意の名前を入力します。名前には最大 50 文字の英数字を含めることができ、ハイフンを含めることができます。

      注記

      コネクタ名は、作成後に変更することはできません。

    • 説明 には、オプションでコネクタの簡単な説明を入力します。説明には最大 200 文字を含めることができます。

    重要

    名前と説明は、コンテンツを識別するために使用されます。機密情報、機密情報、個人を特定できる情報 (PII) を含めないでください。

    • サブスクリプションでは、テナント内のすべての現在および将来のサブスクリプションをモニタリングするすべてのサブスクリプション、または指定したサブスクリプションのみをモニタリングする特定のサブスクリプションを選択します。特定のサブスクリプションのみをモニタリングする場合は、各サブスクリプションの ID を入力します。

    • リージョンの場合は、すべてのリージョンを選択してすべての Azure リージョンのリソースをモニタリングするか、特定のリージョンを選択して、指定したリージョンのみをモニタリングします。

      注記

      同じ Azure テナントに対して Security Hub CSPM または Amazon Inspector でコネクタを既に作成している場合、Security Hub のコネクタの範囲には、Security Hub CSPM または Amazon Inspector のコネクタと同じサブスクリプションとリージョンを含める必要があります。

      注記

      Microsoft Entra ID および Microsoft Graph リソースを評価するコントロールでは、統合設定にグローバルリージョンスコープを含める必要があります。特定の Azure リージョンのみを選択した場合、これらのコントロールは結果を生成しません。

  8. コネクタの設定を確認します。

    注記

    Amazon Inspector for Azure VM スキャンを使用する場合は、必要な IAM ロールを作成する必要があります。詳細については、「Amazon Inspector による Azure VM スキャンの IAM ロール」を参照してください。

  9. 設定の入力と確認が完了したら、コネクタの作成を選択します。

Amazon Inspector による Azure VM スキャンの IAM ロール

Amazon Inspector で脆弱性スキャンを有効にするには、 で次の IAM リソースを作成する必要があります AWS アカウント。

IAM OIDC ID プロバイダー

次の設定Microsoft Entra IDで の IAM OIDC ID プロバイダーを作成します。

  • 発行者 URL: https://sts.windows.net/tenant-id/

  • クライアント ID リスト: api://app-id、 api://AzureADTokenExchange

  • サムプリント: すべてのゼロの 40 文字の文字列 (040 回繰り返されます)。 AWS STS は、サムプリント値ではなく JWKS エンドポイントを介してトークンを検証します。

Inspector2VmScannerRole-tenant-id

Azure VM で実行されている Amazon Inspector VMs、スキャンテレメトリを Amazon Inspector に送信します。このロールは、ID プロバイダーを介した OIDC ウェブ Microsoft Entra ID ID フェデレーションを使用します。

信頼ポリシー:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::account-id:oidc-provider/sts.windows.net/tenant-id/" }, "Action": "sts:AssumeRoleWithWebIdentity" } ] }

タグ:

  • inspector-managed = true

アクセス許可ポリシー (TelemetryPolicy):

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "inspector2-telemetry:*", "Resource": "*" } ] }
Inspector2SSMFederationRole-tenant-id

安全なクラウド間認証のために、Azure への OIDC フェデレーションを有効にします。このロールは、Azure オペレーション用のウェブ ID トークンを取得するために、AssumeRole と DispatchRole、および Amazon EC2 Systems Manager によって引き受けられます。

信頼ポリシー:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:root" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:PrincipalTag/caller": "SSM" }, "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::account-id:role/Inspector2SSMAssumeRole-tenant-id", "arn:aws:iam::account-id:role/Inspector2SSMDispatchRole-tenant-id" ] } } }, { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

アクセス許可ポリシー (FederationPolicy):

{ "Version":"2012-10-17", "Statement": [ { "Condition": { "ForAnyValue:StringEquals": { "sts:IdentityTokenAudience": [ "api://AzureADTokenExchange" ] } }, "Action": [ "sts:GetWebIdentityToken", "sts:TagGetWebIdentityToken" ], "Resource": "*", "Effect": "Allow" } ] }

タグ:

  • caller = SSM

  • inspector-managed = true

Inspector2SSMAssumeRole-tenant-id

Amazon EC2 Systems Manager Automation を実行して、Azure VMsとしてオンボードします。このロールは、ハイブリッドアクティベーションを作成および管理し、ロールを Amazon EC2 Systems Manager に渡して、オートメーションドキュメントを取得します。

信頼ポリシー:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" } } } ] }

アクセス許可ポリシー (AssumeRolePolicy):

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::account-id:role/Inspector2SSMFederationRole-tenant-id" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/AmazonEC2RunCommandRoleForManagedInstances", "Condition": { "StringEquals": { "iam:PassedToService": "ssm.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:CreateActivation", "ssm:DeleteActivation", "ssm:DescribeActivations", "ssm:DescribeInstanceInformation", "ssm:PutConfigurePackageResult", "iam:ListRoleTags" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ssm:AddTagsToResource", "Resource": [ "arn:aws:ssm:*:account-id:activation/*", "arn:aws:ssm:*:account-id:managed-instance/*" ] }, { "Effect": "Allow", "Action": "ssm:GetDocument", "Resource": [ "arn:aws:ssm:*:*:document/AWS-InstallDistributorPackageOnAzure", "arn:aws:ssm:*:*:document/AWS-InstallSsmAgentOnAzure", "arn:aws:ssm:*::document/AmazonInspector2-InspectorVmScanner" ] }, { "Effect": "Allow", "Action": "ssm:GetCloudConnector", "Resource": "*" } ] }

タグ:

  • caller = SSM

  • AzureTenantId = tenant-id

  • AzureApplicationId = app-id

  • inspector-managed = true

Inspector2SSMDispatchRole-tenant-id

Azure VM のターゲットを解決し、Amazon EC2 Systems Manager Automation を介して Amazon Inspector VM Scanner エージェントのインストールをディスパッチします。 Amazon EC2 Systems Manager このロールは自動化の実行を開始し、AssumeRole を Amazon EC2 Systems Manager に渡します。

信頼ポリシー:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" } } } ] }

アクセス許可ポリシー (DispatchPolicy):

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/Inspector2SSMAssumeRole-tenant-id", "Condition": { "StringEquals": { "iam:PassedToService": "ssm.amazonaws.com" } } }, { "Effect": "Allow", "Action": "ssm:StartAutomationExecution", "Resource": [ "arn:aws:ssm:*:*:document/AWS-InstallDistributorPackageOnAzure", "arn:aws:ssm:*:account-id:automation-execution/*" ] }, { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::account-id:role/Inspector2SSMFederationRole-tenant-id" }, { "Effect": "Allow", "Action": [ "ssm:DescribeInstanceInformation", "ssm:ListCloudConnectors", "ssm:GetCloudConnector", "iam:ListRoleTags" ], "Resource": "*" } ] }

タグ:

  • caller = SSM

  • inspector-managed = true

VM スキャンの前提条件

Azure アプリの登録では、アプリケーション ID URI を に設定する必要がありますapi://app-id。

スキャンする各 Azure VM では、システム割り当てのマネージド ID が有効になっている必要があります。新しい VMs にマネージド ID を自動的に割り当てるには、Azure 環境で DeployIfNotExists ポリシーを使用します。

コネクタを作成すると、Security Hub は Azure 環境のモニタリングを開始します。コネクタのステータスは、統合ページで確認できます。

Azure コネクタの範囲を調整する

Microsoft Azure コネクタを作成したら、モニタリングする Azure サブスクリプションまたは Azure リージョンを変更することで、コネクタの範囲を調整できます。スコープの変更は、通常、アクティビティログイベントを持つリソースに対して 15~30 分以内に有効になります。新しく追加された Azure サブスクリプションの完全な評価には、最大 24 時間かかる場合があります。

コネクタの範囲を調整する前に、次の点に注意してください。

  • Security Hub でコネクタのスコープを変更すると、Security Hub CSPM と Amazon Inspector の関連するサービスにリンクされたコネクタが一致するように自動的に更新されます。

  • Security Hub コネクタの範囲は、同じ Azure テナントの Security Hub CSPM または Amazon Inspector の既存のカスタマーマネージドコネクタよりも小さくすることはできません。

  • コネクタスコープにリージョンを追加する場合は、セットアップスクリプトを再実行して、新しいリージョンに Event Hub インフラストラクチャをプロビジョニングする必要があります。既存の Event Hub 設定は影響を受けません。

Azure コネクタの状態を確認する

Microsoft Azure コネクタの状態はいつでも確認でき、Security Hub が Azure 環境からデータを受信していることを確認します。

コネクタの状態を確認するには
  1. で AWS Security Hub コンソールを開きますか? https://console.aws.amazon.com/securityhub/advanced/homeregion=us-east-1。

  2. ナビゲーションペインで、統合を選択し、Azure コネクタを選択します。

  3. コネクタのステータスがアクティブになっていることを確認します。コネクタがアクティブと表示されている場合、検証は完了です。別のステータスが表示される場合は、「」を参照してくださいAzure コネクタのトラブルシューティング。

  4. 結果に移動し、 でフィルタリングResourceCloudProviders = Azureして、Azure リソースの結果が生成されていることを確認します。

  5. セキュリティ標準ページをチェックして、CIS Azure v4.0 標準に PASSED または FAILED ステータス (すべての NO_DATA ではない) のコントロールが表示されていることを確認します。

注記

コネクタのヘルスステータスは結果整合性があります。アクセス許可または設定の問題が発生すると、コネクタのステータスはすぐに Degraded に変わり、実用的なメッセージが表示されます。ただし、問題を修正した後、ステータスが Connected に戻るまでに最大 24 時間かかる場合があります。

  • 最近の修正後のデグレードステータスは、必ずしも進行中の問題を示しているわけではありません。

  • 記録の失敗をリアルタイムで可視化するには、 名前空間の CloudWatch メトリクスを確認します。

Azure コネクタのトラブルシューティング

コネクタに問題がある場合は、以下の一般的な問題と解決策を確認してください。

コネクタのステータスが異常です

この問題は通常、Azure でフェデレーティッド認証情報が正しく設定されていない場合に発生します。

この問題に対処するには、Azure フェデレーション認証情報のトークン発行者 URL とサブジェクト ARN が と一致することを確認します AWS アカウント。

30 分後に検出結果がない

この問題は、Event Hub がアクティビティログを受信していない場合に発生する可能性があります。

この問題に対処するには、Azure サブスクリプションで診断設定が設定されていること、および Event Hub 名前空間に が正しくタグ付けされていることを確認しますAWSConfig-account-id-region。

すべてのコントロールに NO_DATA が表示されます

この問題は、コネクタが無効になっているか、 が Azure 環境に到達 AWS Config できない場合に発生する可能性があります。

この問題に対処するには、コネクタが有効になっていること、およびサービスプリンシパルがテナントルート管理グループスコープにリーダーロールを持っていることを確認します。

一部の Azure リソースを記録できない

エラーは、次のいずれかの理由で発生する可能性があります。

  • Azure 環境は、リソース記録の前提条件を満たしていません。

  • アプリ登録には、Microsoft Graph API アクセス許可に対する管理者の同意がありません。

  • リーダーロールの割り当ては、必要なすべてのスコープをカバーしているわけではありません。

  • Microsoft Entra ID テナントに必要なログデータがありません。

エラーに対処するには、以下を実行します。

  1. 環境がすべての要件を満たしていることを確認するには、「Microsoft Azure の前提条件」を参照してください。

  2. 管理者の同意を得て、アプリ登録に必要な Microsoft Graph API アクセス許可があることを確認します。

  3. サービスプリンシパルがテナントルート管理グループスコープにリーダーロールを持っていることを確認します。

検出結果は一部のサブスクリプションにのみ表示されます

この問題は、アクティビティログのエクスポートがすべてのターゲットサブスクリプションに設定されていない場合に発生する可能性があります。

この問題に対処するには、診断設定がコネクタスコープに含まれるすべてのサブスクリプションを対象としていることを確認します。

Security Hub がリソース識別子と検出結果識別子を処理する方法

AWS Security Hub の Azure 統合を有効にすると、他のクラウドプロバイダーから収集された対応するリソース設定とセキュリティ検出結果データの管理に関連するメタデータとして、他のクラウドプロバイダーのリソースおよびセキュリティ検出結果識別子が AWS Config、、Security Hub、およびその他の AWS サービス (必要に応じて) に保存されます。このような識別子は、「お客様のコンテンツ」を構成するものではありません。機密情報、機密情報、個人を特定できる情報は含めないでください。

接続されたクラウド環境の次の識別子は、マルチクラウドセキュリティ機能を提供するために AWS によって保存および使用されます。

  • リソース識別子: Azure テナント ID、サブスクリプション ID、ロケーション (リージョン)、リソース ID (リソースグループ IDsまたは名前、リソースプロバイダー、リソースタイプ)

  • Security Finding 識別子: 検出サービスによって生成された各セキュリティ検出結果に割り当てられた一意の識別子。

これらの識別子間の関係 - リソースが互いにどのように関係しているか、検出結果がリソースにどのように関係しているか - は、サービスメタデータとしても保存されます。 は、リソースの相関、検出結果をリソースに関連付ける、サービスの運用ログ記録、重複排除のためにこれらの識別子 AWS を使用します。