IP アドレスとファイアウォール情報を管理する
AppSheet がオンプレミスのデータベースに接続できるようにするには、AppSheet サーバーの IP アドレスに対してデータベースのファイアウォールを開きます。AppSheet の IP アドレスのリストについては、IP アドレスとファイアウォール情報を管理するをご覧ください。
AppSheet で Integration Connectors を使用する
これは、Integration Connectors with AppSheet のプレビュー リリースです。機能リリースを追跡、管理するをご覧ください。プレビュー版のサービスは、テスト環境のみで使用することを前提としています。本番環境用アプリでのご利用はおすすめしません。この機能について質問がある場合やサポートが必要な場合は、AppSheet サポートにお問い合わせください。
Integration Connectors with AppSheet(プレビュー版)を使用するには、AppSheet Enterprise Plus アカウントが必要です。
Google Cloud Integration Connectors を使用すると、AppSheet を含むさまざまなアプリケーションやインテグレーションでエンタープライズ データを公開できます。Google Cloud で作成した接続は、AppSheet のデータソースとして使用できます。AppSheet での Integration Connectors の概要をご覧ください。
DreamFactory を使用する(制限あり)
DreamFactory をインストールする
DreamFactory は、REST API を公開するプロキシ サーバーで、これにより、サードパーティのアプリケーションが安全にデータベースに接続できます。
DreamFactory をインストールする方法は 2 つあります。1 つ目の方法は、データベースのサーバーとは別のウェブサーバーにホストされている DreamFactory インスタンスを作成する方法です。この場合でも、DreamFactory インスタンスがデータベースに接続できるように、データベースのファイアウォールを開く必要があります。2 つ目の方法は、DreamFactory をダウンロードし、データベースと一緒にオンプレミスのサーバーにインストールする方法です。DreamFactory をインストールして設定する方法について詳しくは、DreamFactory をご覧ください。
DreamFactory に AppSheet を登録する
DreamFactory の設定が完了したら、管理者として DreamFactory インスタンスにログインし、[Apps] タブを開き、[Create] をクリックして AppSheet を登録します。新しいアプリに AppSheet と名前を付け、[Active] チェックボックスをオンにして、アプリのロケーションとして [On a remote URL] を選択して、AppSheet の URL(https://www.appsheet.com/)を入力します。
[Save] をクリックして AppSheet を登録すると、DreamFactory は自動的に新しい API キーを生成し、AppSheet を DreamFactory インスタンスに接続するために使用できるようになります。
データベースを新しいサービスとして登録する
DreamFactory がデータベースに接続できるようにするには、DreamFactory インスタンスに新しいサービスとして登録する必要があります。
DreamFactory で、[Services] タブを開き、[Create] をクリックして新しいサービスを追加します。[Info] サブタブで、データベースのタイプに基づいて適切なサービスタイプを選択します。現在、AppSheet は SQL データベース(SQL Server、MySQL、MariaDB、PostgreSQL)のみをサポートしています。MariaDB データベースの場合、[MySQL] を選択します。サービスタイプを選択したら、サービスに名前とラベルを付けます。
次に [Config] サブタブを開き、データベース サーバーのアドレス、データベースの名前、ユーザー名、パスワードを記入します。データベースがデフォルトのポートを使用しない場合は、ポート番号も指定する必要があります。DreamFactory インスタンスがデータベースと同じサーバーでホストされていない場合、[Config] サブタブにインスタンスの IP アドレスをメモし、データベースのファイアウォールに追加する必要もあります。その他の設定のほとんどは無視してかまいません。
新しいサービスを保存したら、[Schema] タブを開き、DreamFactory がデータベースに接続できるようになったことを確認します。新しく作成したサービスが、サービスのプルダウン メニューで利用できるようになりました。新しいサービスを選択してから、[Table] プルダウン メニューを開きます。サービスが正しく設定されている場合、DreamFactory はプルダウン メニューにデータベース内のテーブルとビューの名前を入力できるはずです。テーブルやビューを表示させるために、[Refresh] のクリックが必要になる場合があります。
ロールとユーザーを作成する
セキュリティ上の理由から、AppSheet は管理者アカウントではなくユーザー アカウントを使用してのみ DreamFactory インスタンスに接続できます。その結果、AppSheet 用に新しい DreamFactory ユーザー アカウントを作成し、このアカウントに適切なロールを割り当てる必要があります。
まず、[Roles] タブを開き、[Create] をクリックして新しいロールを開きます。[Basic] サブタブで、新しいロールに名前を付け、[Active] チェックボックスをオンにします。
次に [Access] サブタブを開き、プラスボタンをクリックして 2 つの新しいサービス アクセス ルールを追加します。
最初のルールでは、作成したデータベース サービスを選択し、Component に _schema/* を選んでから、GET アクセスモードを有効にします。このアクセスルールは、テーブルとビューの列構造を取得して分析するために、AppSheet がデータベースのテーブル スキーマにアクセスできるようにします。AppSheet は変更を加えずにテーブル スキーマを読み取るだけでよいため、GET アクセスモードだけを有効にする必要があります。
2 番目のルールには、Component に _table/* を選択し、すべての利用可能なアクセスモードを有効にします。このルールにより、AppSheet がデータベースのテーブルやビューに対してデータを読み書きできるようになります。
新しいロールを保存したら、[Users] タブを開き、[Create] をクリックして、新しいユーザー アカウントを追加します。[Basic] サブタブで、アカウントのメールアドレスを記入し、[Active] と [Set Password] 両方のチェックボックスをオンにして、アカウントの新しいパスワードを作成します。
次に、[Roles] サブタブを開きます。AppSheet が DreamFactory インスタンスに正しく登録されていれば、新しいアカウントで利用可能なアプリの一つとして AppSheet が表示されるはずです。AppSheet 用に作成したロールを選択し、ユーザー アカウントを保存します。
AppSheet のデータソースとして DreamFactory を追加する
DreamFactory インスタンスの設定と構成が完了したら、AppSheet アカウントにデータソースとしてインスタンスを追加できます。これを行うには、アカウント ページの [Sources] タブを開き、[add data source] ボタンをクリックして新しいデータソースの名前を付けてから、データソース タイプとして [On-premises Database] を選択します。
DreamFactory 接続情報ページで、以下のフィールドに記入します。
- Database type: データベースの種類(MySQL、SQL Server など)
- Server: DreamFactory インスタンスのアドレス。一般にアクセス可能な URL、IP アドレス、またはホスト名である必要があります。
- API key: DreamFactory によって AppSheet に割り当てられた API キー
- Service name: DreamFactory 内のデータベースのサービス名。これは、AppSheet を DreamFactory に登録する際に使用したアプリケーション名ではありません。
- User email: 作成した DreamFactory ユーザー アカウントのメール。
- Password: ユーザー アカウントのパスワード。
上記のフィールドを入力したら、接続をテストし、最後に AppSheet が DreamFactory を介してデータベースにアクセスすることを承認します。