認証
認証方式
パスワード認証
パスワード認証とは、ユーザーのログイン名とパスワードを使って認証する方法です。
パスワード認証では、リクエストヘッダーに「X-Cybozu-Authorization」ヘッダーを指定します。
ヘッダーの値は ログイン名:パスワード
を Base64 エンコードした値です。
たとえば、ログイン名が「Administrator」でパスワードが「cybozu」の場合、リクエストヘッダーには次の値を指定します。
|
|
APIトークン認証
API トークン認証とは、アプリごとに生成する API トークンを使って認証する方法です。
API トークンを生成する方法は、
APIトークンを生成する
を確認してください。
API トークン認証では、リクエストヘッダーに「X-Cybozu-API-Token」ヘッダーを指定します。
ヘッダーの値はアプリごとに生成した API トークンです。
たとえば、API トークンが「BuBNIwbRRaUvr33nWXcfUZ5VhaFsJxN0xH4NPN92」の場合、リクエストヘッダーには次の値を指定します。
|
|
複数の API トークンを指定する
複数の API トークンを指定すると、ルックアップフィールドがあるアプリで、ルックアップ元のアプリの値をコピーしてレコードを登録できます。
複数 API トークンを指定してできることの詳細は、
複数 API トークンを使ってできること
を参照してください。
複数の API トークンを指定するには、カンマ区切り、または別のヘッダーで API トークンを指定します。
1 回のリクエストで指定できる API トークンは 9 個までです。10 個以上指定すると、エラーになります。
以下は、カンマ区切りで API トークンを指定したときの「X-Cybozu-API-Token」ヘッダーの例です。
|
|
API トークンを使って操作できる API
API トークンは、レコードやアプリを操作する次の kintone REST API で使用できます。
レコード
- 1 件のレコードを取得する
- 複数のレコードを取得する
- 1 件のレコードを登録する
- 複数のレコードを登録する
- 1 件のレコードを更新する
- 複数のレコードを更新する
- 複数のレコードを削除する
- (レコードの一括取得)カーソルからレコードを取得する
- (レコードの一括取得)カーソルを作成する
- (レコードの一括取得)カーソルを削除する
- レコードコメントを投稿する
- レコードコメントを削除する
- レコードの作業者を更新する
- 1 件のレコードのステータスを更新する
- 複数のレコードのステータスを更新する
- 複数アプリのレコード操作を一括処理する
ファイル
アプリ
- フォーム
- 一覧
- 一覧の設定を取得する
- 一覧の設定を変更する(表示形式が「カスタマイズ形式」の一覧を含まないアプリの場合のみ)
- 設定
- 一般設定を取得する
- 一般設定を変更する
- プロセス管理の設定を取得する
- プロセス管理の設定を変更する
- アプリの条件通知の設定を取得する
- アプリの条件通知の設定を変更する
- レコードの条件通知の設定を取得する
- レコードの条件通知の設定を変更する
- リマインダーの条件通知の設定を取得する
- リマインダーの条件通知の設定を変更する
- アプリのアクセス権の設定を取得する
- アプリのアクセス権の設定を変更する
- レコードのアクセス権の設定を取得する
- レコードのアクセス権の設定を変更する
- フィールドのアクセス権の設定を取得する
- フィールドのアクセス権の設定を変更する
- アプリのアクション設定を取得する
- アプリのアクション設定を変更する
- グラフ
- 全体
備考
- 生成できるトークンは、アプリ 1 つにつき 20 個までです。
- API トークンを使用した操作は、Administrator による操作として記録されます。
-
組織間のアクセス権の設定
で「組織間のアクセスを禁止する」を有効にすると、kintone システム管理者のみが、API トークンを生成/閲覧できます。
セッション認証
セッション認証とは、Web ブラウザーで cybozu.com にログインしたときのセッションを使って認証する方法です。
kintone や Garoon に適用した JavaScript ファイルから kintone REST API を実行する場合には、セッションによる認証を利用できます。
ブラウザーの
XMLHttpRequest
や
Fetch API
を使って、POST/PUT/DELETE メソッドの API を実行する場合は、
CSRF トークン を付与してください。
Garoon に適用した JavaScript ファイルから POST/PUT/DELETE メソッドの kintone REST API を実行する場合は、
kintone 連携用トークン を付与してください。
OAuth クライアントを利用した認証
OAuth クライアント を参照してください。
ゲストユーザーが利用できる認証方式
ゲストユーザーが kintone REST API を実行する場合、セッション認証のみ利用できます。
認証の優先順位
認証方式の優先順位は次のとおりです。
- パスワード認証
- API トークン認証
- OAuth クライアントを利用した認証
- セッション認証
セキュリティ設定を行っている環境での API の利用
IP アドレス制限を設定している場合
IP アドレス制限
を設定している場合、次のいずれかの方法で実行します。
- 「IP アドレス制限」の設定で、REST API を実行する環境の IP アドレスを許可する。
許可する方法は、 ヘルプページを参照してください。
- Basic 認証を設定している場合は、リクエストヘッダーに「Authorization」ヘッダーを付与する。
詳細は、 Basic 認証 を参照してください。 - 有効期限の過ぎていないクライアント証明書を付与する。
詳細は、 クライアント証明書 を参照してください。
Basic 認証
Basic 認証
を設定している場合、リクエストヘッダーに「Authorization」ヘッダーを指定します。
ヘッダーの値は「Basic 」と「Basic 認証のユーザー名:Basic 認証のパスワード
を Base64 エンコードした値」を結合した値です。
たとえば、ログイン名が「cybozu」でパスワードが「password」の場合、リクエストヘッダーには次の値を指定します。
|
|
ゲストスペースやゲストスペース内のアプリに対して API を実行する場合には、「Authorization」ヘッダーを付ける必要はありません。
クライアント証明書
クライアント証明書は、セキュアアクセスの利用を許可することで発行できます。
セキュアアクセスの利用を許可し、クライアント証明書を発行する方法は、
セキュアアクセスを設定する
を参照してください。
クライアント証明書を使って実行する場合、URL のサブドメインの後に .s
を付ける必要があります。
たとえば「sample.cybozu.com」の場合、URL は「https://sample.s.cybozu.com」です。
違うユーザーのクライアント証明書を使って、パスワード認証をする場合には、.com 共通管理のログインのセキュリティ設定で、「API 利用時の認証」を有効にしてください。
詳細は、
ログインに関するセキュリティ
を参照してください。
SAML 認証を設定している場合
SAML 認証設定
を設定している環境でも、この記事で案内している認証方式を使って kintone REST API を実行できます。
ただし、パスワード認証を使う場合には、cybozu.com のログイン名とパスワードを指定してください。
.com 共通管理で ログイン時にSAML認証だけを使うように制限する
設定を有効にしている場合には、パスワード認証で実行できるユーザーは、cybozu.com 共通管理者のみに制限されます。
その他の認証方式では、この制限を受けません。
2要素認証を設定している場合
2 要素認証
を有効にしたユーザーでは、パスワード認証で REST API を実行できません。
パスワード認証以外の認証方式で実行するか、2 要素認証を無効にした連携用ユーザーを用意してください。