シングルサインオンの設定

シングルサインオン (SSO) 機能を使用して、Klocwork に自動的にログインできます。Windows で Active Directory (AD) を使用して、Windows アカウントにログインする必要があります。

このアクセス制御メソッドを設定するには、次の手順に従います。
  • 必要に応じて、関連するすべての情報を収集します。
  • Klocwork セキュリティユーティリティを使用して、サーバー構成を変更します。アクセス制御メソッドの構成を参照してください。
  • Klocwork サーバーを再起動して、新しい構成に切り替えます。

セットアップが完了すると、AD サーバーは、Klocwork Static Code Analysis で選択する個人とグループの名前を提供します。AD サーバーへの Klocwork のアクセスは読み取り専用ですが、Klocwork Static Code Analysis で独自のグループを作成することもできます。

Klocwork 管理者として、アクセス制御を自分で構成するか、ドメインサーバーの管理者にセットアップ用のデータを提供します。どちらの場合でも、次のセクションのテーブルに、SSO アクセス制御のセットアップに必要な情報がリストされます。

知っておくべきこと

Klocwork 管理者としてのユーザーを含む AD ユーザーのパスワードは AD で管理されます。

kwauthconfig で SSO アクセスを構成するために必要な設定情報を次の表に示します。

Klocwork 設定 説明
プロバイダー URL ldap://<host>:<port> という形式の LDAP サーバーの URL。
  • <host>:<port> は LDAP サーバーのホスト名または IP アドレスと、LDAP サーバーのポート (デフォルトは 389) です。
ldap://server.mycompany.com:389 ldap://10.0.160:389
プリンシパル ユーザー名 ユーザーリストを取得するときに AD サーバーにログインするために使用する Klocwork サーバーのオプションの DN。この設定は、AD サーバーでユーザーを認証する必要がある場合にのみ使用されます。 cn=Directory Manager,ou=People,dc=mycompany,dc=com
パスワード オプションのプリンシパル ユーザーのパスワード。  
グループ プロバイダー ユーザーグループ定義を保存する AD オブジェクトのオプションの識別名 (DN)。DN は、ユーザーグループが含まれている AD ツリーノードからディレクトリツリールートまでのパスであり、ノード名はカンマで区切られています。 ou=userGroups,dc=mycompany,dc=com
LDAP グループ フィルター ディレクトリ内のグループ エントリをフィルターし、グループ プロバイダーのセット内で一致するレコードの必要なセットを生成するために使用します。 (objectCategory=Group)
ユーザー プロバイダー ユーザー定義を保存する AD オブジェクトの識別名 (DN)。DN は、ユーザーが含まれている AD ツリーノードからディレクトリツリールートまでのパスであり、ノード名はカンマで区切られています。 ou=People,dc=mycompany,dc=com
LDAP ユーザー フィルター ディレクトリ内のユーザー エントリをフィルターし、ユーザー プロバイダーのセット内で一致するレコードの必要なセットを生成するために使用します。 (objectCategory=Person)
ユーザー属性 AD の各エンティティは複数の属性を持つことができます。特定のユーザー名は、対応する AD エンティティの属性と関連付けられた値です。1 人のユーザーが異なる属性を使用することによって複数の名前を持つことができます。[ユーザー属性] フィールドで、ユーザー名を含む 1 つ以上の属性を指定できます。デフォルトのユーザー属性は cn です (Common Name の略)。
注意: Klocwork Static Code Analysis では、ユーザーの名前として最初 (一番左) の属性の値のみが表示されます。そのため、同一の共通名を持つユーザーが複数いる場合、これらのユーザーの同一の名前が表示されます。混乱を避けるため、一意の属性を最初に指定してください。
cn, sAMAccountName
検索ページサイズ サーバー負荷を最適化し、ハッカーによる攻撃を防ぐため、組織によっては AD サーバーが返すことのできるエントリ数を制限する場合があります (サーバー設定で)。Klocwork サーバーは、残りの情報の待機をタイムアウトできます。AD サーバーで返すことのできるエントリ数が制限されることがわかっている場合、アクセス制御を設定して、チャンクとして AD サーバーからユーザーおよびグループを取得できます。これらのチャンクは、ページと呼ばれます。ページングを有効にするには、1 つのページに返される必要がある AD エントリの数に検索ページサイズの値を設定します。 1000
ユーザー 電子メール属性 ユーザーのためにメール アドレスを保持するユーザー属性を定義します。 mail

プロバイダー URL、プリンシパルユーザーの名前とパスワードを指定すると、次の設定が自動的に検出されます。必要に応じて、[カスタマイズ設定] ダイアログをクリックして、手動でこれらを構成することもできます。

Klocwork 設定 説明
グループ プロバイダー ユーザーグループ定義を保存する AD オブジェクトのオプションの識別名 (DN)。DN は、ユーザーグループが含まれている AD ツリーノードからディレクトリツリールートまでのパスであり、ノード名はカンマで区切られています。 ou=userGroups,dc=mycompany,dc=com
LDAP グループ フィルター ディレクトリ内のグループ エントリをフィルターし、グループ プロバイダーのセット内で一致するレコードの必要なセットを生成するために使用します。 (objectCategory=Group)
ユーザー プロバイダー ユーザー定義を保存する AD オブジェクトの識別名 (DN)。DN は、ユーザーが含まれている AD ツリーノードからディレクトリツリールートまでのパスであり、ノード名はカンマで区切られています。 ou=People,dc=mycompany,dc=com
LDAP ユーザー フィルター ディレクトリ内のユーザー エントリをフィルターし、ユーザー プロバイダーのセット内で一致するレコードの必要なセットを生成するために使用します。 (objectCategory=Person)
ユーザー属性 AD の各エンティティは複数の属性を持つことができます。特定のユーザー名は、対応する AD エンティティの属性と関連付けられた値です。1 人のユーザーが異なる属性を使用することによって複数の名前を持つことができます。[ユーザー属性] フィールドで、ユーザー名を含む 1 つ以上の属性を指定できます。デフォルトのユーザー属性は cn です (Common Name の略)。
注意: Klocwork Static Code Analysis では、ユーザーの名前として最初 (一番左) の属性の値のみが表示されます。そのため、同一の共通名を持つユーザーが複数いる場合、これらのユーザーの同一の名前が表示されます。混乱を避けるため、一意の属性を最初に指定してください。
cn, sAMAccountName
検索ページサイズ サーバー負荷を最適化し、ハッカーによる攻撃を防ぐため、組織によっては AD サーバーが返すことのできるエントリ数を制限する場合があります (サーバー設定で)。Klocwork サーバーは、残りの情報の待機をタイムアウトできます。AD サーバーで返すことのできるエントリ数が制限されることがわかっている場合、アクセス制御を設定して、チャンクとして AD サーバーからユーザーおよびグループを取得できます。これらのチャンクは、ページと呼ばれます。ページングを有効にするには、1 つのページに返される必要がある AD エントリの数に検索ページサイズの値を設定します。 1000
ユーザー 電子メール属性 ユーザーのためにメール アドレスを保持するユーザー属性を定義します。 mail

アクセス制御メソッドの構成

  1. Klocwork セキュリティユーティリティ、kwauthconfig を起動します。

    詳細については、「Klocwork セキュリティユーティリティの起動」を参照してください: アクセス制御のセットアップ

  2. ユーティリティが起動すると、プロジェクトルート構造の場所を指定するよう求めるプロンプトが表示されます。この場所は、インストール時に指定され、通常、次の場所になります: <server_install>\projects_root.
  3. [構成] をクリックします。
  4. [LDAP] を選択して、[シングルサインオンを使用] をクリックします。
  5. [次へ] をクリックします。
  6. ldap://<host>:<port> という形式で AD サーバーのプロバイダー URL を入力します。ポートを指定しない場合は、389が使用されます。
  7. プリンシパルユーザーの名前を入力します。
  8. プリンシパルユーザーのパスワードを入力し、その下のフィールドに確認のためパスワードを再入力します。
  9. [次へ] をクリックし、Active Directory が検出されると、他の LDAP 設定は自動的に構成されます。
  10. 次のパネルで、検出された Active Directory 設定が表示されます。手動で変更を行う必要がある場合は、[カスタマイズ設定] をクリックします。
  11. 設定が確認され、[完了] をクリックすると、初期構成ユーティリティ画面が表示されます。[OK] をクリックして変更を終了します。
[接続のテスト] をクリックし、kwauthconfig を実行中のユーザーが 'ldap.users.provider' と 'ldap.user.filter' の両方の値を満たす有効な LDAP ユーザーであることを検証できます。[LDAP 接続の確認] ダイアログには、Klocwork によって (検出された場合は) 検出されたサーバータイプが表示されます。AD サーバーが検出されなかった場合、まずは Klocwork 認証スキーム構成ユーティリティ (kwauthconfig) の LDAP サーバー構成ページで設定されているプリンシパルユーザーの資格情報が正しいことを検証してください。設定内容が正しく、ウィザードによってサーバーが検出されたにもかかわらず、引き続きテスト接続が失敗する場合は次のいずれかの理由が考えられます。
  • LDAP サーバーがダウンしている。または
  • kwauthconfig を実行中のユーザーが有効な LDAP ユーザーではない。または
  • 不正なユーザープロバイダーやユーザーフィルターが指定された。

Klocwork Static Code Analysis にログインできる場合、ユーザープロバイダーおよびフィルターの設定は正常です。グループの設定を確認するには、projects_root admin としてログインし、[ユーザー] タブにアクセスしてください。こちらから kwauthconfig ツールを使用して設定した 'ldap.groups.provider' および 'ldap.group.filter' 設定を満たすグループを検索することができます。

注意: コマンド kwservice --projects-root <projects_root> restart klocwork または Windows Services 管理を使用して Klocwork サーバーを再起動する必要があります。

Internet Explorer および Google Chrome ユーザー:

Windows で、シングルサインオンが有効でブラウザーのログインダイアログが表示されている場合、次を実行して自動認証を有効にします。

次の手順で統合 Windows 認証を有効にします。
  1. [スタート] メニューを開き、[コントロールパネル] > [ネットワークとインターネット] > [インターネットオプション] の順に選択します。
  2. [詳細] タブを選択します。
  3. [セキュリティ] 画面まで下にスクロールして、[統合 Windows 認証を使用する] をチェックします。
  4. ブラウザーを再起動します。
ターゲットの Web サイトは、次のイントラネット ゾーンにあることが必要です。
  1. 製品ポータル (http://localhost:8080/portal/Portal.htm など) に移動します。
  2. [スタート] メニューを開き、[コントロールパネル] > [ネットワークとインターネット] > [インターネットオプション] の順に選択します。
  3. [セキュリティ] タブを選択し、[ローカル イントラネット] アイコン、[サイト] の順にクリックします。
  4. [イントラネットのネットワークを自動的に検出する] をチェックします。指摘が解決されない場合は、[詳細] をクリックし、製品ポータルをサイトのリストに追加します。

Firefox ユーザー:

Firefox を使用する場合、次を実行して SSO 構成を終了する必要があります。

  1. ブラウザーのアドレス バーに about:config と入力します。
  2. [検索] ボックスまたは [フィルター] ボックスに network.automatic-ntlm-auth.trusted-uris と入力します。
  3. プリファレンス名のリストが表示されたら、network.automatic-ntlm-auth.trusted-uris をダブルクリックします。
  4. [文字列を入力してください] ボックスに、Klocwork サーバーが実行されているサーバーの<host>:<port> 名を入力します。たとえば、http://server11:8080/ です。
  5. [OK] をクリックします。

次は何?

kwauthconfig で AD アクセス制御をセットアップしたため、Klocwork Static Code Analysis でユーザーの役割を作成する準備ができました。Klocwork プロジェクトへのアクセスの有効化 を参照してください。