セッション情報の MySQL への格納
目次
casso1283
セッション情報を格納する MySQL サーバを設定するには、以下の手順を実行します。
前提条件の確認
MySQL が Latin1 または UTF8 文字セットを使用していることを確認します。Unicode 文字をサポートするために、UTF8 文字セットを使用します。
データベース情報の収集
ポリシー ストアまたは他のタイプの
SiteMinder
データ ストアを設定する前に以下の情報を収集します。- データベース ホスト-- データベース ホスト システムの名前。
- データベース インスタンス名-- ポリシー ストアまたはデータ ストアとして機能するデータベース インスタンスの名前。
- データベース ポート-- データベースがリスンするポートを特定します。
- 管理者アカウント-- データベース内でオブジェクトを管理する権限を持つ管理者アカウントのログイン ID。
- 管理者パスワード-- 管理者アカウントのパスワード。
セッション ストア スキーマの作成
MySQL データベースがセッション情報を格納できるように、セッション ストア スキーマを作成します。
以下の手順に従います。
- ポリシー サーバ ホスト システムにログインします。
- 以下の場所に移動します。siteminder_home\db\tier2\MySQL.
- siteminder_homeポリシー サーバのインストール パスを指定します。
- テキスト エディタで以下のファイルを開きます。sm_mysql_ss.sql
- 以下の行を確認します。DROP FUNCTION IF EXISTS `databaseName`.`getdate` $$CREATE FUNCTION `databaseName`.`getdate` () RETURNS DATE
- 'databaseName' の各インスタンスをセッション ストアとして機能するデータベースの名前に置換します。
- 全ファイルの内容をコピーします。
- クエリにファイルの内容を貼り付けて、クエリを実行します。セッション ストア スキーマが作成されます。
Windows での DataDirect ドライバを使用した MySQL データ ソースの作成
casso1283
MySQL ワイヤ プロトコル ドライバ用に MySQL データ ソースを作成します。
以下の手順に従います。
- ポリシー サーバ ホスト システムにログインします。
- [スタート]をクリックし、[プログラム]-[管理ツール]に移動します。
- [ODBC Data Sources (64-bit)]を選択します。[ODBC データ ソース管理者]ダイアログ ボックスを開きます。
- [システム DSN]タブをクリックして、[追加]をクリックします。
- 下にスクロールして SiteMinder MySQL Wire Protocol を選択し、[完了]をクリックします。
- [全般]タブで以下の手順を行います。
- [データ ソース名]フィールドにデータ ソース名を入力します。例:SiteMinder MySQL Wire Data Source
- [ホスト名]フィールドに MySQL データベース ホスト システムの名前を入力します。
- [ポート番号]フィールドに MySQL データベースがリスンするポートを入力します。
- [データベース名]フィールドに MySQL データベースの名前を入力します。
- [接続のテスト]をクリックします。
- [OK]をクリックします。データ ソースが作成され、システム データ ソースのリストに表示されます。
これで、ポリシー サーバが
SiteMinder
データ ストアを参照するようになります。Linux での DataDirect ドライバを使用した MySQL データ ソースの作成
SiteMinder
ODBC データ ソースは、「ポリシー、キー、セッションおよび監査ストアとしての ODBC データベースの設定」の説明に従って、system_odbc.ini ファイルを使用して設定します。ワイヤ プロトコル ドライバを設定して、データベースに接続するためにポリシー サーバが使用する設定を指定します。以下の手順に従います。
- <siteminder-installation-path>/db で system_odbc.ini ファイルを開きます。
- [ODBC Data Sources] の下に、キー ストアの新しいデータ ソース名を入力します。例:[ODBC Data Sources] SiteMinder Session Data Source=DataDirect 8.0 MySQL Wire Protocol
- [ODBC Data Sources] で定義されている名前と同じものを使用してキー ストアの新しいセクションを追加し、この新しいセクションの下に<siteminder-installation-path>/db から mysqlwire.ini の内容をコピーします。例:[SiteMinder Session Data Source] Driver=<siteminder-installation-path>/odbc/lib/NSmysql28.so Description=DataDirect 8.0 MySQL Wire Protocol AlternateServers= ApplicationUsingThreads=1 ConnectionReset=0 ConnectionRetryCount=0 ConnectionRetryDelay=3 Database=<database_name>DefaultLongDataBuffLen=1024 EnableDescribeParam=0 EncryptionMethod=0 FailoverGranularity=0 FailoverMode=0 FailoverPreconnect=0 HostName=<host_name>HostNameInCertificate= InteractiveClient=0 KeyPassword= KeyStore= KeyStorePassword= LicenseNotice=You must purchase commercially licensed MySQL database software or a MySQL Enterprise subscription in order to use the DataDirect Connect for ODBC for MySQL Enterprise driver with MySQL software. LoadBalanceTimeout=0 LoadBalancing=0 LoginTimeout=15 LogonID=<root_user>Password=<root_user_password>MaxPoolSize=100 MinPoolSize=0 Pooling=0 PortNumber=<mysql_port>QueryTimeout=0 ReportCodepageConversionErrors=0 TreatBinaryAsChar=0 TrustStore= TrustStorePassword= ValidateServerCertificate=1
- DriverSiteMinder MySQL ワイヤ プロトコル ドライバへのフル パスを定義します。
- データベースデータ ストアとして機能する MySQL データベースの名前を定義します。
- HostNameMySQL データベース ホスト システムの名前を定義します。
- ログオン IDMySQL root ユーザのログイン ID を定義します。
- PasswordMySQL root ユーザのパスワードを定義します。
- PortNumberMySQL データベースがリスンするポートを定義します。
- ファイルを保存します。ワイヤ プロトコル ドライバが設定されます。
Linux でのネイティブ ドライバを使用した MySQL データ ソースの作成
SiteMinder
ODBC データ ソースは、「ポリシー、キー、セッションおよび監査ストアとしての ODBC データベースの設定」の説明に従って、system_odbc.ini ファイルを使用して設定します。以下の手順に従います。
- <siteminder-installation-path>/native/odbc/etc で system_odbc.ini ファイルを開きます。
- [<store-data-source>] 形式で新しいセクションを追加し、この新しいセクションの下に<siteminder-installation-path>/native/odbc/etc から mysql.ini の内容をコピーします。例:SiteMinder Data Source] Driver=<siteminder-installation-path>/native/odbc/lib/libmaodbc.so Description= Connector ODBC MariaDB for MySQL SERVER=nete_servername PORT=nete_port Database=Siteminder Data DMEnvAttr=SQL_ATTR_UNIXODBC_ENVATTR={MARIADB_PLUGIN_DIR=<siteminder-installation-path>/native/odbc/lib/plugin} OPTION=2
- DriverSiteMinder の MySQL ネイティブ ドライバへのフル パスを定義します。
- SERVERMySQL データベース ホスト システムの名前を定義します。
- PORTMySQL データベースがリスンするポートを定義します。
- データベースデータ ストアとして機能する MySQL データベースの名前を定義します。
- MARIADB_PLUGIN_DIRMariaDB プラグイン ディレクトリへのフル パスを定義します。
- <siteminder-installation-path>/native/odbc/etc にある odbcinst.ini ファイルを開き、[ODBC]セクションに以下のコードの行を追加します。Trace=yes TraceFile=<siteminder-installation-path>/odbctrace.log
- ファイルを保存します。
- <siteminder-installation-path>/native/odbc/bin で以下のコマンドを実行して、データベース接続を検証します。isql <store-data-source-name> <database-username> <database-pwd>
- ポリシー サーバを再起動します。
ポリシー サーバに対する参照データベースの指定
casso1283
ポリシー サーバが、セッション情報を読み取りおよび保存できるように、ポリシー サーバに、参照するデータベースを指定します。
ポリシー サーバがデータ ストアを参照するようにする方法
- ポリシー サーバ管理コンソールを開き、[データ]タブをクリックします。データベース設定が表示されます。
- [データベース]リストからセッション サーバを選択します。データ ソース設定がアクティブになります。
- [データ ソース情報]フィールドにデータ ソースの名前を入力します。
- (Windows)このエントリは、データ ソースを作成したときに[データ ソース名]フィールドに入力した名前と一致する必要があります。
- (UNIX)このエントリは、system_odbc.ini ファイルのデータ ソース エントリの最初の行と一致している必要があります。デフォルトでは、このファイルの最初の行は[SiteMinderデータ ソース]です。最初のエントリを変更した場合は、正しい値を入力していることを確認します。
- それぞれのフィールド内にデータベース インスタンスへのフル アクセス権限を持つデータベース アカウントのユーザ名およびパスワードを入力し確認します。
- SiteMinderに割り当てるデータベース接続の最大数を指定します。最適なパフォーマンスを得るためにデフォルトの設定を保持することを推奨します。
- [適用]をクリックします。設定が保存されます。
- [テスト接続]をクリックします。ポリシー サーバがデータ ストアにアクセスできるという確認がSiteMinderから返されます。
- [OK]をクリックします。ポリシー サーバはセッション ストアとしてそのデータベースを使用するように設定されます。
セッション ストアのパフォーマンスの最適化
HKEY_LOCAL_MACHINE\SOFTWARE\Netegrity\SiteMinder\CurrentVersion\SessionServer
レジストリの場所に、ODBC セッション ストアのパフォーマンスに影響を与える以下のレジストリ キーを追加し、必要に応じて値をカスタマイズします。- SessionUpdateGracePeriodセッション ストア レコードを更新するための猶予期間を秒単位で指定します。16 進数を入力します。セッションを検証する複数のリクエストが SessionUpdateGracePeriod で定義された時間内にポリシー サーバに送信された場合、それらのリクエストにはセッション ストアへの単一のラウンド トリップのみ必要です。セッション ストア レコードの変更がない場合、セッション ストア レコードが更新されるのは、現在の時間から最後の処理時間までの差がこの変数で指定されている値以上の場合のみです。SessionUpdateGracePeriod はアイドル タイムアウトに影響します(実際のアイドル タイムアウト = アイドル タイムアウト + SessionUpdateGracePeriod)。このレジストリ キーが追加されていない場合、デフォルトの猶予期間は 0x1 となります。
- MaintenanceQueryRowLimit同時に削除される期限切れセッション レコードの数を指定します。セッション ストアに対して高い削除/挿入の競合がある場合は、この値を小さくします。16 進数を入力します。このレジストリ キーが追加されていない場合、デフォルトの値は 0x64 となります。
- EnableFlushUserCmdOnLogoutログアウト時に、ユーザがセッション ストア キャッシュからフラッシュされるかどうかを指定します。パラメータを有効化するには 1 を入力し、パラメータを無効化するには 0 を入力します。このレジストリ キーが追加されていない場合、ユーザはフラッシュされません。
ポリシー サーバの再起動
casso1283
特定の設定を有効にするために、ポリシー サーバを再起動します。
以下の手順に従います。
- ポリシー サーバ管理コンソールを開きます。
- [ステータス]タブをクリックし、[ポリシー サーバ]グループ ボックスで[停止]をクリックします。赤色の信号アイコンが表示されて、ポリシー サーバが停止します。
- [開始]をクリックします。緑色の信号アイコンが表示されて、ポリシー サーバが起動します。注: UNIX 上でポリシー サーバを再起動するには、stop-psコマンドとstart-psコマンドやstop-allコマンドとstart-allコマンドを実行します。