Amazon InspectorでSBOMが出力できるようになったので、EC2のSBOMを出力してみました。
SBOMをCycloneDXまたはSPDXでS3に出力することができます。
EC2以外のSBOM出力もInspector管理下になっていれば、Export SBOMsのフィルター変更で出力ができるかもしれません。
事前準備
- SBOM出力を試すEC2やECRの用意
- EC2のSBOMを出力する場合、EC2がSSM管理下のマネージドノードになっている必要があります。
- Amazon Inspectorの有効化
SBOMの出力
-
バケットポリシーに以下の記述を追記したS3を作成します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "allow-inspector", "Effect": "Allow", "Principal": { "Service": "inspector2.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::バケット名/*", "Condition": { "StringEquals": { "aws:SourceAccount": "AWSアカウントID" }, "ArnLike": { "aws:SourceArn": "arn:aws:inspector2:ap-northeast-1:AWSアカウントID:report/*" } } } ] }
-
KMSキーを作成します。
キータイプ: 対象
キーの使用: 暗号化および複合化
キーマテリアルオリジン: 推奨
のキーを作成し、キーポリシーに以下の記述を追記します。{ "Sid": "allow-inspector", "Effect": "Allow", "Principal": { "Service": "inspector2.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::バケット名/*", "Condition": { "StringEquals": { "aws:SourceAccount": "AWSアカウントID" }, "ArnLike": { "aws:SourceArn": "arn:aws:inspector2:ap-northeast-1:AWSアカウントID:report/*" } } }
-
フィルターで対象のEC2を指定、今回は対象のEC2のタグを指定します。
EC2のタグ以外には、Lambdaのタグ、アカウントIDイメージタグ、リソースID、リソースタイプ、リポジトリ名、関数名が指定できます。 -
任意のファイルタイプを選択
-
作成したS3,KMSキーを指定