LoginSignup
2
1

More than 5 years have passed since last update.

lambdaからslackに投稿(KMSでencryption)

Posted at

目標

lambdaからslackに投稿する

手順

1. slackのincoming webhooksを作成 -> URLをゲット

slackのapp manage ページに行ってincoming webhooksを作成し、どこのChannelに飛ばすかを設定する。

2. 必要なLibraryをローカルでインストールしてzipにする

https://qiita.com/Hironsan/items/0eb5578f3321c72637b4
今回は slackweb を使用(https://qiita.com/satoshi03/items/14495bf431b1932cb90b)

import slackweb
slack = slackweb.Slack(url="<コピーしたURL>")
slack.notify(text="This is a test.")

3. Lambdaの設定画面でzipをUpload

4. SLACK_URLに先ほどのURLを登録+コード内では、以下のようにEnvを読み込む

   import os
   print os.environ["SLACK_URL"]

5. 試しに送ってみる

Lambdaをトリガーして送る。
失敗したときは、Cloudwatchのlogsからエラーを確認

6. 環境変数の暗号化

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/env_variables.html#env_encrypt
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/tutorial-env_console.html

SlackのURLを暗号化しておく

image.png

7. KMSを作成していない場合は、IAMから作成

作成するときに、policyでlambdaに使用権限を与えておけば良い

8. Enable helpers for encryption in transitにチェックを入れる

チェックを入れるとKMSを選択する部分になるので、作成したKMSを選択し、Encryptすると環境変数が見れなくなる

image.png

2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1