こんにちは、ひろかずです。
少し前ですが、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へキューイングすることろまでできました。
長くなったので今日はここまでにします。
お疲れ様でした。