MariaDBユーザープロビジョニングの設定
MariaDB のユーザープロビジョニングはアクセス管理を効率化します (IAMminiOrangeは、アプリケーション全体にわたる外部ユーザーと内部ユーザーの自動化を実現します。miniOrangeを使用すると、オンプレミス、クラウド、ハイブリッドアプリへのユーザーアクセスを作成、管理、削除できます。
データベースとminiOrange IdP間のユーザー同期を設定する際の主要な手順は以下の3つです。
- パートA:miniOrange IdPにMariaDBデータベースを外部ディレクトリとして追加する
- パートB:ユーザープロビジョニングのためのクエリの設定
- パートC:ユーザープロビジョニングと属性マッピングの設定
ユーザーのプロビジョニング/デプロビジョニングを設定するための以下のスキーマを検討してください。このスキーマは、シンプルなデータベースのオプション設定方法を説明するために使用しています。この例を参考に、独自のデータベースをminiOrangeの外部ディレクトリとして設定することもできます。
セットアップ例:
| データベースの種類 |
MariaDB-10.4.14 |
| データベース名 |
Wordpressの |
| データベースJDBC URL(MariaDB用) |
jdbc:mysql://{server-domain}:3306/wordpress |
| ユーザー情報が保存されるテーブル |
wp_users |
wp_users テーブルの説明:
| コラム |
タイプ |
詳細説明 |
| ID |
bigint(20) 符号なし |
ユーザーID列 |
| USER_LOGIN |
VARCHAR |
ユーザー名列 |
| user_pass |
VARCHAR |
ユーザーのパスワードを保存します。ユーザー作成時にデフォルトのパスワードを保存します。 |
| DISPLAY_NAME |
VARCHAR |
ユーザーの表示名 |
| USER_EMAIL |
VARCHAR |
ユーザーのメールアドレス |
パートA:miniOrange IdPにMariaDBデータベースを外部ディレクトリとして追加する
- ステップ1~3を参照してください この の資料をご参照ください。
パートB:データベースのユーザープロビジョニングの設定
ユーザープロビジョニングは、インバウンド(データベースからminiOrangeへ)とアウトバウンド(miniOrangeからデータベースへ)の2つの方向で設定できます。
インバウンドプロビジョニングはユーザーのインポートを扱い、アウトバウンドプロビジョニングはユーザーの作成/削除/更新を扱います。どちらの場合も、属性マッピングが必要です。データベースの列とminiOrange IdPの属性間の属性マッピングは、特別な表記法を使用して行われます。列の値は、この表記法を使用してminiOrange IdPによって推測されます。
- データベースのユーザープロビジョニングを設定するには、まず「外部ディレクトリ」セクションに移動する必要があります。ここには、設定済みの外部ディレクトリの一覧が表示されます。

- 設定済みのデータベースの横にあるドロップダウンをクリックして、 編集:

- これにより、設定済みの外部ディレクトリの編集ページが開きます。

- これで、必要なプロビジョニング機能をすべて設定する準備が整いました。
1. ユーザーのインポート
- これはインバウンドプロビジョニングの例です。ユーザーはデータベースからminiOrangeのデフォルトの外部ディレクトリにインポートされます。選択する属性は、データベースの属性セクションで外部ディレクトリとして指定されます。miniOrangeのデフォルトの外部ディレクトリにインポートしてユーザーにマッピングする各属性(ユーザー名とパスワードを除く)について、SELECTクエリを指定する必要があります。
- ユーザー名とパスワードの列値に対してSELECTクエリを指定する必要はありません。これらの値は、データベースを外部ディレクトリとして設定する際に使用した列名を使用して自動的にインポートされます。
- ユーザー ストアの編集ページで、データベース属性を追加するオプションが表示されるまで下にスクロールしてください。

- 必要な数だけ入力フィールドを追加してください。この例では、USERNAME 列と PASSWORD 列を除き、FIRSTNAME、LASTNAME、EMAIL_ADDRESS の 3 つのデータベース列を使用します。これらの列に対するクエリは次のようになります。
- 名で検索 →
SELECT '##FIRSTNAME##', FIRSTNAME FROM USERS WHERE USERNAME=?
- 姓で検索 →
SELECT '##LASTNAME##', LASTNAME FROM sUSERS WHERE USERNAME=?
- メールアドレスを検索 →
SELECT '##EMAIL_ADDRESS##', EMAIL_ADDRESS FROM USERS WHERE USERNAME=?
- クエリ内の [ '##COLUMN_NAME##', COLUMN_NAME ] という表記は、一意のユーザー名識別子に基づいて、データベースの列の値でこのフィールドを埋める必要があることを miniOrange に伝えます。
- クエリの追加が完了すると、設定は次のようになります。
2. ユーザーを確認する
- このクエリは、特定のユーザーが既にデータベースに存在するかどうかを確認するために使用されます。既にデータベースに存在するユーザーは、再度作成されません。クエリの構造は、一意のユーザーを定義するテーブル内のすべての列をチェックするようにする必要があります。
- 今回の例では、USERNAME列の値をminiOrangeの該当フィールドと比較します。
SELECT * FROM USERS WHERE USERNAME='##USERNAME##'
3. ユーザーを作成する
- これらのクエリは、miniOrangeでユーザーが作成されるたびに、データベースにユーザーを作成します。クエリには適切な列名を含める必要があります。この例では、パスワードはデフォルトの文字列に設定されています(後で変更する必要があります)。
- これらのクエリは、miniOrange IdPからデータベースにマッピングする必要のある属性を指定するために、同じ表記法を使用しています。これは、アウトバウンドプロビジョニングの一例です。
- この例では、miniOrange から新しく作成されたユーザーのユーザー名、名、姓、およびメールアドレスをデータベースに同期します。また、デフォルトのパスワード文字列 ('defaultPassword123#') をデータベースに渡します。
INSERT INTO USERS (USERNAME, PASSWORD, FIRSTNAME, LASTNAME, EMAIL_ADDRESS) VALUES
('##USERNAME##', 'defaultPassword123#',
'##FIRSTNAME##','##LASTNAME##','##EMAIL_ADDRESS##')
- この例では、[ '##USERNAME##', '##FIRSTNAME##', '##LASTNAME##' ] という文字列が、miniOrange で新しく作成されたユーザーのユーザー名、名、姓の値に置き換えられます。
4. ユーザーの更新
- これらのクエリは、miniOrangeで関連するユーザー情報が変更されるたびに、データベース内のユーザー情報を更新します。これは、アウトバウンドプロビジョニングの一例です。
- この例では、miniOrangeで更新がトリガーされると、特定のユーザーのすべてのフィールドがデータベース内で更新されます。ユーザー名の値はminiOrangeでは変更できないため、WHERE句で使用されています。
UPDATE USERS SET FIRSTNAME='##FIRSTNAME##', LASTNAME='##LASTNAME##',
EMAIL_ADDRESS='##EMAIL_ADDRESS##' WHERE USERNAME='##USERNAME##'

- この例では、miniOrangeとデータベースの両方でユーザー名が同じであるユーザーの情報のみが更新されます。
5。 ユーザーを削除する
- これらのクエリは、miniOrangeでユーザーが削除されるたびに、データベースからユーザーを削除します。これは、アウトバウンドプロビジョニングの一例です。

- この例では、データベースから、ユーザー名列の値がminiOrangeのユーザー名フィールドの値と一致するユーザーを削除します。
DELETE FROM USERS WHERE USERNAME='##USERNAME##'

- この例では、データベースとminiOrangeの両方でユーザー名が完全に一致するユーザーのみがデータベースから削除されます。
必要な値を入力したら、下にスクロールして「保存」をクリックし、現在の設定を保存してください。
C. ユーザープロビジョニングと属性マッピングの設定
プロビジョニングレポートの表示
プロビジョニング レポートにアクセスするにはどうすればいいですか?
- MFAデバイスに移動する レポート 左側のナビゲーションパネルで、 プロビジョニング、および選択 プロビジョニングレポート.

- 指定してレポートをフィルタリングする エンドユーザー識別子 (NAIST) と アプリケーション名 基準を選択します。さらに、希望する 期間 レポートの編集が完了したら、 検索 .

- または、直接クリックして 検索 特定のフィルターを適用せずに、時間に基づいてすべてのプロビジョニング レポートを取得します。