認証設定

AWS連携

AWS連携を利用することで、FutureVulsに以下の機能を追加できます。
これらの機能を利用するためのAWS認証設定を行います。

連携手順

AWSの認証設定には、「IAMロールを使った認証方法」と「APIキーを使った認証方法」の2種類があります。
基本的にはよりセキュアで設定が簡単なIAMロールを使う方法を推奨します。

IAMロールを使った認証方法

  • FutureVulsの グループ設定 > 外部連携 を選択し、AWSの中にある「追加」ボタンを押します。 image

  • 「IAMロールでの認証(推奨)」を選択し、連携したいAWSアカウントの AWSアカウントIDリージョン を入力し、「次へ」ボタンを押します。 image

  • 「AWS CloudFormationの設定画面へ」のボタンを押して、CloudFormationによりFutureVulsのテンプレートからスタックを作成します。
    作成後、パラメータのタブから FutureVulsExternalID の値を取得してください。 既に他のグループで連携済みの場合は、AWS上で CloudFormation > スタック から FutureVulsAssumeRole を選択し、FutureVulsExternalID の値を取得してください。 image

  • スタックの作成後、再度FutureVulsの設定画面に戻り、取得した FutureVulsExternalID を入力して「次へ」ボタンを押します。
    この時にAWS認証が有効かどうかが判定され、有効な場合は「AWSアカウントIDが登録されました」と表示されます。 image

以下のように認証情報が表示されるようになれば、AWS認証設定は完了です。 image

APIキーを使った認証方法

APIキーによる認証方法は、セキュリティの観点からAWSでは非推奨とされています。 この方法よりも上記のIAMロールを使った認証方法を推奨しています。
本設定方法はIAMロールの認証方法が利用できない環境でのみ選択してください。

以下にAccessKey, SecretKeyで連携する方法を説明します。

IAMロールを使った認証方法」と同様にAWS認証情報の追加の画面に移動します。APIキーでの認証を選択し、「AWS CloudFormationの設定画面へ」のボタンを押します。 image

作成されたIAMでAPIキーを発行し、 アクセスキー・シークレットキー・リージョン を入力して「次へ」ボタンを押します。 この時にAWS認証が有効かどうかが判定され、有効な場合は「AWSアカウントIDが登録されました」と表示されます。

image

以下のように認証情報が表示されれば完了です。

image

設定削除

AWS認証情報のところにあるゴミ箱ボタンをクリックしてください。
AWS環境からFutureVuls AWS連携に関連する認証情報を削除したい場合は、CloudFormationスタックの FutureVulsAssumeRole を削除してください。

image

FutureVulsで利用するポリシー

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"
        }
    ]
}