本文へスキップ

毎日 TablePro をお使いですか?ライセンスで有料機能が使え、次のリリースを支えられます。 ライセンスを購入ライセンスで TablePro を支援

接続、トンネルと認証情報

踏み台、クラスタやクラウド認証の先にあるデータベースを使う方へ。必要な経路とパスワード取得元を指定して接続を一度設定し、本番用には厳しいルールを適用できます。ここで紹介するのは Mac アプリの機能です。最後の節では iPhone と iPad を説明します。
MaciPhone・iPad

このページの有料機能:Environment Variables (Starter)。その他はすべて無料です。

接続ライブラリを整理する

各接続は General、Network、Options、Appearance タブを備えた一つのフォームで編集します。jdbc: URL や SSH 経由の接続を含む +ssh URL などの接続 URL をインポートすると、フォームに自動入力されます。クリップボードに URL がある場合は Use clipboard URL を選べます。

接続に色と好きな数のタグを付け、入れ子のグループに整理できます。よく使う接続はスターでお気に入りに登録できます。環境もタグで表し、local、development、production、testing が組み込まれています。独自のタグも追加できます。空のライブラリでは、Chinook の SQLite 版を同梱した Open Sample Database を選べます。

一つのウィンドウで複数の接続を開けます。左端の接続バーで切り替えると、各接続で最後に使ったタブが再表示されます。Open in New Window で別の接続を横に並べられます。

Welcome ウインドウ。色付きタグのある Production と Staging のグループに保存済み接続が並び、Chinook サンプルデータベースも表示されています。

既存の接続を取り込む

接続をゼロから作る必要はほとんどありません。TablePro は、別のクライアント、プロジェクトの設定ファイルや AWS アカウントから接続を読み取れます。

別のデータベースクライアントから

Import from Other App は、TablePlus の Setapp 版を含む TablePlus、Sequel Ace、DBeaver、DataGrip、Beekeeper StudioとNavicat に保存された接続を読み取り、そのアプリの保存先からパスワードも移行します。DBeaver と Navicat が保持する暗号化パスワードも対象です。Navicat の接続は .ncx エクスポートファイルから読み取ります。

Import from DataGrip シート。DataGrip で見つかった三つの接続が表示され、それぞれインポート可能と示されています。

プロジェクトの設定ファイルから

Open Project Folder はプロジェクト内の .env、wp-config.php、Prisma スキーマ、Rails の config/database.yml、docker-compose.yml、Spring の application.properties または application.yml、appsettings.json からデータベース設定を探します。見つかった設定を元ファイルとともに一覧表示し、選ぶと接続フォームに入力します。パスワードは直接キーチェーンに保存します。ファイルパス、ホストやデータベース名に prod、production または live が独立した単語として含まれる場合、その接続のセーフモードは Alert レベルで始まります。

acme-shop プロジェクトの Open Project Folder の結果。.env と .env.production で見つかった接続が表示されています。

AWS アカウントから

Import from AWS は、選んだリージョンで AWS プロファイルが参照できる RDS インスタンスと Aurora クラスタを一覧表示し、選択したものを追加します。プロファイルには rds:DescribeDBInstances と rds:DescribeDBClusters 権限が必要です。

踏み台、プロキシやクラスタの先に接続する

SSH と TLS

SSH トンネルは、パスワード、秘密鍵、1Password などの SSH エージェント、またはキーボード対話式のプロンプトで認証します。踏み台ホストを順に経由することも、~/.ssh/config の ProxyJump に従うこともできます。ワンタイムコードはキーチェーン内のシークレットから生成するか、接続のたびに入力を求められます。未知のホスト鍵は、TablePro が信頼する前にフィンガープリントを表示します。トンネルを SSH プロファイルとして保存すれば再利用できます。

TLS は Disabled、Preferred、Required、Verify CA、Verify Identity モードに対応し、独自の CA、クライアント証明書と鍵を使えます。Required はサーバー証明書を検証せずに暗号化し、Verify 系のモードは証明書を検証します。

接続フォームの SSH 設定。ホストは bastion.acme.internal、ユーザーは deploy、鍵認証を使用し、ジャンプホストが一台あります。

プロキシ、Cloudflare、Cloud SQL とトンネルコマンド

SSH を使わない場合、Network タブではリモート DNS に対応した SOCKS5 プロキシ、Cloudflare Access、Cloud SQL Auth Proxy 経由で接続できます。Cloudflare Access では TablePro が cloudflared を実行し、ブラウザやサービストークンで認証します。Cloud SQL Auth Proxy は、TablePro が PostgreSQL、MySQLとSQL Server 用にダウンロード、検証して実行します。

Tunnel Command は kubectl port-forward、aws ssm start-session または独自のコマンドを起動し、それが開いたローカルポートに接続します。接続前にシェルスクリプトを実行し、そのセッションで初めて実行するときに確認を求めることもできます。接続直後に SQL 文を実行することも可能です。

kubectl port-forward で svc/orders-db にトンネル接続する接続と、実行予定のコマンド。

クラウドアカウントで認証する

AWS IAM データベース認証は、アクセスキー、~/.aws のプロファイル(credential_process と引き受けたロールにも対応)、または AWS IAM Identity Center を使い、接続のたびに新しいトークンを署名します。この認証では TLS を Required に引き上げます。Amazon ElastiCache for Redis、Amazon Keyspaces、DynamoDB は、それぞれ独自の AWS 署名を使用します。

SQL Server は、指定したアプリ登録のクライアント ID を使ってブラウザで Microsoft Entra ID 認証を行うか、チケットまたはプリンシパルとパスワードで Kerberos 認証を行います。Google BigQuery はサービスアカウントキー、Application Default Credentials、または独自クライアントを使った Google OAuth に対応します。Google Cloud Spanner と Cloud SQL Auth Proxy では Google アカウントも使えます。

RDS と Aurora の AWS IAM 認証
PostgreSQL、MySQL、MariaDB

パスワードを適切な場所に保存する

パスワードは macOS キーチェーンに保存します。iCloud Sync を有効にすると、パスワード同期により iCloud キーチェーン経由で他のデバイスへ送られます。SSH 鍵は接続が参照するディスク上のファイルのままで、キーチェーンに入るのはパスフレーズだけです。

認証情報プロファイルで複数の接続に同じログイン情報を共有し、接続時に 1Password(op)、HashiCorp Vault、AWS Secrets Manager、シェルコマンド、ファイルや環境変数からパスワードを取得できます。これらのパスワード取得元は無料で、同期しません。各コマンドラインツールは PATH、/usr/local/bin または /opt/homebrew/bin に必要です。PostgreSQL、Amazon Redshift、CockroachDB では ~/.pgpass も使用でき、接続のたびにパスワード入力を求める設定もあります。

環境変数

Environment Variables:Starter プラン

接続のホスト、データベース、ユーザー名、SSH のホスト・ユーザー・鍵パス、SSL パス、起動コマンドやドライバーフィールドに $DB_HOST を記入すると、TablePro が接続時に自身の環境から値を補います。ポートとパスワードはこの方法では読み取りません。パスワードには取得元を指定してください。

接続ごとのルール

接続のセーフモードレベルは、文をそのまま実行するか、事前確認するか、Touch ID またはパスワードを求めるか、拒否するかを決めます。External Clients の Blocked、Read Only、Read & Write レベルは MCP クライアントと AppleScript ができる操作を定め、この Mac にのみ保存します。AI ポリシーでは、AI アシスタントが確認なしに使えるか、確認後のみ使えるか、決して使えないかを設定します。Never は MCP クライアントも拒否します。

組織は構成プロファイルを使い、すべての接続にセーフモードの最低レベルを強制し、アップデートを管理できます。

接続とクエリのタイムアウト

接続ごとに、ネットワーク、TLS、認証、トンネルやプロキシを含む接続タイムアウトを設定できます。アプリ全体の値に代えて独自のクエリタイムアウトも設定できます。クエリタイムアウトは、対応ドライバーで再接続後に適用されます。

iPhone と iPad では

iPhone と iPad アプリには MySQL、MariaDB、TiDB、OceanBase、PostgreSQL、SQLite、DuckDB、Redis、SQL ServerとOracle 用の接続フォームがあり、グループ、接続ごとに一つのタグ、お気に入りを使えます。SSH トンネルはパスワードまたはファイルや貼り付けで指定した秘密鍵で認証し、ホスト鍵を確認します。iPhone と iPad は SSH エージェントと踏み台ホストに対応しません。TLS はサーバー証明書を検証できますが、SQL Server の場合は検証せずに暗号化します。証明書はデバイスに残り、同期しません。

パスワードと貼り付けた鍵はキーチェーンに保存します。Mac から同期した SQL Server 接続では Microsoft Entra ID で認証できます。他アプリからのインポート、AWS IAM、Kerberos と Google 認証、プロキシとトンネルコマンド、パスワード取得元、タイムアウトは Mac アプリ専用です。

対応範囲

このページの各機能、Mac で必要なプラン、iPhone・iPad での対応範囲
機能
接続フォーム、グループ、タグとお気に入りMac: 無料iPhoneとiPad: 接続ごとにタグ一つ、色は非対応
URL やクリップボードからインポートMac: 無料iPhoneとiPad: 非対応
他アプリ、プロジェクトフォルダや AWS からインポートMac: 無料iPhoneとiPad: 非対応
パスワードや秘密鍵による SSH トンネルMac: 無料iPhoneとiPad: 無料
SSH エージェント、ワンタイムコードと踏み台ホストMac: 無料iPhoneとiPad: 非対応
証明書検証付き TLSMac: 無料iPhoneとiPad: SQL Server は検証せずに暗号化
SOCKS5、Cloudflare Access、Cloud SQL Auth Proxy と Tunnel CommandMac: 無料iPhoneとiPad: 非対応
AWS IAM、Kerberos と Google 認証Mac: 無料iPhoneとiPad: 非対応
Microsoft Entra IDMac: 無料iPhoneとiPad: Mac から同期した接続のみ
キーチェーンにパスワード保存Mac: 無料iPhoneとiPad: 無料
パスワード取得元、認証情報プロファイルと ~/.pgpassMac: 無料iPhoneとiPad: 非対応
環境変数Mac: Starter プランiPhoneとiPad: 非対応
接続ごとのセーフモードMac: 無料iPhoneとiPad: Off、Confirm WritesとRead-Only
接続とクエリのタイムアウトMac: 無料iPhoneとiPad: 非対応
構成プロファイルでセーフモードの最低レベルを強制Mac: 無料iPhoneとiPad: 非対応

知っておきたい制約

  • パスワード取得元と Network タブのプロキシやトンネルコマンドは、設定した Mac にのみ保存され、同期しません。そのため同期した接続には、Mac ごとにこれらを再設定する必要があります。
  • TablePro は起動時の環境を読み取ります。Dock や Finder から起動した場合、シェルプロファイルで設定した変数は見えません。環境変数を使うパスワード取得元と環境変数機能の両方に影響します。
  • プランが終了すると、$DB_HOST などの参照は展開されず、警告なしに入力した文字列のままサーバーに送られます。
  • Open Project Folder は一度限りのインポートです。変更は監視せず、同じ設定を二度インポートすると接続も二つ作成されます。
  • AWS IAM 認証は PostgreSQL、MySQLとMariaDB に対応し、Amazon Redshift には対応しません。構成プロファイルで強制できるのはセーフモードの最低レベルとアップデート設定のみです。

TablePro を入手

TablePro はオープンソースで、無料で使えます。有料プランで Mac アプリに任意の機能を追加できます。
Mac 版をダウンロード

macOS 13 Ventura 以降Apple siliconまたはIntel

App Store からダウンロード

iPhoneとiPadiOSとiPadOS 18 以降

料金を見る