概要

Imperva CloudWAFでは、SSOによりCloudWAFのコンソールにログインが可能です
(現在、SAML2.0のみ対応)。
本稿では、AWSのIAM Identity Centerをアイデンティティプロバイダとし、
Identity Center内のユーザでログイン可能とする連携方法について説明します。


 
IdP: アイデンティティプロバイダ。本事例ではAWS。
SP: サービスプロバイダ。CloudWAFのコンソールが相当。
Idp-initiated SSO: UserからIdpにアクセスして認証を行い、SPにログインするSSO。
SP-initiated SSO: SPへのログイン試行をトリガとするSSO。UserはSPによってIdpにリダイレクトされたのち、認証を行う。


設定

Idpに設定するSPの情報は、CloudWAFでIdP情報を入力後に取得可能となります。
そのためCloudWAFでのSSO連携には、通常
①CloudWAF側の設定を行ったうえで、②Idp側の設定が必要となります。
 
a. 事前設定(Idp)
予めIdP側に、SSO連携でCloudWAFにログインしたいユーザおよび所属グループを
ご用意ください。

b. CloudWAF(SP)側設定
Account Adminまたは"Edit SSO settings"Permissionを含むRoleのユーザで、
Account Mangement > User Management > SSOから設定を行ってください。
IdpのEntity ID(Issuer)URL、Identity provider login URLおよびX.509証明書が必要です
(メタデータで一括入力可)。

c. AWS(Idp)側設定
Idp側では連携するアプリケーション(SP)の設定を行います。
CloudWAFのコンソールから取得したSPのメタデータ、またはURL情報を入力し、
併せて属性を設定します。
なお、属性のSubject NameID(ユーザの識別子)にはEmail形式を指定する必要がございます。

また、CloudWAFに事前に登録のないユーザがSSOでログインする場合は
コンソールでjust-in-time (JIT) プロビジョニング オプションを有効にし、
Idp側に属性マッピングを追加することで、初回ログイン時に自動でSP側にユーザが作成される必要がございます。

■Idp側の属性値 設定例
SAMLレスポンス内に必要となる
属性
形式
説明
Subject
${user:email}
emailAddress
必須属性。  
firstName
${user:givenName}
unspecified
初回ログイン時、SP側に新ユーザを
作成する場合に指定。
lastName
${user:familyName}
unspecified
同上。
groups
コンソールのRoleと同名となるハードコードされた
任意の文字列、またはプレースホルダ
unspecified
新ユーザにRoleも自動アサインする場合。
機能の有効にはチェックボックスへの入力と
Idp側の属性値と同名のRoleの設定が必要。

[参考] 
IAM Identity Centerでサポートされている属性値
https://docs.aws.amazon.com/singlesignon/latest/userguide/attributemappingsconcept.html?icmpid=docs_sso_console


設定済みのアカウントの場合

昨年のSSO連携機能の拡張により、既に構成済みのアカウントのお客様では
Idp側でのACS URLおよびAudience URL(Entity ID)の更新が必要となっております。
2024年4月以降、旧URLに接続試行した場合はログイン失敗となりますのでご注意ください。


[参考] メーカドキュメント
https://docs.imperva.com/bundle/cloud-application-security/page/sso-idm.htm

更新:2024年3月26日