Sophos CentralでIAM Roleを利用したAWSアカウント連携してみた
こんにちは、臼田です。
Sophos CentralはAWS上で利用しやすいアンチマルウェア製品のSophos Server Protectionをクラウド上で管理できるツールです。Sophos CentralとAWSアカウントを連携することにより、AutoScalingで増減した管理対象のEC2を自動的に登録/削除することができる事も魅力の1つです。
以前まではアカウント連係にIAMユーザを作成する必要がありましたが、現在ではIAM Roleを利用することが可能となっています。
Sophos Central 用に IAM ロールを作成する - Sophos Community
今回はIAM Roleを利用したAWSアカウント連携と、その過程で発生する初期セットアップ手順についてまとめたいと思います。
ちなみに古い手順は下記にあります。
IAM Roleでアカウント連携できるのは何が嬉しいのか
まず、IAMユーザでアカウント連携を行う場合には、IAMユーザを作成した後に、アクセスキーID・シークレットキーを作成してこれを登録することにより連携できます。
この方法には欠点があり、アクセスキーID・シークレットキーを知ることができれば、ユーザを誰でも使いまわすことが出来てしまいます。
その為これらの値を利用すること自体にリスクがあり、キーのローテーションも推奨されているため管理が煩雑になります。
IAM Roleは特定のリソースやAWSアカウントを信頼して権限を渡して利用し、恒久的に利用できるキーは発行されないためキーの管理やローテーションが不要です。
我々は常日頃からパスワードの管理で疲弊していますから、管理が楽になるIAM Roleが使えるということは素晴らしいということです。
Sophos Centralに登録する
まずはじめにSophos Centralに登録します。
登録は、無料評価の画面から行います。
次に勤務先等の情報を入力します。この勤務先名は管理コンソールに反映されて、そのままでは変更できない項目のため少し気をつけて下さい。ただし、購入したライセンスをアクティベーションするとライセンスの社名になるので、ライセンスがある場合は気にせず入力しても良さそうです。
上記を入力するとメールが送られてきて、リンクをクリックするとパスワードを設定して、ログインできるようになります。
ライセンスのアクティベーション
ライセンスがある場合にはアクティベーションします。
右上のアカウント名から「ライセンス」を選択します。
「アクティベーションコードの適用」にアクティベーションコードを入力して「適用」します。
正規版のライセンスが適用されます。なお、この段階で評価版ライセンスがなくなるので、評価検証を行いたい場合は事前に行ったほうがいいかと思います。
IAM Roleの設定
アカウントID等を控える
まずはじめに、AWSアカウント連携に必要なアカウントID等の情報をSophos Centralから取得します。
「サーバープロテクション」画面から「設定 -> Amazon Web Service アカウント」へ移動します。
「追加」ボタンを押して「AWSアカウントID」及び「AWS外部ID」を控えます。
IAM ポリシーの作成
IAM Roleに設定するためのポリシーを作成します。
AWSマネジメントコンソールでIAMの画面から「ポリシー -> ポリシーの作成」へ移動します。
「JSON」のタブに直接ポリシードキュメントを貼り付け、「Review Policy」を押します。
貼り付けるポリシーはこちらにあります。2018/02/09現在では下記を利用しています。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetUser", "ec2:DescribeInstances", "ec2:DescribeRegions", "autoscaling:DescribeAutoScalingGroups" ], "Resource": [ "*" ] } ] }
適当な名前を入力して「Create Policy」でポリシーが作成されます。
IAM Roleの作成
続いてIAMの画面の「ロール」から「ロールの作成」を押します。
信頼されたエンティティで「別のAWSアカウント」を選択し、先程控えた「アカウントID」を入力します。
オプションの「外部IDが必要」にチェックを入れて「外部ID」に先ほど控えた「AWS外部ID」を入力して、「次のステップ」を押します。
検索欄から先程作成したポリシーの名前で絞り、ポリシーにチェックを入れて「次のステップ」を押します。
適当な名前を入力して「ロールの作成」を押します。
作成が完了したら、ロールを選択します。
「ロールARN」を控えます。
AWSアカウント連携
先程のSophosのAWSアカウント連携の画面に戻り、適当なフレンドリアカウント名(AWSの環境名などが分かりやすいです)と控えた「ロールARN」を入力し、「追加」を押します。
無事連携されステータスなどが確認できるようになります。
まとめ
Sophos CentralとAWSアカウントの連係にIAM Roleが利用できるため、不要なユーザを管理する必要性がなくなりより簡単でセキュアに運用することができるようになりました。
みなさんも是非、管理サーバを立てなくてもSaaSなのでAWSで利用しやすいSophos Centralと、アンチマルウェアのSophos Server Protectionを利用してみてはいかがでしょうか?