GeneXus Access Manager のリポジトリ接続の目的は、GAM アプリケーションにセキュリティレベルを追加することです。そのため、GAM アプリケーションにアクセスするには、まずリポジトリ接続を確立する必要があります。API キーを持っているようなものです。
その後、GAM リポジトリ接続が正常に確立された場合にのみ
GAM API のメソッドが実行されます。各リポジトリに複数の接続を定義できます。これは、多くの Web またはネイティブ モバイル アプリケーションが同じ GAM リポジトリにアクセスする場合に特に重要です。この場合、管理者はデータベースに定義されているリポジトリ接続を管理することで、GAM へのアクセスを制御できます。
リポジトリ接続に関連付けられているユーザーを GAM の
接続ユーザーと呼びます。
関連データは、GeneXus のモデルの web ディレクトリーの下にある
connection.gam ファイルに保存されます。
1. ナレッジベースでセキュリティが設定される場合 (
[ Enable Integrated Security ] プロパティ = Yes)、具体的には新しい GAM データベースを GeneXus で作成する必要がある場合、
GAM リポジトリ接続は既定で定義されます。この場合、GAM の接続ユーザー名は、既定では、アクティブバージョンの名前に設定されます。
この情報は、プロトタイプ用の GAM データベース内に GX IDE によって生成されます。ただし、GAM データベースを作成する前に、必要に応じて GAM の接続ユーザーを変更できます (詳細については、「
GeneXus の GAM リポジトリ管理」を参照)。
図 1 は、"TestRestAuthorization" というナレッジベースに対し、GAM データベースに作成された既定のリポジトリ接続を示します。
図 1.
2. 考えられるシナリオの 1 つは、複数のアプリケーションが同じ GAM を使用する場合です。
GAM データベースを定義したら、同じ GAM データベースを使用する必要があるほかの環境やナレッジベースで、
[ Connection User Name ] プロパティと
[ Connection User Password ] プロパティ (
[ Administrator User Name ] プロパティと同じ) に既存の値を設定する必要があります。この場合の最適なオプションは、アプリケーションごとに異なるリポジトリ接続を定義および設定することです。これはパフォーマンスとセキュリティ上の理由のためです。
すべてのナレッジベースで [ Repository Id ] プロパティを同じ値にする必要があります。
新しい接続は GAM API を使用して作成できます。図に示すように、 [ Repository ] の下にある [ Connections ] をクリックして「GAMExampleWWconnections」にアクセスすることで、
GAM Web Backoffice でもリポジトリ接続を簡単に管理できます。
図 2 は、GAM Backend の「新規に GAM リポジトリ接続を追加する」場合のインターフェースです。
[ ADD ] ボタンをクリックすると、接続を作成するための画面が表示されます。
図 2.
GAM データベースで GAM 接続が作成されたら、新しいキーを生成したり、現在のキーを関連付けたりできます。すべての接続が、connection.gam ファイルではなくデータベースに保持されます。これは GeneXus の以前のバージョンと同様です。connection.gam ファイルには、データベースに複数の接続を保持できるキーのみが含まれます。
図 3 は、作成した接続にキーを関連付ける方法を示しています。現在のキーを関連付けて ( [ USE CURRENTKEY ] ボタン) 既存の接続に新しい接続を追加できます。接続を自動で生成 ( [ USE AUTOMATIC KEY ] ボタン) して、既存の XML で新しい connection.gam を作成するか、手動でキーを追加します。
[ FILE ] ボタンを押して connection.gam のコンテンツを取得し、生成された XML を新しい connection.gam にコピーできます。
さらに、キーの保存 ( [ SAVE KEY ] ボタン)、キーの削除 ( [ DELETE ] ボタン)、現在の接続の削除 ( [ DELETE CONNECTIONS ] ボタン) が可能です。
リポジトリごとに同じ接続キーを持つ接続は 1 つだけ保持できます。
まとめ:
- GAM のリポジトリ接続は、接続ユーザーによって設定され、GAM API メソッドを使用するたびに、GAM データベースのリポジトリへ接続が確立されます。
- GAM 接続情報は GAM データベースに格納され、connection.gam ファイルで設定し、サーバーのデプロイに取り込む必要があります。
- GAM データベースには、GAM のリポジトリ接続を複数保存できます。各リポジトリ接続は、同じ GAM データベースを使用する異なるナレッジベースまたは環境から使用できます。
- リポジトリ ID はリポジトリを識別する情報で、同じ GAM リポジトリを使用するすべてのナレッジベースで同じ値に設定する必要があります。
- 複数のリポジトリを同じ GAM データベースに格納できます。この場合、各リポジトリに接続を定義し、それに応じて connection.gam ファイルを更新します。詳しくは、「GAM を使用して新しいリポジトリを作成する方法」を参照してください。
- V17 Upgrade #5 より、GAM 接続キーは環境変数「GX_GAMCONNECTIONKEY」で指定できます。SAC #49841 を参照してください。
異なるアプリケーションで同一の GAM データベースを使用する方法
GeneXus の GAM リポジトリ管理
GAM リポジトリ接続の取得および設定方法
GAM のリポジトリ接続情報の取得と接続ファイルの作成方法