翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
拡張スキャン
Amazon ECR 拡張スキャンは、コンテナイメージの脆弱性スキャンを提供する Amazon Inspector との統合です。コンテナイメージは、オペレーティングシステムとプログラミング言語パッケージの両方の脆弱性についてスキャンされます。スキャンの結果は、Amazon ECR と Amazon Inspector の両方で直接表示できます。Amazon Inspector の詳細については、Amazon Inspector ユーザーガイドの Scanning container images with Amazon Inspector を参照してください。
拡張スキャンでは、自動連続スキャン用に構成するリポジトリと、プッシュ時にスキャンするように構成するリポジトリを選択できます。これは、スキャンフィルターを設定することによって行われます。
拡張スキャンの考慮事項
Amazon ECR 拡張スキャンを有効にするときは、次の事項を考慮する必要があります。
-
この機能を使用するために Amazon ECR に追加料金はかかりませんが、イメージをスキャンするために Amazon Inspector の料金がかかります。詳細については、「Amazon Inspector の料金
」を参照してください。 -
次のリージョンでは、拡張スキャンはサポートされていません。
-
中東 (アラブ首長国連邦) (
me-central-1
) -
アジアパシフィック (ハイデラバード) (
ap-south-2
) -
イスラエル (テルアビブ) (
il-central-1
) -
アジアパシフィック (メルボルン) (
ap-southeast-4
) -
欧州 (スペイン) (
eu-south-2
)
-
-
Amazon Inspector では特定のオペレーティングシステムのスキャンがサポートされます。完全なリストについては、Amazon Inspector ユーザーガイドの「サポートされているオペレーティングシステム - Amazon ECR スキャン」を参照してください。
-
Amazon Inspector は、サービスにリンクされた IAM ロールを使用します。このロールは、リポジトリに対する拡張スキャンを行うのに必要なアクセス許可を提供します。プライベートレジストリで拡張スキャンがオンになっている場合、サービスにリンクされた IAM ロールは Amazon Inspector によって自動的に作成されます。詳細については、「Amazon Inspector ユーザーガイド」の「Amazon Inspector でのサービスにリンクされたロールの使用」を参照してください。
-
プライベートレジストリの拡張スキャンを最初に有効にしたとき、Amazon Inspector は、イメージのプッシュタイムスタンプに基づいて、過去 30 日以内に Amazon ECR にプッシュされたイメージ、または過去 90 日間にプルされたイメージのみを認識します。古い画像は
SCAN_ELIGIBILITY_EXPIRED
スキャンステータスになります。これらの画像を Amazon Inspector でスキャンしたい場合は、リポジトリに再度プッシュする必要があります。 -
拡張スキャンをオンにした後に Amazon ECR にプッシュされたすべての画像は、設定された期間、継続してスキャンされます。デフォルトでは、有効期間は [一生] です。この設定は、Amazon Inspector コンソールを使用して設定できます。詳細については、「拡張スキャンの期間を変更する」を参照してください。
-
Amazon ECR プライベートレジストリで拡張スキャンがオンになっている場合、スキャンフィルターに一致するリポジトリは、拡張スキャンのみを使用してスキャンされます。フィルターと一致しないリポジトリのスキャン頻度は
Off
であり、スキャンされません。拡張スキャンを使用した手動スキャンはサポートされていません。詳細については、「フィルターの使用」を参照してください。 -
複数のフィルターが同じリポジトリに一致するプッシュ時スキャンと連続スキャンに別々のフィルターを指定すると、Amazon ECR はそのリポジトリのスキャンオンプッシュフィルターに対して連続スキャンフィルターを適用します。
-
拡張スキャンを有効にすると、Amazon ECR EventBridge はリポジトリのスキャン頻度が変更されたときにイベントを送信します。Amazon Inspector は、 EventBridge 初期スキャンが完了したときと、イメージスキャンの結果が作成、更新、または閉じられたときにイベントを発行します。
必要な IAM 許可
Amazon ECR 拡張スキャンには、Amazon Inspector サービスにリンクされた IAM ロールが必要です。また、拡張スキャンを有効化および使用する IAM プリンシパルには、スキャンで必要な Amazon Inspector API を呼び出すアクセス許可が必要です。プライベートレジストリで拡張スキャンがオンになっている場合、Amazon Inspector サービスにリンクされた IAM ロールは Amazon Inspector によって自動的に作成されます。詳細については、Amazon Inspector ユーザーガイドの Amazon Inspector でのサービスにリンクされたロールの使用 を参照してください。
次の IAM ポリシーは、拡張スキャンの有効化と使用に必要なアクセス許可を付与します。これには、Amazon Inspector がサービスにリンクされた IAM ロールを作成するために必要なアクセス許可、および拡張スキャンをオンまたはオフにして、およびスキャン結果の取得に必要な Amazon Inspector API のアクセス許可が含まれます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "inspector2:Enable", "inspector2:Disable", "inspector2:ListFindings", "inspector2:ListAccountPermissions", "inspector2:ListCoverage" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": [ "inspector2.amazonaws.com" ] } } } ] }
拡張スキャンの使用
拡張スキャンの期間を変更する
Amazon Inspector では、プライベートリポジトリを継続的に監視する期間を設定できます。デフォルトでは、Amazon ECR プライベートレジストリで拡張スキャンがオンになっている場合、Amazon Inspector サービスは、イメージが削除されるか、拡張スキャンが無効になるまで、リポジトリを継続的に監視します。Amazon Inspector がイメージをスキャンする期間は、Amazon Inspector の設定を使用して変更できます。利用可能なスキャン期間は、[Lifetime (デフォルト)] (有効期間)、[180 day] (180 日間)、および [30 day] (30 日間) です。リポジトリのスキャン期間が経過すると、スキャンの脆弱性を一覧表示するときに SCAN_ELIGIBILITY_EXPIRED
のスキャンステータスが表示されます。詳細については、Amazon Inspector ユーザーガイドの「Changing the Amazon ECR automated re-scan duration」(Amazon ECR の自動化された再スキャン期間の変更) を参照してください。
拡張スキャン時間の設定を変更するには
-
https://console.aws.amazon.com/inspector/v2/home
で Amazon Inspector コンソールを開きます。 -
左側のナビゲーションで [設定] を展開して [全般] を選択します。
-
[設定] ページの [ECR re-scan duration] (ECR 再スキャン期間) [保存] を選択します。
EventBridge イベント
拡張スキャンを有効にすると、Amazon ECR EventBridge はリポジトリのスキャン頻度が変更されたときにイベントを送信します。Amazon Inspector は、 EventBridge 初期スキャンが完了したときと、イメージスキャンの結果が作成、更新、または閉じられたときにイベントを発行します。
リポジトリのスキャン頻度の変更に関するイベント
レジストリで拡張スキャンがオンになっている場合、拡張スキャンがオンになっているリソースで変更すると、Amazon ECR から次のイベントが送信されます。これには、新しいリポジトリの作成、リポジトリのスキャン頻度の変更、または拡張スキャンがオンになっているリポジトリでのイメージの作成または削除が含まれます。詳細については、「イメージスキャン」を参照してください。
{ "version": "0", "id": "0c18352a-a4d4-6853-ef53-0abEXAMPLE", "detail-type": "ECR Scan Resource Change", "source": "aws.ecr", "account": "
123456789012
", "time": "2021-10-14T20:53:46Z", "region": "us-east-1
", "resources": [], "detail": { "action-type": "SCAN_FREQUENCY_CHANGE", "repositories": [{ "repository-name": "repository-1", "repository-arn": "arn:aws:ecr:us-east-1
:123456789012
:repository/repository-1", "scan-frequency": "SCAN_ON_PUSH", "previous-scan-frequency": "MANUAL" }, { "repository-name": "repository-2", "repository-arn": "arn:aws:ecr:us-east-1
:123456789012
:repository/repository-2", "scan-frequency": "CONTINUOUS_SCAN", "previous-scan-frequency": "SCAN_ON_PUSH" }, { "repository-name": "repository-3", "repository-arn": "arn:aws:ecr:us-east-1
:123456789012
:repository/repository-3", "scan-frequency": "CONTINUOUS_SCAN", "previous-scan-frequency": "SCAN_ON_PUSH" } ], "resource-type": "REPOSITORY", "scan-type": "ENHANCED" } }
初期イメージスキャンのイベント (拡張スキャン)
レジストリで拡張スキャンがオンになっている場合、初期イメージスキャンが完了すると、Amazon Inspector によって以下のイベントが送信されます。finding-severity-counts
パラメータは、重要度レベルが存在する場合にのみ、その値を返します。たとえば、イメージに CRITICAL
レベルの結果が含まれていない場合、重要度のカウントは返されません。詳細については、「拡張スキャン」を参照してください。
イベントパターン:
{ "source": ["aws.inspector2"], "detail-type": ["Inspector2 Scan"] }
出力例:
{ "version": "0", "id": "739c0d3c-4f02-85c7-5a88-94a9EXAMPLE", "detail-type": "Inspector2 Scan", "source": "aws.inspector2", "account": "
123456789012
", "time": "2021-12-03T18:03:16Z", "region": "us-east-2", "resources": [ "arn:aws:ecr:us-east-2:123456789012
:repository/amazon/amazon-ecs-sample" ], "detail": { "scan-status": "INITIAL_SCAN_COMPLETE", "repository-name": "arn:aws:ecr:us-east-2:123456789012:repository/amazon/amazon-ecs-sample", "finding-severity-counts": { "CRITICAL": 7, "HIGH": 61, "MEDIUM": 62, "TOTAL": 158 }, "image-digest": "sha256:36c7b282abd0186e01419f2e58743e1bf635808231049bbc9d77e5EXAMPLE", "image-tags": [ "latest" ] } }
イメージスキャン結果の更新のイベント (拡張スキャン)
レジストリで拡張スキャンがオンになっている場合、イメージスキャン結果が作成、更新、または閉じられると、Amazon Inspector によって以下のイベントが送信されます。詳細については、「拡張スキャン」を参照してください。
イベントパターン:
{ "source": ["aws.inspector2"], "detail-type": ["Inspector2 Finding"] }
出力例:
{ "version": "0", "id": "42dbea55-45ad-b2b4-87a8-afaEXAMPLE", "detail-type": "Inspector2 Finding", "source": "aws.inspector2", "account": "
123456789012
", "time": "2021-12-03T18:02:30Z", "region": "us-east-2", "resources": [ "arn:aws:ecr:us-east-2:123456789012
:repository/amazon/amazon-ecs-sample/sha256:36c7b282abd0186e01419f2e58743e1bf635808231049bbc9d77eEXAMPLE" ], "detail": { "awsAccountId": "123456789012
", "description": "In libssh2 v1.9.0 and earlier versions, the SSH_MSG_DISCONNECT logic in packet.c has an integer overflow in a bounds check, enabling an attacker to specify an arbitrary (out-of-bounds) offset for a subsequent memory read. A crafted SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server.", "findingArn": "arn:aws:inspector2:us-east-2:123456789012
:finding/be674aaddd0f75ac632055EXAMPLE", "firstObservedAt": "Dec 3, 2021, 6:02:30 PM", "inspectorScore": 6.5, "inspectorScoreDetails": { "adjustedCvss": { "adjustments": [], "cvssSource": "REDHAT_CVE", "score": 6.5, "scoreSource": "REDHAT_CVE", "scoringVector": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N", "version": "3.0" } }, "lastObservedAt": "Dec 3, 2021, 6:02:30 PM", "packageVulnerabilityDetails": { "cvss": [ { "baseScore": 6.5, "scoringVector": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N", "source": "REDHAT_CVE", "version": "3.0" }, { "baseScore": 5.8, "scoringVector": "AV:N/AC:M/Au:N/C:P/I:N/A:P", "source": "NVD", "version": "2.0" }, { "baseScore": 8.1, "scoringVector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H", "source": "NVD", "version": "3.1" } ], "referenceUrls": [ "https://access.redhat.com/errata/RHSA-2020:3915" ], "source": "REDHAT_CVE", "sourceUrl": "https://access.redhat.com/security/cve/CVE-2019-17498", "vendorCreatedAt": "Oct 16, 2019, 12:00:00 AM", "vendorSeverity": "Moderate", "vulnerabilityId": "CVE-2019-17498", "vulnerablePackages": [ { "arch": "X86_64", "epoch": 0, "name": "libssh2", "packageManager": "OS", "release": "12.amzn2.2", "sourceLayerHash": "sha256:72d97abdfae3b3c933ff41e39779cc72853d7bd9dc1e4800c5294dEXAMPLE", "version": "1.4.3" } ] }, "remediation": { "recommendation": { "text": "Update all packages in the vulnerable packages section to their latest versions." } }, "resources": [ { "details": { "awsEcrContainerImage": { "architecture": "amd64", "imageHash": "sha256:36c7b282abd0186e01419f2e58743e1bf635808231049bbc9d77e5EXAMPLE", "imageTags": [ "latest" ], "platform": "AMAZON_LINUX_2", "pushedAt": "Dec 3, 2021, 6:02:13 PM", "registry": "123456789012
", "repositoryName": "amazon/amazon-ecs-sample" } }, "id": "arn:aws:ecr:us-east-2:123456789012
:repository/amazon/amazon-ecs-sample/sha256:36c7b282abd0186e01419f2e58743e1bf635808231049bbc9d77EXAMPLE", "partition": "N/A", "region": "N/A", "type": "AWS_ECR_CONTAINER_IMAGE" } ], "severity": "MEDIUM", "status": "ACTIVE", "title": "CVE-2019-17498 - libssh2", "type": "PACKAGE_VULNERABILITY", "updatedAt": "Dec 3, 2021, 6:02:30 PM" } }
イメージスキャン結果の取得
最後に完了したイメージスキャンのスキャン結果を取得できます。結果には、検出されたソフトウェアの脆弱性が、共通の脆弱性およびエクスポージャー (CVE) データベースに基づく重大度別に一覧表示されます。
イメージをスキャンする際の一般的な問題のトラブルシューティングの詳細については、「イメージスキャニングの問題のトラブルシューティング」を参照してください。