SAML(セキュリティ アサーション マークアップ言語)
SAML(Security Assertion Markup Language)は、アプリケーション間で認証と認可に使用する情報を XML 形式で交換するためのデータ形式とプロトコルを定義しています。
Edge API サービスを使うと、SAML トークンを提示できるアプリの認証と認可ができます。SAML トークンは「アサーション」(成立条件)のセットを提示するデジタル署名された XML 文書の断片です。このアサーションは認証と認可に使われます。
SAML の用語で説明すると、API サービスは、サービス プロバイダ(SP)として、あるいは ID プロバイダ(IDP)として機能します。API サービスは、アプリからの内向きのリクエストで SAML トークンを検証するとき、SP の役割を果たします(また、API サービスは、バックエンド サービスとの通信で使用する SAML トークンを生成するとき、IDP の役割を果たすこともできます。ラストマイル セキュリティをご覧ください)。
SAML ポリシータイプを使うと、API プロキシは、内向きの SOAP リクエストに付加された SAML アサーションを検証できます。SAML ポリシーは、デジタル署名された SAML アサーションの入った受信メッセージを検証し、無効な場合は拒否し、他のポリシーまたはバックエンド サービス自体がアサーションの情報をさらに検証できるように変数を設定します。
SAML トークンを検証するには、少なくとも 1 つの TrustStore を作成して、SAML ポリシーでデジタル証明書を使用できるようにする必要があります。TrustStore のスコープは、組織内の環境です。したがって、本番環境(prod)ではテスト用の SAML トークンが使用できないよう、逆にテスト環境(test)は本番用の SAML トークンが使用できないよう、異なる信頼チェーンを構成できます。
SAML 検証の詳細については、SAML Assertion ポリシーをご覧ください。