こんにちは、ひろかずです。
少し前ですが、Deep Security as a Service(以下、DSaaS)でAWSのSNSトピック対応がされました。
当時はちょっと使いどころがピンとこなかったのですが、需要が出てきたので一筆書きます。
主な需要
-
ログの長期保存
-- DSaaS環境のログ保存期間は13週間です。 -
ログ分析
-- 何をどうするかがカギですね。 -
Lambda等でイベントドリブンでどうのこうのする
-- よく語られますがどうのこうのの部分を固めるのが先決ですね。
ざっくり構成(今回の分)
前提条件
- AWSアカウントを所有していること。
- DSaaSアカウントを所有していること。
参考情報
以下の情報を参照しながら進めています。
工程
参考情報の順番とは少し変えています。
- Amazon SNSトピックを作成する
- サブスクリプションを作成する
- AWSユーザーを作成する
- DSaaS上でSNSを設定する
1. Amazon SNSトピックを作成する
Get Startedから始めます。
リージョンは任意ですが、今回はOregonにしました。

Topic名を付けて、Create Topicボタンを押下します。

2. サブスクリプションを作成する
最低限、キュー名を付けるだけです。
あとは要件次第で調整してください。
ここでは、メッセージ受信待機時間を延ばしてみました。

SNSの画面に遷移
ProtocolにAmazon SQSを設定して、EndpointにSQSのARNを設定します。
Create subscriptionボタンを押下します。

subscriberが空欄ですが、サブスクリプションが作成できました。

SQS画面に遷移
キュー操作でSNSトピックへのキューのサブスクライブを設定します。

トピックの選択のプルダウンで、先程作成したSNSトピックを選択して、サブスクライブボタンを押下します。

SNSの画面に遷移
ちょっとあちこち行ってしまいましたが、無事にサブスクライブできました。

試し切りをします。
Publish to topicボタンを押下します。

適当に内容を記載してpublish messageボタンを押下します。

3. AWSユーザーを作成する
IAMの画面に遷移
ユーザー名を入力して、ユーザーを作成します。
ここではDSaaS-SNSという名前にしました。
ユーザーを作成したら、Access KeyとSecret Keyを忘れずに保存してください。

要はSNSにpublishする権限があればいいのですが、ここでは独自のポリシーを作成を選択します。

参考情報Deep Security Help Center記載のポリシーをベースに以下のように作成しました。

コピペ用
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"sns:Publish"
],
"Effect": "Allow",
"Resource": "arn:aws:sns:us-west-2:XXXXXXXXXXXX:dsaas-sns"
}
]
}
作成したポリシーを選択して、ポリシーアクションからアタッチを選択します。

先程作成したIAMユーザを選択して、ポリシーのアタッチボタンを押下します。

4. DSaaS上でSNSを設定する
DSaaSの管理画面にログインし、管理>システム設定>SIEMと遷移します。
Amazon SNSのPublish Events to AWS Simple Notification Serviceにチェックを入れて、作成したIAMユーザのアクセスキーとシークレットキー、および作成したSNSトピック名を入力します。
今回は、送信するイベントの種類は全て選択したままとします。

SQS画面でメッセージの着信を見てみましょう。
早速システムイベントが着信してますね。

DSaaSのイベントをSNSトピックとしてSQSへキューイングすることろまでできました。
長くなったので今日はここまでにします。
お疲れ様でした。










