Amazon Qデータソース用Slackログ収集アプリの権限設定をfixする手順
昨年末からAmazonQのプレビューを試行錯誤していました。S3経由でのデータソース取り込みは英語に限定されながらも動作確認できていましたが、Slackのログ経由が上手くいきませんでした。
AmazonQ向けのSlackログデータソース化には、ログ収集用Slackアプリが必要になってきます。ただ、そのインストールが正常に完了しない状況。延々とリダイレクトが掛かった末にratelimitedとなっていました。
年末年始を挟んだSlackサポートとの問い合わせで要件が判ったものの、AmazonQ自体がそもそもデータソースを現時点で英語に限定していること、社内Slackログの大半が日本語となる状況では手間を掛けても活用には結びつきにくい点にて、一旦備忘録として起すことにしました。
SlackAppの設定
ポイントはSlackAppに要求されるパーミッション。求められるパーミッションはUser token scopeとBot token scopeの両方です。
このうちで一番壁となるのはauditlogs:read
でしょう。詳細な説明が見つからないため自力では判明しなかったのですが、SlackサポートによるとOrGオーナーの介入が必要になる構成とのことでした。
要は、Amazon Qコンソール上ではWorkSpaceの指定を求められるものの、実際のインストール単位はWorkSpaceではなくOrGになります。
なお、OrGオーナー権限が必要になるパーミッションは以下2種とのこと。
admin.*
auditlogs:read
adminに関してはマッチする権限がいずれも該当します。
OrGでのインストール
判明したインストール手続きについて記載しておきます。
- アプリ設定のOrg Level Appsセクションを開きます
- Org apps programに
Opt in
します
成功すると以下の表示になります - Install Appセクションに移動します
- アプリを OrG レベルにインストールします
現時点では以下の表示となりました。
AmazonQ側で使うxoxp-
で始まるトークンは、OrG レベルのUser OAuth Tokenになります。
あとがき
WorkSpace単位での手軽な検証を予想していましたが、想定以上に手間がかかると分かり、一旦見送りとしました。ポイントは、WorkSpaceをサンドボックスと本番で用途分けしていたとしても、OrG単位となるのでその境目が無いところです。
SlackログをAPIを通して個別取得してS3に収めて、S3をデータソースとする手もあるでしょう。