SAML証明書の有効期限切れに伴うAWS側のメタデータ置換について

2022.09.30

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

困っていた内容

onelogin側で新しい証明書を作成してOneloginに登録しているAWSアプリケーションに適用したのですが,証明書の期限切れによりログインできなくなりました。
AWS側でメタデータの置換をする必要があるかご教示ください。

置換要否

結論から言いますと、AWS側のメタデータの置換につきまして、下記ドキュメント記載の通り、メタデータに証明書が含まれるため、AWS側のメタデータ更新が必要であるとの認識です。

重要
このメタデータファイルには発行者の名前、失効情報、およびキーが含まれており、これらを使用して、IdP から受け取った SAML 認証レスポンス (アサーション) を検証できます。メタデータファイルはバイトオーダーマーク (BOM) なしで UTF-8 形式でエンコードする必要があります。BOM を削除するには、Notepad++ などのテキスト編集ツールを使用して UTF-8 としてファイルをエンコードできます。 SAML メタデータドキュメントの一部として含まれている x.509 証明書では、少なくとも 1024 ビットのキーサイズを使用する必要があります。また、x.509 証明書には、拡張領域が繰り返されていないことが必要です。拡張領域は使用できますが、証明書に 1 回しか出現できません。x.509 証明書がいずれかの条件を満たしていない場合、IdP の作成は失敗し、「メタデータを解析できない」エラーが返されます。

どう更新すればいいの?

IAM ユーザーグループには AdministratorAccess 権限が付与された場合

このグループに所属している IAM ユーザーであればお客様側で実施することが可能です。
まずはマネジメントコンソールへログインした状態でIAMのID プロバイダの下に「メタデータを置換」という項目をご確認ください。
以下ドキュメント[2]を参考に IdP からメタデータをダウンロードし、AdministratorAccess 権限を持った IAM ユーザーでログインした上で前述の「メタデータを置換」をご実施ください。
※※権限が付与されていればその他 IAM ユーザー/ロール でも作業可能です

IAM SAML ID プロバイダーの作成 - AWS Identity and Access Management
手順抜粋

IAM SAML ID プロバイダーを作成するには (コンソール)

1. IAM SAML ID プロバイダーを作成する前に、IdP から取得した SAML メタデータドキュメントが必要です。このドキュメントには発行者の名前、失効情報、およびキーが含まれており、これらを使用して、IdP から受け取った SAML 認証レスポンス (アサーション) を検証できます。
:
6. [Metadata document] (メタデータドキュメント) で、[Choose file] (ファイルを選択) を選択し、ステップ 1 でダウンロードした SAML メタデータドキュメントを指定します。

マネジメントコンソールへのアクセスを許可された IAM ID がない場合

以下ドキュメントを参考にAWS CLI から実施する方法が考えられます。
create-user — AWS CLI 1.19.95 Command Reference
update-saml-provider — AWS CLI 1.19.95 Command Reference

参考資料

[1]IDaaSのOneLoginでAWSアカウントにシングルサインオンする | DevelopersIO
[2]サードパーティーの SAML ソリューションプロバイダーと AWS の統合 - AWS Identity and Access Management