複数Azure Active Directory アカウントをレプリケーション
CData Sync for AzureAD は、データベースにサンドボックスや製品インスタンスをレプリケートするなどの、レプリケーションの多様なシナリオに対する解決策を提供するスタンドアロンアプリケーションです。Sync for Windows およびSync for Java はどちらもコマンドラインインターフェース(CLI)を含んでおり、複数のAzure Active Directory 接続を簡単に管理できます。この記事では、CLI を使って複数のAzure Active Directory アカウントをレプリケートする方法について説明します。
Azure Active Directory 接続の構成
接続およびE メール通知設定をXML 設定ファイルに保存できます。複数のAzure Active Directory アカウントをレプリケートするには、複数の設定ファイルを使います。以下にAzure Active Directory をSQLite にレプリケートする設定例を示します。
Windows
<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>System.Data.SQLite</DatabaseProvider> <ConnectionString>OAuthClientId=MyApplicationId;OAuthClientSecret=MySecretKey;CallbackURL=http://localhost:33333;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> <TaskSchedulerStartTime>09:51</TaskSchedulerStartTime> <TaskSchedulerInterval>Never</TaskSchedulerInterval> </CDataSync>
Java
<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>org.sqlite.JDBC</DatabaseProvider> <ConnectionString>OAuthClientId=MyApplicationId;OAuthClientSecret=MySecretKey;CallbackURL=http://localhost:33333;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> </CDataSync>
Azure Active Directory は、Entra ID(Azure AD)、Azure サービスプリンシパル、またはManaged Service Identity(MSI)による認証をサポートします。 認証手順は、ヘルプドキュメントの「Azure Active Directory への認証」セクションを参照してください。
各Azure Active Directory インスタンスにクエリを設定
Sync を使うと標準SQL でレプリケーションを制御できます。REPLICATE ステートメントはハイレベルなコマンドで、データベースにテーブルをキャッシュして維持します。Azure Active Directory API がサポートするあらゆるSELECT クエリを定義できます。下記のステートメントは、Azure Active Directory のデータ のテーブルをキャッシュしてインクリメンタルに更新します。
REPLICATE Domains;
特定のデータベースを更新するために使用するレプリケーションクエリを含むファイルを指定することができます。レプリケーションステートメントはセミコロンで区切ります。次のオプションは、複数のAzure Active Directory アカウントを同じデータベースにレプリケートする場合に便利です。
REPLICATE SELECT ステートメントでは、異なるテーブルのプレフィックスを使用できます。
REPLICATE PROD_Domains SELECT * FROM Domains
異なるスキーマを使用することもできます。
REPLICATE PROD.Domains SELECT * FROM Domains
Sync の実行
接続文字列およびレプリケーションクエリの設定が完了したら、次のコマンドラインオプションを使ってSync を実行できます。
Windows
AzureADSync.exe -g MyProductionAzureADConfig.xml -f MyProductionAzureADSync.sql
Java
java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar AzureADSync.jar -g MyProductionAzureADConfig.xml -f MyProductionAzureADSync.sql