SAML SSO認証の設定¶
本記事では、WallarmのSAML SSO認証を有効化・設定する一般的な手順について説明します。
また、G SuiteおよびOktaのSAML SSOソリューション向けの例も確認できます。
手順1:SSOサービスを有効化する¶
デフォルトでは、Wallarmでの認証用SSOサービスは無効であり、Wallarm ConsoleのIntegrationsセクションに対応ブロックは表示されません。
SSOサービスを有効化するには、Wallarm support teamに連絡してください。デフォルトではプロビジョニング付きのSSOが提案されます。
-
有効化後は、ログインとパスワードによる認証はどのユーザーも利用できません。必要に応じてフォールバックアカウントをリクエストしてください。フォールバックアカウントではログインとパスワードの入力を維持します。
-
ユーザーの無効化や削除はWallarm側では行えません。
手順2(Wallarm):メタデータを生成¶
SAML SSOソリューション側で入力するためのWallarmメタデータが必要です。
-
管理者権限でWallarm Consoleにログインしていることを確認します。
-
Wallarm ConsoleでIntegrations → SSO SAML AUTHENTICATIONに移動し、該当するインテグレーションを開始します。
Google、Okta、またはその他の(Custom)SAML SSOソリューションを統合できます。同時に有効化できるSSOのインテグレーションは1つのみです。
-
SSO設定ウィザードのSend detailsステップで、SAML SSOソリューションに送信するメタデータを確認します。
-
メタデータをコピーするか、XMLとして保存します。
-
SSOデータ交換に追加の検証が必要なSAML SSOソリューションの場合は、Extended securityチェックボックスを選択します。
手順3(SAML SSOソリューション):アプリケーションを設定¶
-
SAML SSOソリューションにログインします。
-
Wallarmへのアクセスを提供するアプリケーションを設定します。
-
アプリケーションのメタデータをコピーするか、XMLとして保存します。
-
アプリケーションが有効化され、ユーザーがアクセスできることを確認します。
手順4(SAML SSOソリューション):プロビジョニングを設定¶
プロビジョニングとは、SAML SSOソリューションからWallarmへのデータ自動転送です。SAML SSOソリューション側のユーザーとそのグループ所属がWallarmへのアクセスとそこでの権限を決定し、ユーザー管理はすべてSAML SSOソリューション側で実施します。
これを機能させるには、属性マッピングを設定します。
-
Wallarmにアクセスを提供するアプリケーションで、次の属性をマッピングします。
email
first_name
last_name
-
ユーザーグループを
wallarm_role:[role]
にマッピング。ここでrole
は次のいずれかです。admin
(Administrator)analytic
(Analyst)api_developer
(API Developer)auditor
(Read Only)partner_admin
(Global Administrator)partner_analytic
(Global Analyst)-
partner_auditor
(Global Read Only)すべてのロールの説明はこちらを参照してください。
SAML SSOソリューションが異なる属性へのグループマッピングをサポートしない場合は、すべてのグループを
wallarm_roles
タグにマッピングします(Googleのケースと同様)。その後、Wallarm側でグループをロールにマッピングしてください — 手順6を参照してください。
-
変更を保存します。
プロビジョニングを無効にする
Wallarm support teamに連絡することで、プロビジョニングを無効にできます。無効な場合、SAML SSOソリューションに存在するユーザーに対応するユーザーをWallarm側で作成する必要があります。ユーザーロールもWallarm Consoleで定義してください。
プロビジョニングが無効な場合は、ユーザーを手動で作成し、ロールを設定し、SSOでログインさせるユーザーを選択します。その他のユーザーはログインとパスワードを使用します。リクエストに応じて、WallarmサポートはStrict SSOオプションを有効にすることもできます。これは、会社アカウントのすべてのユーザーに対して一括でSSO認証を有効にします。Strict SSOのその他の特性は次のとおりです。
-
アカウントの既存ユーザーすべての認証方法がSSOに切り替わります。
-
新規ユーザーはデフォルトでSSOを認証方法として取得します。
-
認証方法は、いずれのユーザーでもSSO以外に切り替えられません。
プロビジョニングが無効な場合のユーザー管理は、Wallarm Console → Settings → Usersで、こちらの説明に従って実施します。SAML SSOソリューションとのマッピングではemail
属性のみを使用します。
手順5(Wallarm):SSO SAMLソリューションのメタデータを入力¶
-
Wallarm Consoleで、SSO設定ウィザードのUpload metadataステップに進みます。
-
次のいずれかを実施します。
- G SuiteのメタデータをXMLファイルとしてアップロードします。
- メタデータを手動で入力します。
手順6(Wallarm):プロビジョニングを設定(オプション)¶
この手順は、SAML SSOソリューションが異なる属性へのグループマッピングをサポートせず、すべてのグループがwallarm_roles
タグにマッピングされる場合(Googleのケースと同様)にのみ実施してください。
-
Roles mappingステップに進みます。
-
1つ以上のSSOグループをWallarmのロールにマッピングします。利用可能なロールは次のとおりです。
admin
(Administrator)analytic
(Analyst)api_developer
(API Developer)auditor
(Read Only)partner_admin
(Global Administrator)partner_analytic
(Global Analyst)-
partner_auditor
(Global Read Only)すべてのロールの説明はこちらを参照してください。
-
SSO設定ウィザードを完了します。Wallarmは、SAML SSOソリューションとの間でデータが送受信可能かをテストします。
Extended security¶
SAML SSOソリューション(KeycloakやOktaなど)は、Wallarmを含むアプリケーションとの接続時に追加のセキュリティ検証を必要とする場合があります。これには次が含まれます。
-
署名によるSAMLリクエストとレスポンスの検証要件
-
SAMLリクエストとレスポンスの暗号化要件
このようなSAML SSOソリューションとの統合のために、WallarmにはExtended security機能があります。使用方法:
-
Wallarmで、Generate metadataステップにてExtended securityオプションを選択します。
-
メタデータをXMLとして保存します。証明書データおよびSAML SSOソリューション向けの適切な設定がXMLに追加されます。
-
SAML SSOソリューションで、Configure applicationステップにて、提供されたXMLをインポートしてすべてのオプションを自動的に正しく設定します。以下のKeycloakの例を参照してください。
テナントごとの権限¶
different permissions in different tenantsオプションが有効な場合、次のように権限を構成します。
-
Global administratorとしてWallarm Consoleにログインしていることを確認します。
-
Settings → Groupsに移動します。
-
Add groupをクリックし、SAML SSOソリューショングループ名にバインドします。
-
ロールを設定し、Addをクリックします。
グループが作成され、グループ一覧に表示されます。
-
グループのメニューからEdit group settingsを選択します。
-
グループページが表示されます。テナントの一覧を設定します。
これにより、このSAML SSOソリューショングループのユーザーは、指定した権限(ロール)で、リストされたテナントにアクセスできるようになります。
-
別のグループを追加し、同じSAML SSOソリューショングループ名にバインドします。
-
別のロールを設定します。
-
別のテナント一覧を設定します。
これにより、このSAML SSOソリューショングループのユーザーは、別の権限(別のロール)で、これら他のテナントにアクセスできるようになります。
特定のテナントへのアクセスのみ:異なるSAML SSOソリューショングループのユーザーが、特定のテナントのみにアクセスでき、その他にはアクセスできないように構成することもできます。
同じSAML SSOユーザーが、同一テナントに対して異なる権限でのアクセスを付与する複数のグループに属している場合は、より広い権限が適用されます。
管理者
特定のSAML SSOソリューショングループのユーザーに、Wallarm(すべてのテナント)への特権(管理)アクセスを付与したい場合は、Wallarm ConsoleのSSO設定ウィザードでRoles mappingステップに進み、SSOグループをGlobal administratorロールにバインドしてください。
このSAML SSOソリューショングループのユーザーは、他のSAML SSOソリューショングループに含まれている場合でも、いかなる制限も受けません。
different permissions in different tenantsオプションを有効にすると、一般的なマッピングが上書きされることに注意してください。例:
-
Analytic
グループを通常wallarm_role:analytic
にマッピングしており、テナントが5つある場合、後からdifferent permissions in different tenantsオプションを有効にすると、Groupsを作成・管理するまでAnalytic
グループのユーザーはどのテナントにもアクセスできなくなります(一般マッピングは無視されます)。 -
その後、5つのテナントのうち3つへのアクセスを
Analytic
グループに付与するグループを作成した場合、残りの2つには引き続きアクセスできません(一般マッピングは無視されます)。 -
一部のグループのユーザーに管理者以外の権限で全テナントへのアクセスを提供したい場合は、technical tenant accountにアクセスするためのGlobal somethingロールのグループを作成してください。
無効化と削除¶
IntegrationsセクションからSSOを無効化・削除できるのは、プロビジョニングがオフの場合のみです。オフにするには、Wallarm support teamに連絡してください。