AWS連携を利用することで、FutureVulsに以下の機能を追加できます。
これらの機能を利用するためのAWS認証設定を行います。
FutureVulsの1つのグループに対して、AWS認証情報は 1つのみ
登録可能です。
AWS環境が複数ある場合は、別グループに分けて登録してください。
なお、1つのAWSアカウントを複数のグループに対して登録可能です。
AWSの認証設定には、「IAMロールを使った認証方法」と「APIキーを使った認証方法」の2種類があります。
基本的にはよりセキュアで設定が簡単なIAMロールを使う方法を推奨します。
AWS CloudFormation のスタック作成時には、スタック作成の実行ユーザ(または、CloudFormation を実行するサービスロール)に以下の実行権限を付与してください。
iam:CreateRole
iam:PutRolePolicy
また、スタックを削除する場合には、以下の実行権限を付与してください。
iam:DeleteRole
iam:DeleteRolePolicy
FutureVulsの グループ設定 > 外部連携
を選択し、AWSの中にある「追加」ボタンを押します。
「IAMロールでの認証(推奨)」を選択し、連携したいAWSアカウントの AWSアカウントID
と リージョン
を入力し、「次へ」ボタンを押します。
「AWS CloudFormationの設定画面へ」のボタンを押して、CloudFormationによりFutureVulsのテンプレートからスタックを作成します。
作成後、パラメータのタブから FutureVulsExternalID
の値を取得してください。
既に他のグループで連携済みの場合は、AWS上で CloudFormation > スタック
から FutureVulsAssumeRole
を選択し、FutureVulsExternalID
の値を取得してください。
スタックの作成後、再度FutureVulsの設定画面に戻り、取得した FutureVulsExternalID
を入力して「次へ」ボタンを押します。
この時にAWS認証が有効かどうかが判定され、有効な場合は「AWSアカウントIDが登録されました」と表示されます。
以下のように認証情報が表示されるようになれば、AWS認証設定は完了です。
APIキーによる認証方法は、セキュリティの観点からAWSでは非推奨とされています。
この方法よりも上記のIAMロールを使った認証方法を推奨しています。
本設定方法はIAMロールの認証方法が利用できない環境でのみ選択してください。
以下にAccessKey, SecretKeyで連携する方法を説明します。
「IAMロールを使った認証方法」と同様にAWS認証情報の追加の画面に移動します。APIキーでの認証を選択し、「AWS CloudFormationの設定画面へ」のボタンを押します。
作成されたIAMでAPIキーを発行し、 アクセスキー・シークレットキー・リージョン
を入力して「次へ」ボタンを押します。
この時にAWS認証が有効かどうかが判定され、有効な場合は「AWSアカウントIDが登録されました」と表示されます。
以下のように認証情報が表示されれば完了です。
AWS認証情報のところにあるゴミ箱ボタンをクリックしてください。
AWS環境からFutureVuls AWS連携に関連する認証情報を削除したい場合は、CloudFormationスタックの FutureVulsAssumeRole
を削除してください。
FutureVuls AWS連携で利用するAWSポリシーは以下の通りです。 今後、連携強化のために変更する可能性があります。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeTags",
"ssm:DescribeInstanceInformation",
"ssm:ListDocuments",
"ssm:ListCommandInvocations",
"ecr:GetAuthorizationToken",
"ecr:DescribeImages",
"ecr:BatchGetImage",
"ecr:DescribeImageScanFindings",
"ecr:GetRepositoryPolicy",
"ecr:DescribeRepositories",
"inspector2:ListFindings",
"inspector2:ListCoverage",
"lambda:GetFunction",
"lambda:ListFunctions"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ssm:DescribeDocument",
"ssm:SendCommand"
],
"Resource": "arn:aws:ssm:*:*:document/FutureVuls*",
"Effect": "Allow"
},
{
"Action": [
"ssm:SendCommand"
],
"Resource": "arn:aws:ec2:*:*:instance/*",
"Effect": "Allow"
}
]
}