認証
認証方式
パスワード認証
パスワード認証とは、ユーザーのログイン名とパスワードを使って認証する方法です。
パスワード認証では、リクエストヘッダーに「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件のレコードのステータスを更新する
- 複数のレコードのステータスを更新する
- 複数アプリのレコード操作を一括処理する
ファイル
アプリ
- フォーム
- 一覧
- 一覧の設定を取得する
-
一覧の設定を変更する
表示形式が「カスタマイズ形式」の一覧を含まないアプリだけ、APIトークン認証を利用できます。
- 設定
- 一般設定を取得する
- 一般設定を変更する
- プロセス管理の設定を取得する
- プロセス管理の設定を変更する
- アプリに追加されているプラグインの一覧を取得する
- アプリにプラグインを追加する
- アプリの条件通知の設定を取得する
- アプリの条件通知の設定を変更する
- レコードの条件通知の設定を取得する
- レコードの条件通知の設定を変更する
- リマインダーの条件通知の設定を取得する
- リマインダーの条件通知の設定を変更する
- アプリのアクセス権の設定を取得する
- アプリのアクセス権の設定を変更する
- レコードのアクセス権の設定を取得する
- レコードのアクセス権の設定を変更する
- フィールドのアクセス権の設定を取得する
- フィールドのアクセス権の設定を変更する
- アプリのアクション設定を取得する
- アプリのアクション設定を変更する
- グラフ
- 全体
備考
- 生成できるトークンは、アプリ1つにつき20個までです。
- APIトークンを使用した操作は、Administratorによる操作として記録されます。
- 組織間のアクセス権の設定で「組織間のアクセスを禁止する」を有効にすると、kintoneシステム管理者のみが、APIトークンを生成/閲覧できます。
組織間のアクセス権の設定
セッション認証
セッション認証とは、Webブラウザーでcybozu.comにログインしたときのセッションを使って認証する方法です。
kintoneやGaroonに適用したJavaScriptファイルからkintone REST APIを実行する場合には、セッションによる認証を利用できます。
kintoneに適用したJavaScriptファイルから実行する場合
次のいずれかの方法でリクエストを送信すると、セッション認証を利用できます。
方法1:kintone.api()
を使用する
kintone.api()
の詳細は、次のページを参照してください。
kintone.api()
:kintone REST APIリクエストを送信する API
ファイルをアップロードまたはダウンロードするAPIでは、kintone.api()
を使用できません。
方法2でリクエストを送信してください。
方法2:「X-Requested-With」ヘッダーを付与し、WebブラウザーのFetch APIまたはXMLHttpRequestを使用する
「X-Requested-With」ヘッダーの詳細は、次のページを参照してください。 「X-Requested-With」ヘッダー
HTTPメソッドがPOST/PUT/DELETEメソッドの場合は、「X-Requested-With」ヘッダーに加えて、クエリパラメーターまたはリクエストボディにCSRFトークンを付与します。
CSRFトークンを使ったリクエスト例は、次のページを参照してください。
CSRFトークンを取得する
Garoonに適用したJavaScriptファイルから実行する場合
「X-Requested-With」ヘッダーを付与し、WebブラウザーのFetch APIまたはXMLHttpRequestを使用してリクエストを送信します。
「X-Requested-With」ヘッダー
APIのHTTPメソッドがPOST/PUT/DELETEメソッドの場合には、「X-Requested-With」ヘッダーに加えて、クエリパラメーターまたはリクエストボディにkintone連携用トークンを付与します。
kintone連携用トークンを使ったリクエスト例は、次のページを参照してください。
kintone連携用トークンを取得する
OAuthクライアントを利用した認証
次のページを参照してください。
OAuthクライアント
ゲストユーザーが利用できる認証方式
ゲストユーザーがkintone REST APIを実行する場合、セッション認証のみ利用できます。
認証の優先順位
認証方式の優先順位は次のとおりです。
- パスワード認証
- APIトークン認証
- OAuthクライアントを利用した認証
- セッション認証
セキュリティ設定を行っている環境でのAPIの利用
IPアドレス制限を設定している場合
IPアドレス制限を設定している場合、次のいずれかの方法で実行します。
IPアドレス制限
- 「IPアドレス制限」の設定で、REST APIを実行する環境のIPアドレスを許可する。
許可する手順の詳細は、次のページを参照してください。
IPアドレス制限を設定する - Basic認証を設定している場合は、リクエストヘッダーに「Authorization」ヘッダーを付与する。
Basic認証 - 有効期限の過ぎていないクライアント証明書を付与する。
クライアント証明書
Basic認証
Basic認証を設定している場合、リクエストヘッダーに「Authorization」ヘッダーを指定します。
Basic認証
ヘッダーの値は「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を実行できます。
SAML認証
ただし、パスワード認証を使う場合には、cybozu.comのログイン名とパスワードを指定します。
また、.com共通管理でログイン時にSAML認証だけを使うように制限する設定を有効にしている場合には、パスワード認証で実行できるユーザーは、cybozu.com共通管理者のみに制限されます。
ログイン時にSAML認証だけを使うように制限する
その他の認証方式では、この制限を受けません。
2要素認証を設定している場合
2要素認証を有効にしたユーザーでは、パスワード認証でREST APIを実行できません。
2要素認証
パスワード認証以外の認証方式で実行するか、2要素認証を無効にした連携用ユーザーを用意してください。