Azure オンボードのトラブルシューティング
Azureサブスクリプションを正常にオンボードしたら、CloudGuardがAzureアセットを評価できないような誤りがないことを確認します。最も一般的なエラーは、無効な認証情報(アクセス拒否)または権限の欠落に関連しています。
トラブルシューティング:
Assets > Environments を開きます。
Add Filterをクリックします。
次を選択します。
ステータス: Error and Warning
プラットフォーム:Azure
Status カラム項目にカーソルを置くと、ツールヒントの警告が表示されます。
Invalid credentials これは、Cloudguard-Connect アプリがAzure 環境と通信するのに十分なアクセス許可を持っていないことを意味します。
Missing permissions つまり、 Cloudguard-Connect アプリには、特定のAzure リソースからデータを取得するための十分な権限がありません。
関連する環境をクリックします。
Show more をクリックすると、Cloudguard-Connect に十分な権限がないアセットのリストが表示されます。
Validate Permissions をクリックして、環境のアクセス許可の検証を試みます。
permissions wizard を押して、CloudGuardトラブルシューティングウィザードを開きます。
動作モードを選択します- Read-Only または Manage
各ステップを完了して、Cloudguard-Connect アプリに正しい権限があることを確認します。
CloudGuardでクリック FINISH
これらの問題を解決するには:
Azure Key Vaultのアクセス許可の欠落
Azure Key Vaultを使用して認証情報を保存および保護する場合、CloudGuard はAzure Key Vaultメタデータにアクセスして、ボールトとそのコンテンツに準拠する必要があります。
キーボルトリソースとそのコンテンツを保護するために、Azure ロールベースのアクセス権限メカニズムは、このメタデータへのアクセスを許可しません。Key Vault権限は、個々のKey Vaultベースで付与する必要があります。
Assets > Environments では、CloudGuard はStatus カラムにmissing permission エラーを表示することで、この最初のアクセス不足に対応します。
これらの権限の欠落エラーを解決し、キーボルトのセキュリティを維持するには、追加の権限委譲手順を実装する必要があります(以下を参照)。 .
CloudGuard に必要な権限があると、コンプライアンスエンジンは事前定義されたGSL 規則の一覧を使用して、次のことを確認します。
Azure キーボルトは、環境内の認証クレデンシャル(キー、シークレット、証明書)を保存および保護するために使用されます。
すべてのキー(暗号キーなど)に有効期限が設定されている
すべてのシークレット(パスワード、データベース接続文字列など)に有効期限を設定します。
キーボルトはリカバリ可能です。これは、ユーザによる誤った削除や悪意のあるアクティビティから保護するためです。
キーボルトには、インサイダー攻撃から保護するためのパージ保護が有効になっています。
Key Vaultインスタンスとのすべてのインタラクションは、Key Vaultイベントログで使用できます。
Azure Key VaultとそのコンテンツのカスタムGSLルールを作成することで、Key Vaultのセキュリティをさらに強化できます。たとえば、証明書を発行できる人数や誰であるかなど、独自のキー格納域に固有のデータポイントを評価するルールです。
Azure Key Vaultエンティティのポリシーの設定
Azure Key Vaultには、AzureアカウントがCloudGuardにオンボードされたときに設定されたポリシー(上記)を使用してアクセスできないエンティティがあります。これは、デフォルトではAzureが格納域、秘密、証明書、およびキーへのアクセス権を付与しないためです。さらに、新しいエンティティが随時作成される場合があります。たとえば、CloudGuard コンプライアンスエンジンは、Azure 環境のコンプライアンスを評価するときにこれらのエンティティにアクセスする必要があります。
注 - Azure Storage アカウントにアクセスキーの期限切れチェックまたは更新チェックを含めることはできません。これは、Azure Key Vaultでのみ可能です。 |
以下の手順に従って、Azureアカウントで自動化アカウントとランブックを設定します。これにより、これらの新しいエンティティにアクセスするためのCloudGuardへのアクセス権が定期的に付与されます。このようなアカウントとランブックは、Azure サブスクリプションごとに設定する必要があります。

このステップでは、自動化アカウントとランブックを作成し、Key Vaultを含むサブスクリプションにアクセスします。
CloudGuardポリシーで更新する必要があるエンティティを含むKey Vaultを含むサブスクリプションの所有者ロールを使用して、Azureオートメーションアカウントを作成します。自動化アカウントの作成について詳しくは、https://docs.microsoft.com/en-us/azure/automation/automation-introを参照してください。
左側の自動化アカウントペインで、作成したアカウントを選択し、Access control (IAM) を選択してから、右側のペインの上部にあるAdd をクリックします。
Add Permissions ダイアログで、次のようにAutomation アカウントにOwner 権限を付与し、Save をクリックします。
Role - 所有者
Assign access to - Azure AD ユーザ、グループ、またはアプリケーション
Select - 自動化アカウントの名前を入力し、"_..." を追加してエントリを選択します。
更新する必要があるKey VaultがあるAzureサブスクリプションごとに、上記の手順を繰り返します(各サブスクリプションには、独自の自動化アカウントとランブックが必要です)。
Modules (Shared Resources) を選択し、モジュールのリストを更新してから、モジュールAzureRM.KeyVault とAzureRM.Profile がリストにあることを確認します。そうでない場合は、Browse gallery をクリックしてAzure ギャラリーで検索し、インポートします。
Runbooks (Process Automation で) を選択し、Add a runbook をクリックします。
Add Runbook ダイアログで、Create a new runbook を選択します。ランブックの名前(KeyVault など) を入力し、Powershell と入力します。必要に応じて、説明を追加し、Create をクリックします。

この手順では、Key Vaultのエンティティにアクセスするためのアクセス権限をCloudGuardアプリケーションに付与するスクリプトを準備します。このスクリプトは、定期的に実行されるジョブとしてスケジュールされます。このステップで使用されるスクリプトは、スクリプトの例です。自動化スクリプトの準備に熟練している場合は、それを変更するか、独自のスクリプトに置き換えることができます。
次のPowerShell スクリプトをダウンロードします。Key-Vault-Runbook-Script.ps1
Runbook ページで、手順1 で作成したRunbook を開き、Edit をクリックします。
ファイルから編集ペインにスクリプトをコピーします。
変数$excludedKeyVaults を検索し、特定のKey Vaultを除外するようにその値を設定します(除外がない場合は空白のままにします)。
$excludedKeyVaults = "DBKeyvault", "VMKeyvault"
変更を保存し、編集ペインを閉じます。
Azure ダッシュボードから、Enterprise applications を選択し、CloudGuard-Connect (オンボードプロセスの一部として作成されたアプリケーション) を選択します。
ObjectID 値をコピーします。
Runbook ページに戻り、ランブックを再度選択して、編集ペインを開きます。
変数$objectIds を検索し、上にコピーした値を貼り付けます。
$objectIds = "f81cf819-f710-4c99-abd0-2af561dba51e"
ランブックスクリプトを保存します。
必要に応じて、Test をクリックしてテストペインを開き、スクリプトをテストします。
Start をクリックしてテストを開始します。完了すると、ウィンドウに格納域のアクセスポリシーが更新されたことが示されます。

Runbook ページで、手順2 で作成したランブックを選択し、編集ペインを開きます。
Publishをクリックします。
Runbook で、runbook を選択し、Resources セクションでSchedules を選択してから、Add a schedule をクリックします。
Link a schedule to your runbook を選択し、Create a new schedule を選択します。
時間単位などのスケジュールを入力します。繰り返し期間には、新しい値がKey Vaultに追加される頻度が表示されます。
Create をクリックしてスケジュールを保存します。ランブックは、設定したスケジュールに基づいてジョブとして実行されます。
複数のランブックがある場合は、各ランブックに対して上記の手順を繰り返します。
Runbook ページで、左ペインでJobs を選択し、ジョブのステータスを確認します。スケジュールされたランブックが完了するたびに、新しい行が表示されます。
ボールトアクセスポリシー権限の設定
Azureサブスクリプションが1つ以上のKey Vaultをホスティングしている場合、CloudGuard でMissing permission エラーが表示されることがあります。
エラーメッセージの例を以下に示します。
これは、Azure が以下に適用される複数のオーバーラップアクセス許可メカニズムをサポートしているためです。
異なるクラウドリソースタイプ
同じクラウドリソースタイプの異なる世代
異なるレベルのクラウドリソース組織
これらの権限委譲メソッドの一部は互換性がありますが、多くは互換性がありません。
CloudGuardがAzureベースのリソースのメタデータを収集するために必要なアクセス許可のほとんどは、Azureサブスクリプションレベルで適用されるロールベースのアクセス許可メカニズムによって付与されます。ただし、Azure Key Vaultメタデータへのアクセスは、そのプロセスを通じて付与できません。Key Vaultのアクセス許可は、個々のKey Vaultベースで付与する必要があります。
CloudGuard は、自動化アカウントとランブックを使用して、機密性のないKey Vaultメタデータを収集します。CloudGuardの最近の改良により、必要なメタデータ収集の範囲が特定のAzure Graph API エンドポイントに拡張され、現行のRunbook + Automation Account フレームワークではAzure Graph へのアクセス権限が委任されません。
Key Vaultに保存されているキー、シークレット、および証明書のポスチャマネジメント評価のCloudGuard強化サポートを有効にするには、追加の権限委譲手順を完了します。Key Vault Vault Policy を使用して、CloudGuard サービスがAzure グラフAPI に読み取り専用コマンドを発行できるようにする必要があります。
これらのアクセス許可の設定の詳細については、sk173403 を参照してください。
注 -権限委譲メカニズムとしてのKey VaultVault Policies の使用は、Key Vaultのファイアウォール(ネットワークアクセスルール作成)機能の使用と互換性がありません。Key Vault ファイアウォールアクセスルールを1 つでも作成すると、同等のファイアウォールアクセスルールでカバーされていないすべてのVault Policy アクセス権限が実質的に無効になります。 |