
こんにちは。CData Software Japan リードエンジニアの杉本です。
この度、CData Connect AI の「Per User Authentication」機能が kintone に対応しました!
これにより、AIエージェントが kintone にアクセスする際に、ユーザーごとの認証情報・権限を使って接続できるようになっています。kinotne とAI 連携の相談では今までも数多くこの機能の相談があったので、個人的にも嬉しいアップデートですね!
というわけで今回は Per User Authentication の概要と、kintone でのセットアップ手順を紹介します。
Per User Authentication とは?
CData Connect AI では、データソースへの接続に2種類の認証モデルが選択できます。
認証モデル | 概要 | 適した用途 |
|---|
Shared Authentication | Connect AI の全ユーザーが同一のサービスアカウントで接続する | 読み取り専用・全員が同じデータを参照するケース |
Per User Authentication | Connect AI の各ユーザーが自分の認証情報で接続する | 規制対応・ユーザーごとにアクセスできるデータが異なるケース |
kintone はアプリやレコードごとに閲覧・編集権限を細かく設定できるサービスです。Per User Authentication を使うことで、AIエージェントも「そのユーザーが kintone 上で持つ権限の範囲内」でのみデータにアクセスするようになります。コンプライアンス要件が厳しい環境や、部門・役職ごとにデータの見え方を分けたいケースで特に有効です。

kintone の認証方式
Per User Authentication で kintone に接続する場合、以下の3種類の認証方式に対応しています。
認証方式 | 概要 |
|---|
Password | kintone のログインIDとパスワードで認証する |
API Token | kintone アプリに発行した API トークンで認証する |
OAuth | kintone の OAuth 2.0 で認証する(推奨) |
本記事では OAuth を使った手順をメインに解説します。OAuth はパスワードをアプリに渡さずに認証できるため、セキュリティ面でより堅牢な選択肢です。
kintone 側の事前準備(OAuth アプリの登録)
まず kintone 側で OAuth クライアントを登録します。
cybozu.com の共通管理画面から 「外部連携」→「OAuth」 に進みます。

「OAuth クライアントの追加」ボタンからクライアントを新規作成します。以下の情報を設定します。
項目 | 設定値 |
|---|
クライアント名 | 任意(例:CData Connect AI) |
リダイレクトエンドポイント | https://oauth.cdata.com/oauth/
|

作成が完了すると Client ID と Client Secret が発行されます。この2つは後の Connect AI 設定で使用するのでメモしておきましょう。

併せてこのOAuth 連携を利用するユーザーの設定を追加しておきましょう。

これで kintone 側の準備は完了です。
CData Connect AI での設定手順
それでは Connect AI 側でコネクションを作成していきましょう。
Connect AI の管理画面から 「Sources」→「Add Connection」 を選択し、kintone を選択します。

コネクションの設定画面が開いたら、以下のように入力します。
プロパティ | 設定値 |
|---|
URL | OAuthClient |
Schema | Kintone |
Auth Scheme | Oauth |
OAuth Client ID | kintone で発行した Client ID |
OAuth Client Secret | kintone で発行した Client Secret |

さらに、重要なポイントとして、画面下部にある「Authentication Model」で「Per-User Authentication」を選択しておきます。これを設定することで、CData Connect AI のユーザーとkintone のユーザーが紐づいて、接続することが可能になります。

それから「OAuth」を利用する場合はkintone のAPI 仕様上、カーソルAPI が利用できません。CData Connect AI のkintone コネクタはデフォルトでカーソルAPI を利用しますが、OAuth 接続の場合は「Advanced Settings」にある「Use Cursor」をOFF にして接続しましょう。
https://cybozu.dev/ja/kintone/docs/rest-api/records/create-cursor/

それでは、まずこのCData Connect AI の管理者権限のまま「Sign In」をクリックしてみましょう。以下のようにkintone へのログインおよび認可リクエストが表示されるので許可します。

これで認証は完了しました。

ユーザーの初回認証
Per User Authentication では、各CData Connect AI ユーザーが初めてこのコネクションを使う際に、自分の kintone アカウントで OAuth 認証を行う必要があります。
別ユーザーでCData Connect AI にログインすると、コネクションが以下のような状態になっていることが確認できます。

この状態でコネクションの編集画面から「Sign In」をクリックしましょう。

今度は各ユーザーでkintone へのログインが求められるので、これでアクセス許可を行うことで、ユーザー毎の権限がCData Connect AI に紐づきます。

動作確認
認証が完了したら、実際に Claude などの MCP クライアントからアクセスしてみましょう。
以下のような権限確認アプリを用意しておき、自分が作成したレコードのみが閲覧できる状態にしておきます。

ユーザーAでログインした時は以下のようなデータが表示され、

ユーザーBでログインした時は以下のようなデータになります。

ユーザーAとユーザーB、それぞれでCData Connect AI のアカウントを利用してアクセスしてみましょう。プロンプトは同じものを利用します。

すると、各ユーザーが kintone 上で閲覧権限を持つアプリ・レコードのみが返ることが確認できます。
以下はユーザーAの場合です。

続いてユーザーBの場合の結果です。

このようにそれぞれの権限で生成AI からのアクセス権をコントロールすることが可能です。
セキュリティ・権限設計のさらなる深掘り
Per User Authentication は、CData Connect AI が提供する5層のアクセス制御モデルの「Layer 2:認証モデル」に相当します。認証モデルに加え、コネクション権限(SELECT のみに絞るなど)や Toolkit によるツール制限を組み合わせることで、AIエージェントのデータアクセスをより細かく制御できます。
各層の役割や設計パターンについては、以下の記事で詳しく解説しています。あわせてご参照ください。
生成AIとエンタープライズデータを安全につなぐ:CData Connect AI の5層アクセス制御モデル

注意事項
おわりに
このように Per User Authentication を kintone で使うことで、AIエージェントのデータアクセスをユーザーごとの権限に正確に紐付けられるようになります。
ぜひトライアルで色々と試してみてください。なにかわからないことがあれば、お気軽にサポートやお問い合わせからどうぞ。
https://jp.cdata.com/contact/