AWS Chatbot は us-east-2(オハイオ)にアクセスできないとエラーになる

落とし穴に注意
2022.01.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ちゃだいん(@chazuke4649)です。

タイトルのままですが、補足します。

まとめ

  • 現時点(2022.1.29)では、グローバルサービスである AWS Chatbot を利用する場合、 us-east-2(オハイオ)にアクセスできないとエラーになる
  • 多くのグローバルサービスは us-east-1(バージニア)を許可すれば良いので、落とし穴になりうる (改善に期待!)
  • 使用しないリージョンを拒否するControlTowerのガードレールやOrganizationsの独自SCPなど運用している場合に注意

解説

Control Towerのリージョン拒否ガードレールにて ap-northeast-1(東京)やus-east-1(バージニア)以外のリージョンを拒否したところ、AWS Chatbotが利用できなくなることがわかりました。

理由としては下図の通り、グローバルサービスである AWS Chatbot のサービスエンドポイントがどうやら us-east-2(オハイオ)にあるため、と思われます。

クライアントをSlackにした場合、次の画面に遷移できませんでした。

クライアントをChimeにした場合、設定画面にてエラーが出ました。

ワークアラウンドとしては、以下で対応できそうです。

  • 独自SCPの許可アクションに chatbot:*を加える
  • SCPやガードレールの許可リージョンに us-east-2を加える

公式ドキュメントのトラブルシュートにも権限不足の場合は us-east-2でchatbotを許可するよう示されています。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "NotAction": [
                "chatbot:*"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": [
                        "us-east-2"
                    ]
                }
            }
        }
    ]
}

Troubleshooting AWS Chatbot - AWS Chatbot

ちなみにどうやらChatbotがベータ版の時代から us-east-2 のみサポートされてたのかもしれません。

The beta preview link seems to only work is us-east-2…I hope that it can monitor resources in other regions…

引用元)Getting Started with AWS Chatbot. | Medium

アップデートに期待しましょう!

参考URL

Identity and Access Management for AWS Chatbot - AWS Chatbot

SCPリクエストされた AWS リージョン に基づいて AWS へのアクセスを拒否する - AWS Organizations