Setting up Agentless Scanning for Cloud Security Management
Agentless Scanning for Cloud Security Management is not supported for your selected
Datadog site (
).
エージェントレススキャンは、Datadog Agent をインストールすることなく、AWS ホスト、実行中のコンテナ、Lambda 関数、Amazon Machine Images (AMI) 内に存在する脆弱性を視覚化します。
前提条件
AWS 環境にエージェントレススキャンをデプロイするには、Cloud Security Management を有効にすることに加えて、リモート構成を有効にする必要があります。
リモート構成を有効にする
リモート構成 (2024 年 4 月 8 日現在、デフォルトで有効) は、Datadog が、どのクラウドリソースをスキャンすべきかなどの情報をエージェントレススキャナーに送信できるようにするために必要です。組織でリモート構成が有効になっていない場合は、Datadog の組織設定に移動し、リモート構成のドキュメントのステップ 1~4 に従ってください。
注: スキャナーをデプロイした CSM 対応 AWS アカウントには、リモート構成が有効な API キーが必要です。
権限
注: 以下はエージェントレススキャンに必要な権限で、インストールプロセスの一環として自動的に適用されます。
IAM の権限 (ホストとコンテナの権限)
エージェントレススキャンのインスタンスは、ホストとコンテナをスキャンするために、次の IAM 権限を必要とします。
ec2:DescribeVolumes
ec2:CreateTags
ec2:CreateSnapshot
ec2:DeleteSnapshot
ec2:DescribeSnapshots
ec2:DescribeSnapshotAttribute
ebs:ListSnapshotBlocks
ebs:ListChangedBlocks
ebs:GetSnapshotBlock
Lambda の権限
エージェントレススキャンのインスタンスは、Lambda をスキャンするために、次の IAM 権限を必要とします。
デプロイ方法
エージェントレススキャナを環境にデプロイするには、クロスアカウントスキャンまたは同一アカウントスキャンの 2 つの方法が推奨されます。
注: エージェントレススキャンを使用する場合、クラウド環境でスキャナを実行するための追加コストが発生します。12 時間ごとに確実にスキャンを行いながらコストを最適化するために、Datadog では Terraform をデフォルトテンプレートとしてエージェントレススキャンをセットアップすることを推奨しています。
スキャナコストの見積もりについては、Datadog カスタマーサクセスマネージャーまでお問い合わせください。
クロスアカウントスキャンでは、エージェントレススキャナは単一のクラウドアカウント内の複数のリージョンにデプロイされます。デプロイされたエージェントレススキャナは、実際にコストがかかるクロスリージョンスキャンを実行せずに、複数のアカウントに対する可視性を付与されます。
250 ホスト以上の大規模アカウントの場合、これが最も費用対効果の高いオプションです。クロスリージョンスキャンを回避し、エージェントレススキャナの管理の摩擦を軽減するためです。エージェントレススキャナ専用のアカウントを作成するか、既存のアカウントを選択できます。エージェントレススキャナが配置されているアカウントもスキャンできます。
次の図は、中央のクラウドアカウントにデプロイされた場合のエージェントレススキャンの動作を示しています。
同一アカウントスキャンでは、アカウントごとに 1 つのエージェントレススキャナがデプロイされます。この方法は、各エージェントレススキャナがアカウントごとにクロスリージョンスキャンを実行する必要があるため、より多くのコストが発生する可能性がありますが、クロスアカウント権限を付与したくない場合、Datadog はこのオプションを推奨しています。
以下の図は、各クラウドアカウント内でデプロイされた場合のエージェントレススキャンの動作を示しています。
注: 実際にスキャンされたデータはインフラストラクチャー内に残り、収集されたパッケージのリストと、収集されたホスト (ホスト名/EC2 インスタンス) に関連する情報のみが Datadog に報告されます。
インストール
クラウド環境にエージェントレススキャンをインストールして構成するには、Terraform を使って手動で行う方法と、AWS インテグレーションで CloudFormation テンプレートを使う方法があります。
- AWS クラウドアカウントを Cloud Security Management に追加するためのセットアップ手順に従ってください。
- Cloud Security Management Setup ページで、Cloud accounts > AWS をクリックします。
- エージェントレススキャナをデプロイする AWS アカウントの Edit scanning ボタンをクリックします。
- Enable Resource Scanning は既に有効になっているはずです。Agentless scanning セクションで監視したいクラウドリソースのスキャンを有効にします。
- Terraform のセットアップの指示に従ってください。
- テンプレートが正常に実行されたことを確認したら、Done をクリックしてスキャンを開始します。
- Cloud Security Management Setup ページで、Cloud accounts > AWS をクリックします。
- エージェントレススキャナをデプロイする AWS アカウントの Edit scanning ボタンをクリックします。
- Enable Resource Scanning は既に有効になっているはずです。Agentless Scanning セクションで監視したいクラウドリソースのスキャンを有効にします。
- Terraform のセットアップの指示に従ってください。
- テンプレートが正常に実行されたことを確認したら、Done をクリックしてスキャンを開始します。
AWS インテグレーション
Amazon Web Services インテグレーションをセットアップし、リソース収集に必要な権限を追加してください。
新しい AWS アカウントを追加すると、以下の画面が表示されます。
- Cloud Security Management で Yes をクリックし、Agentless scanning セクションで監視したいクラウドリソースのスキャンを有効にします。
- リモート構成に構成済みの API キーを選択します。リモート構成が有効になっていない API キーを入力すると、選択時に自動的に有効になります。
- Launch CloudFormation Template をクリックします。テンプレートにはエージェントレススキャナのデプロイと管理に必要なすべての権限が含まれており、スキャンを受信するにはテンプレートが正常に実行される必要があります。
- Cloud Security Management Setup ページで、Cloud accounts > AWS をクリックします。
- エージェントレススキャナをデプロイする AWS アカウントの Edit scanning ボタンをクリックします。
- Enable Resource Scanning は既に有効になっているはずです。Agentless scanning セクションで監視したいクラウドリソースのスキャンを有効にします。
- AWS コンソールに移動し、このテンプレートを使用して新しい CloudFormation Stack を作成し、それを実行します。
- テンプレートが正常に実行されたことを確認したら、Done をクリックしてスキャンを開始します。
リソースの除外
AWS ホスト、コンテナ、Lambda 関数 (該当する場合) に、DatadogAgentlessScanner:false
タグを設定して、スキャンから除外します。このタグをリソースに追加するには、AWS ドキュメントに従ってください。
エージェントレススキャンの無効化
AWS アカウントでエージェントレススキャンを無効にするには、各クラウドリソースのスキャンを無効にします。
- Cloud Security Management Setup ページで、Cloud accounts > AWS をクリックします。
- エージェントレススキャナをデプロイした AWS アカウントの Edit scanning ボタンをクリックします。
- Agentless Scanning セクションで、監視を停止したいクラウドリソースのスキャンを無効にします。
- Done をクリックします。
AWS コンソールにアクセスし、エージェントレススキャン用に作成した CloudFormation スタックを削除します。
Terraform のアンインストールの手順に従ってください。