ADFS経由でAWSにログイン出来なくなった場合の対処法
久々にAWSネタです。会社だとたいていActiveDrectoryが社内にあると思うんですけど、AD認証でAWSにログイン出来たら便利ですよね!そんなわけで1年前ぐらいにこの手順を参考にしてADFSを利用するようになりました~
Enabling Federation to AWS using Windows Active Directory, ADFS, and SAML 2.0 - AWS Security Blog
日本語だとこちらにまとめられてるみたいです。
これとっても便利なんですよね、いちいちAWSアカウント毎にIAMユーザ作らなくていいですからね!かなりお勧めです!が!!使い始めてから1年が経とうとしていたあたりにいきなりログイン出来なくなるとい現象が発生しましたので、対処法を書いときたいと思います。
始まりは突然です!!いきなりログインできなくなりまして、、こんなエラーが表示されるようになりました。キャプチャする前に直しちゃったので画面がありません。。
Response signature invalid (Service: AWSSecurityTokenService; Status Code: 400; Error Code: InvalidIdentityToken; Request ID: **************************************). Please try again.
エラーコードで検索すると、AWSのマニュアルにたどり着きました。
英語は苦手でよくわかんないんですけど、なんかAWS側のSAMLに設定したADFSのメタデータを更新しろってって言っている感じですかね。そんなわけでメタデータを更新しましょう。メタデータは再度ADFSから再度ダウンロードする必要がありますので、下記URLから取得しましょう。
https://<yourservername>/FederationMetadata/2007-06/FederationMetadata.xml
取得したらまた初期設定の際と同様に、AWSのSAMLにアップロードしてあげればOKです。
ADFS自体はこれでログイン出来るようにはなったのですが、何でこんな現象が発生するのか調べてみたところ、こちらのサイトに原因が書いてました。
ADFSが有効期限が切れる20日前に自己証明書のトークン証明書を新たに生成し、5日後にトークン証明書の入れ替えを行うようです。そのためSAMLにアップロードしたメタデータとあわなくなってしまう見たいですね~
ではまたです。