最近のアクセス:
ページ
履歴
バックリンク
GAM Deploy Tool: データのインポート
GAM Deploy Tool
の用途として、
GAM Manager リポジトリ
の管理者が、既存の
GAM リポジトリ
から
データをエクスポート
し、同じ
GAM
データストアまたは別の GAM データストアの別のリポジトリにデータをインポートするという利用方法があります。
GAM データベースが存在しない場合、インポート処理によって、データをインポートする前に、データベース構造を作成します。
次のセクションでは、GAM Deploy Tool のインポートおよびデプロイのプロセスについて説明します。
新しいリポジトリまたは既存のリポジトリにデータをインポートする方法
1.
GAM Deploy Tool
を実行します。
2.最初の画面で、インポートするパッケージ (ツールの [ エクスポート ] オプションによって生成) の場所を設定します。
3.続いて、DBMS の接続設定を入力します。
ここでは、パッケージをインポートする GAM データストアの接続設定を入力する必要があります。指定する GAM データベースは、既存のものでも存在しないものでもかまいません。
既存のデータベースの場合、
GAM Manager リポジトリ
の管理者の資格情報を入力します。その後、新しいリポジトリを作成するか、既存のリポジトリを更新できます。
存在しない GAM データベースを指定した場合、新しい GAM データベース構造が作成され、そのメタデータが初期化されます (
GAM Manager リポジトリ
が作成される)。その後、パッケージ内のデータを使用して新しいリポジトリが作成されます。
要約すると、次の内容を実行できます:
新しい設定を使用して、新しいリポジトリを作成する。
既存のリポジトリを更新する。
4.新しいリポジトリが作成される場合、そのリポジトリの設定を入力します:
次の内容を指定する必要があります:
リポジトリの名前
リポジトリの名前空間
説明
管理者ロール: 作成される管理者ユーザーに関連付けられるパッケージのロールを指定します。定義上、このロールは is_gam_administrator アクセス許可を持つ必要があります。
接続ユーザー名、接続ユーザーパスワード: 新しい接続ユーザーとして作成するユーザーを指定します。
管理者ユーザー名、管理者ユーザーパスワード: 管理者ユーザーとして作成するユーザーを指定します。
新しい接続ユーザーと同様、新しい管理者ユーザーが作成されることに注意してください。connection.gam ファイルは、新しい
GAM リポジトリ接続
を使用して更新されます。connection.gam ファイルは、GAM Deploy Tool が実行されるフォルダに生成されます。
5.フルインポートまたはカスタムインポートを選択できます (後者のオプションを選択した場合は、後で詳しい情報を指定する必要があります)。
6.ロールおよびアプリケーションをインポートするかどうかを新しく選択できるようになりました。
新しいリポジトリを作成する場合、エクスポートされたリポジトリの設定は、新しいリポジトリにはコピーされません。それ以外の場合、既存のリポジトリ内でインポートが実行されると、エクスポート元のリポジトリの設定はすべてインポート先のリポジトリにコピーされます。ただし、RepName、RepDsc、RepNamespace、RepUpg、RepVer、RepId、RepGUID の列を除きます。
ロールのインポートを選択した場合、パッケージ内のすべてのロールがデータベースにインポートされます。
インポートされるロールがリポジトリ内に存在しない場合、エクスポート元のリポジトリ内のロールの階層を考慮して、そのロールが作成されます。
インポートされるロールがリポジトリ内に存在する場合、そのロールが更新されます。
ロールのインポートを選択し、アプリケーションのインポートは選択しなかった場合、ロールはアクセス許可との関連を持たない状態でインポートされます。
パッケージ内に、そのロールと関連付けられたアクセス許可がある場合、そのロールとアクセス許可をインポートするには、アクセス許可が定義されているアプリケーションを選択します。このシナリオでは、インポート時に、アクセス許可が対応するアプリケーションと関連付けられます。ロールはアクセス許可と関連付けられてインポートされます。
アプリケーションおよびロールのインポートを選択した場合、アクセス許可がパッケージ内のロールに属しているかどうかに関わらず、アプリケーション内のすべてのアクセス許可がインポートされます。
アプリケーションのインポートを選択したときに、選択したアプリケーション内にアクセス許可が存在しない場合は、元のリポジトリのアクセス許可の階層を考慮して、リポジトリ内にアクセス許可が作成されます。
アクセス許可が既に存在する場合、それらがリポジトリ内で更新されます。
ロール (およびユーザー) をエクスポートする場合、それらに関連付けられたセキュリティポリシーもエクスポートされます (ロールおよびユーザーの既定のセキュリティポリシー)。そのため、ロール (およびユーザー) をインポートするときに、ロール (およびユーザー) のセキュリティポリシーがデータベース内に存在しない場合、それらのポリシーが挿入されます。
既に存在する場合は、フルインポートを実行しているときにのみ、ポリシーが更新されます。
ロールおよびアプリケーションのみをインポートするカスタムインポートの場合、ロール (ユーザー) に関連付けられたセキュリティポリシーは、GAM データベース内に存在しない場合のみ更新されます。
アクセス許可とロールは、名前ではなく GUID で識別されます。リポジトリ内に存在するロールまたはアクセス許可を、同じ名前の異なる GUID でインポートする場合、それらは異なるエンティティと見なされます。常に同じデータベースからのエクスポートを実行する場合、この問題が発生することはありません。この問題が発生する可能性があるシナリオは、本番環境のデータベース内に手動でロールまたはアクセス許可を作成し、その後、開発環境のデータベース内で同じものを作成するような場合です。開発環境からエクスポートを実行するときに、そのロールまたはアクセス許可には本番環境とは異なる GUID が設定されるため、同じ名前であっても異なるロールまたはアクセス許可と見なされます。
注: 名前が同じで GUID が異なるアクセス許可を更新しようとした場合、次のエラーが表示される可能性があります: "Repository, Application, Name already exists (BC:1)(42)" これは、そのアクセス許可名に固有のキーが定義されているためです。参照:
GAM Deploy Tool エラーの解消方法: リポジトリ、アプリケーション、名前が既に存在する
データをインポートするときに、データベースのレジスタが削除されることはありません。たとえば、インポートされるロールに関連付けられているアクセス許可が、インポート先のデータベース内のロールよりも少ない場合、データベース内にあるロールとアクセス許可の関連付けが削除されることはありません。新しいアクセス許可への関連付けが追加されます。
別の例を挙げると、インポート先のデータベース内のロール X の子ロールとパッケージ内にあるロール Y の子ロールが同じロールだった場合、インポート後、そのロールは X と Y の両方の親を持つことになります。アクセス許可の階層についても同様です。
パッケージの
GAM リポジトリ接続
は、インポート先のリポジトリ内に挿入されますが、名前は変更されません。新しい名前は <元の名前> + リポジトリ ID になります。
注
考えられるシナリオとして、GAM データベースのバージョン X からバージョン Y (X > Y) にデータを移行する場合があります。GAM データベース構造の変換は、GAM Deploy Tool により自動的に行われます。対応する再編成が実行され、データがコピーされます。現時点では、データのみ更新されます。
参考情報
Import Users - GAM Deploy Tool
GAM Deploy Tool: connection.gam ファイルの作成