最近のアクセス:
GXflow と GAM の統合

GXflow が GeneXus Access Manager (GAM) と統合されている場合、すべてのユーザーおよびロールの (セキュリティの問題に関する) 管理は GAM に委任されます。ロールおよびユーザーに関する情報が GAM に格納されている場合も、GXflow テーブルにも同じ情報が格納されます。
したがって、アプリケーションの適正なフローを保証するため、ユーザーおよびロールを GAM から GXflow へ、またはその逆へ同期する必要があります。GeneXus IDE でロールをタスクに割り当てる必要があります。GAM でアプリケーションのセキュリティに対処するため、GXflow テーブルでスケジュールされているさまざまなタスクを割り当てるために、ユーザーおよびロールを同期する必要があります。
同期はグローバルに行うことも (Gflow から GAM へ、または GAM から GXflow へ、ユーザーおよびロールのグループ、また、それらの関係を任意の方向に同期)、対話形式で行うこともできます。
警告: 開発者が GXflow を GAM と統合する際には、リポジトリ設定で既定として設定されている 1 種類の認証しか使用されません。カスタム認証を使用する GAM は (LDAP などを介して) 外部の資格情報を確認します。ユーザー管理のためにワークフロー API を使用している開発者は、credentials provider に提供されていることを確認する必要があります。
 

ユーザーおよびロールのグローバルな同期

1. ユーザーの同期

GAM から GXflow へ GXflow から GAM へ
1. GAM ユーザーが GXflow に接続したときに、「オンデマンド」 で同期が行われます。
このとき、ユーザーが GAM リポジトリに登録されているかどうかが確認されます ("gxflow public" ロールも確認されます)。存在しない場合は、GXflow コンテキスト内に作成され、ロールが割り当てられるか、または既存のロールと同期されます。
1. apwfmigrateuserstogam プロシージャーを実行することで、ユーザー、ロール、およびその関係が GAM に同期されます (手動同期)。
2. apwfsynchronizegamusers プロシージャーを実行することで、GXflow にユーザーがグローバルに同期されます (手動同期)。 2. ビルドプロセスで自動的に同期が実行されます。
=== Migrate workflow users to GAM started ==========
.....
Migrate workflow users to GAM Success

  • 制限事項: GAM ユーザー名を変更すると、GXflow は、同期時に新しいユーザーとして扱います。その場合、両方のユーザー名 (変更後のユーザー名と変更前のユーザー名) が GXflow で共存することになりますが、変更後のユーザー名が GAM ユーザーに対応します。
 

2. ロールの同期

GAM から GeneXus IDE へ GeneXus IDE から GAM へ
1. ナレッジベースを開いたときに、GAM で作成されたロールが GeneXus IDE で作成されます。
ロールは、 [ 設定 ] の [ ワークフロー ] にある [ ビジネス プロセス ダイアグラムのロール ] オプションで確認できます。
この場合、GAM から GeneXus への同期は、ナレッジベースを開いたときに自動的に行われます。
1. GeneXus から GAM へロールの自動同期が行われるのは、次の場合です:
  • 最初にナレッジベースを開いたとき
  • [ すべてビルド ] の実行時
  • [ すべてリビルド ] の実行時 
  • デプロイ時
[ ビルド ] 出力ウィンドウに次のメッセージが表示されます:
===Export roles to GAM started ===
.....
Role RoleName1 successfully exported
Role RoleName2 successfully exported
.....
Export roles to GAM Success
2. ロールを手動で同期化するには、apwfmigraterolestogam プロシージャーを実行するしかありません。
これは GeneXus X Evolution 3 Upgrade 5 以降で利用できます。
2. [ ツール ] -> [ ワークフローツール ] -> [ GAM ロールを同期 ] オプションを使用しても、強制的に同期化を行うことができます。 3. [ ツール ] -> [ ワークフローツール ] -> [ GAM ロールを同期 ] オプションを使用しても、強制的に同期化を行うことができます。

  • GeneXus 15 Upgrade 4 以降、同期プロセスは双方向です。つまり、GAM ロールに対する各 CRUD 操作は、GXflow ロールに自動的に反映され、またその逆も同じです。以前のバージョンでは、同期は相加的です。(たとえば、GAM から削除されたロールが、GXflow から削除されませんでした。)
  • 自動同期を無効にするには、 [ DisableGamRolesSync ] プロパティを True にした config.gx (このファイルが存在しない場合は、Models ディレクトリー内に作成する必要があります) を使用します。

 

手動同期を実行する方法

手動同期を実行するには、次のコマンドラインを使用します:

.NET

同期プロシージャーは \bin フォルダ内にあります。次のように実行します:
C:\Models\...\CSharpModel\web>bin\apwfmigrateuserstogam.exe

C:\Models\...\CSharpModel\web>bin\apwfmigraterolestogam.exe

C:\Models\...\CSharpModel\web>bin\apwfsynchronizegamusers.exe

Java

同期プロシージャーは <アプリケーション>\WEB-INF\classes\com\gxflow フォルダ内にあります。このプロシージャーを実行するには、現在の作業ディレクトリーを "\classes" レベルのフォルダに設定し、次のように実行します:
C:\..\<アプリケーション>\WEB-INF\classes>java -cp ".;..\lib\*" com.gxflow.apwfmigrateuserstogam

C:\..\<アプリケーション>\WEB-INF\classes>java -cp ".;..\lib\*" com.gxflow.apwfmigraterolestogam

C:\..\<アプリケーション>\WEB-INF\classes>java -cp ".;..\lib\*" com.gxflow.apwfsynchronizegamusers
Java を使用する場合は、connection.gam ファイルが C:\..\<アプリケーション>\WEB-INF\classes にあることを確認してください。さもないと、次のようなエラーメッセージが表示されます:「無効な GAM リポジトリ。GXflow ロールが必要です」または「リポジトリが見つかりません。アプリケーションの管理者にお問い合わせください」。
Troubleshooting the GXflow-GAM manual synchronization」を参照してください。
 

ユーザーおよびロールの対話形式による同期化

GeneXus X Evolution 3 Upgrade 6 よりも古いバージョンでは、ユーザーおよびロールの処理には、GXflow APIGAM API の両方を使用する必要があります。
GeneXus X Evolution 3 Upgrade 6 以降は、GXflow API でのユーザーおよびロールの処理が、GAM のユーザーおよびロールに直接影響を及ぼします。「GXflow API integrated to GAM」を参照してください。このため、GXflow マネージメントコンソールの GXflow API を使用するだけです。

ユーザーの指名

GAM Backoffice からユーザーおよびロールを追加できます。なお、"GXflow Public" ロールをユーザーに追加する場合、GXflow はそのユーザーに対してログイン操作時にユーザーの指名を試行します (ユーザーがまだ指名されていない場合)。

注:

GeneXus 15 Upgrade 4 以降:
  • [ GXflow Public ] ロールをユーザーに追加する場合、ロールが作成され、利用可能な指名ユーザーライセンスがある場合はユーザーの指名が試行されます。ユーザーが作成されておらず、GAM に統合された GXflow API を使用する場合、ログイン操作時に (ユーザーが存在しない場合は) 作成され、指名が試行されます。
  • GAM Backend のユーザーとロールに対するすべての CRUD 操作は、GXflow クライアントに自動的に反映されます。その逆も同様です。以前のバージョンの GeneXus を使っている場合は、GAM に統合された GXflow API を使って、ユーザーとロールを手動で処理することに制限されています。

参考情報

GXflow と GAM の初期化
GAM で GXflow クライアントをカスタマイズする方法
Business Process Deployer





サブページ
Created: 14/09/18 03:12 by Admin Last update: 21/05/21 04:32 by Admin
カテゴリ
Powered by GXwiki 3.0