My RedmineのAPI認証をOAuth2へ変更しよう:安全な「最小権限」運用のための設定ガイド

活用術

My Redmine 2026新春アップデート(RedMica 4.0対応)により、API認証にOAuth2が利用可能となりました。

外部ツール(BI、iPaaS、スクリプトなど)との連携は業務効率化に欠かせません。一方で、認証方法の選び方を間違えると、漏洩時に被害が大きくなったり、運用トラブルの原因になったりします。

これまで定番だった「APIキー」は手軽ですが、運用によっては “そのユーザーができること全部” を外部ツールに渡してしまう 形になりがちです。

そこで本記事では、新しくサポートされた OAuth2 を活用して、必要な操作だけを許可する(最小権限)運用へ切り替えるメリットと、導入の流れをわかりやすくまとめます。

目次


前提条件(最初にここだけ確認)

  • 操作には My Redmine の 「システム管理者」 権限が必要です
  • 管理設定API タブで 「RESTによるWebサービスを有効にする」 がオンになっていることを確認してください

RESTによるWebサービスを有効にするにチェックがONになっているRESTによるWebサービスを有効にするにチェックを入れる

OAuth2で、外部連携の安全性はどう変わる?

これまで My Redmine を外部ツールと連携させるとき、最も簡単だったのが APIキー です。
ただし APIキーは「簡単」と引き換えに、次のような状態になりやすいのが弱点です。

  • いったん渡すと強い権限まで使えてしまう
  • どのツールがどのキーを使っているか追いづらい
  • キーを止めると“全部止まる”事故が起きやすい

OAuth2を使うと、ここが根本的に改善します。
ポイントは、アプリ(連携先)単位で、許可する操作を絞って渡せることです。

APIキーとOAuth2の違い

OAuth2とは?APIキーとの“決定的な違い”

APIキー:手軽だけど「権限が強すぎる」ことがある

APIキーは、例えるなら “そのユーザー本人” の証明書です。
連携先ツールは、あなたになり代わって操作できます。

その結果、もし管理者のAPIキーをツールに設定すると…

  • チケット閲覧のつもりが、削除や設定変更まで可能になってしまう
  • ツールの不具合や設定ミスで、意図しない操作が起きても止めにくい

OAuth2:アプリごとに「許可する操作」を選べる

OAuth2は、外部ツールを “1つのアプリ” として登録し、
そのアプリに 「何をしてよいか」 を指定してアクセスを許可する仕組みです。

  • スコープ(範囲):例)チケット閲覧だけ、更新だけ、など
  • トークン:APIキーやパスワードを外部ツールに直接渡さない
  • 承認画面:利用者が「このアプリに、これを許可する」を確認して承認する

APIキー運用で起きがちな「ヒヤリ」と限界

ヒヤリ1:管理者権限を“うっかり貸してしまう”

集計ツールなどに管理者のAPIキーを設定すると、そのツールは 管理者としての操作ができてしまいます。
ツールの設定ミスやバグがあった場合でも、権限の強さがそのまま被害の大きさにつながります。

ヒヤリ2:漏洩・退職時に「全停止」になりやすい

同じAPIキーを複数ツールで使い回していると、キーを止めた瞬間に…

  • 連携がまとめて全部止まる
  • どのツールが影響を受けるか把握できず復旧が遅れる

「安全のために止めたいのに、止められない」状態を生みがちです。

OAuth2にする3つのメリット

メリット1:最小権限(スコープ)で事故を“起こりにくく”できる

たとえば閲覧専用のツールなら、閲覧だけを許可します。
これにより「改ざん」「削除」などの事故を、仕組みとして防ぎやすくなります。

メリット2:ツールごとに認証を分離できる(巻き添えが減る)

OAuth2は アプリ単位で登録します。
あるツールだけ止めても、他のツールはそのまま動くので、運用が安定します。

メリット3:管理画面から“いつでも個別に”遮断できる

管理アプリケーション から、連携中アプリを一覧で見て、

  • 不要になったアプリだけ 失効(無効化)
  • 「何が繋がっているか」を見える化

ができます。

OAuth2の設定手順(5ステップ)

ここからは「何をどう進めるか」を、全体の流れで整理します。

Step 1:管理者がMy Redmineに「アプリ」を登録する

  • 管理アプリケーション新しいアプリケーション

ここで、連携したい外部ツールを「1つのアプリ」として登録します。

Step 2:スコープ(許可する操作)を選ぶ

アプリに許可する権限(スコープ)を選択します。
迷ったらまずは “必要最低限” に寄せるのがおすすめです。

  • 例:閲覧が目的なら「閲覧系」のみにする
  • 例:更新が必要なら「更新系」を追加する(ただし最小限)

権限の選択画面

Step 3:外部ツール側で接続を開始する

外部ツールの設定画面で、

  • My Redmine のURL
  • OAuth2の接続設定

などを設定します。

Step 4:承認画面で「何を許可するか」を確認して承認する

My Redmine側に承認画面が出たら、次をチェックして承認します。

  • どのアプリ(ツール)なのか
  • どの操作(スコープ)を要求しているのか

問題なければ 承認 をクリックします。

承認画面

Step 5:完了(トークンで安全に連携が開始)

承認が完了すると、外部ツールはトークンを使って連携します。
APIキーのように“強い鍵を丸ごと渡す”必要がなくなります。

Tips:運用で差がつく「失効(無効化)」の習慣

外部連携は便利ですが、使わなくなったものは放置しがちです。
定期的に見直して 不要なアプリを失効 するだけで、リスクはかなり下がります。

  • 管理アプリケーション の一覧を定期チェック
  • 使っていない/用途不明なものは失効
  • 「これは何用?」がわかるように、アプリ名に用途を書くのもおすすめ

例:「BI集計(閲覧のみ)」、「自動起票スクリプト(作成のみ)」

まとめ:OAuth2で「安心して連携できる状態」を作ろう

APIキーは手軽ですが、運用次第で “強すぎる権限” を外部に渡すことになりがちです。
OAuth2に切り替えると、次の状態を作れます。

  • 必要な操作だけ許可(最小権限)
  • ツールごとに独立(巻き添え停止が減る)
  • 管理画面から個別に遮断(見える化・失効が簡単)

まずは いまAPIキーで動いている連携を1つ 選び、OAuth2に切り替えるところから始めてみてください。
「最初の1つ」ができると、あとは同じ流れで横展開できます。

【あわせて読みたい】実装の前に:OAuth2の使い方、設定手順とサンプルコード

RedmineのOAuth2認証の具体的な設定や、実際にAPIを呼び出すためのサンプルコードをこちらの記事で詳しく解説しています。本記事とあわせてお読みいただくことをおすすめします。

【Redmine 6.1以降対応】REST API OAuth2の使い方:設定手順とコード例(Redmine.JP Blog)

関連記事

無料で試してみる(最大2ヶ月無料) お申し込みから10分で使えます
My Redmine サービス紹介資料 サービス紹介・マニュアル・初心者向け資料
My Redmine サービス紹介セミナー
My Redmineのサービス内容・ご利用までの流れを動画で紹介します。ご質問はチャットで受け付けご回答します。
詳細はこちら
Redmineセミナー
Redmineに関するセミナーを開催しています。どなたでもご参加頂けます。過去に開催したセミナーも録画配信しています。
詳細はこちら
無料オンライン相談会
毎週開催。お客様に合った運用や設定を一緒に考えます。サービス紹介、ミニ相談、データ移行専用相談をご用意。
詳細はこちら