こんにちは、ひろかずです。
少し前ですが、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. サブスクリプションを作成する
サブスクリプションは、需要を考慮してSQSとします。
最低限、キュー名を付けるだけです。
あとは要件次第で調整してください。
ここでは、メッセージ受信待機時間を延ばしてみました。
##SNSの画面に遷移
Create subscriptionボタンを押下します。
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へキューイングすることろまでできました。
長くなったので今日はここまでにします。
お疲れ様でした。