OktaをSAML2.0ベースのIDPとして使用し、AWS Cognitoをサービスプロバイダーとして使用し、Cognitoユーザープールを使用してIDP構成を統合したいと思います。
以下にリストされているAWSサイトに記載されているすべての手順を実行しました-
Oktaはサポートやドキュメントを提供していません--- https://support.okta.com/help/answers?id=9062A000000QucAQAS&feedtype=SINGLE_QUESTION_DETAIL&dc=xSAML&criteria=OPENQUESTIONS& 。
OktaをIDPとして試し、AWS IAMとの信頼を確立し、Oktaユーザーを使用してAWSアカウントにログインしたことに注意してください。これは、Oktaが提供する詳細なドキュメントに従って正常に機能します。ただし、AWScognitoユーザープールでSAMLIDPとしてOktaを使用したい場合はニーズが異なります。
AWSとOktaなどの両端で実行する構成を含む詳細なドキュメントが役立ちます。
私は次のようにSAMLを介してCognitoでOktaをセットアップしました:
オクタ側:
https://<yourDomainPrefix>.auth.<region>.amazoncognito.com/saml2/idpresponse
(URLの最初の部分については、ユーザープールの下の「アプリの統合」->「ドメイン名」を参照してください)。urn:Amazon:cognito:sp:<yourUserPoolID>
(そのプールIDについては、ユーザープールの「一般設定」を参照してください)。コグニート側-ユーザープール:
コグニート側-アイデンティティプール:
それはそれについてであるはずです。役に立ったリソース: https://docs.aws.Amazon.com/cognito/latest/developerguide/cognito-user-pools-saml-idp.html
編集:オーディエンスURI /オーディエンス制限Okta設定で説明が必要だったようです。下記のジュリアンはurn:Amazon:cognito:sp:region_randomid(つまり、urn:Amazon:cognito:sp:eu-west-1_SdsSdwSD3e)の形式であるため、自分でリージョンを追加する必要はありません。
免責事項:私はSAMLエキスパートではありません
ここでも同じ問題に直面しなければなりませんでした。 Oktaでの認証後、Cognitoのログイン画面にリダイレクトされました。私はWenWolfからのアドバイスに従おうとしましたが、成功しませんでした。
Firefoxの SAML-tracer 拡張機能を使用してSAMLフローを分析しました。アサーションPOSTの後、リダイレクトURIにエラーメッセージが隠されていました。
それはあなたに与えます:
SAML応答処理のエラー:SAMLアサーションのオーディエンス制限により、urn:Amazon:cognito:sp:eu-west-1_YYYYYYYYが許可されるようになりました
Oktaで修正するには:
urn:Amazon:cognito:sp:IDFoundInAppIntegrationAppClientSettings
urn:Amazon:cognito:sp:eu-west-1_YYYYYYYY
このIDは、Cognitoの自動生成されたグループにも表示されます[一般設定]> [ユーザーとグループ]
PS:NameIdに関する他のアドバイスと、両側で一貫している必要がある必要な属性マッピングを保持してください。