レビュー

無料で使えるCloudflare Accessの「サービス認証」を設定して外出先のアプリから自宅のローカルAIにアクセスしてみた


Cloudflare Accessは特定のユーザーや端末、サービスだけにアプリケーションへのアクセスを許可するゼロトラスト型のアクセス制御サービスです。インターネット上に公開したサービスの手前にCloudflare Accessを配置するだけで設定でき、サービス本体にログイン機能がなくてもOK。今回はブラウザからのアクセスを維持しつつ、サービストークンを持つアプリからの通信も通せるように「サービス認証」を設定してみます。

Access | ゼロトラストネットワークアクセス(ZTNA)ソリューション | Cloudflare
https://www.cloudflare.com/ja-jp/sase/products/access/


以前、Cloudflare Tunnelを使ってローカルPCで動作しているAIサーバー「Lemonade」をインターネットから利用できるようにし、さらにCloudflare Accessによるメール認証を設定して、許可したユーザーだけがアクセスできるようにしました。

無料で使えるCloudflare Accessで安全にローカルのAIを外部から使えるように設定してみた - GIGAZINE


ブラウザからアクセスする場合、Cloudflare Accessのログイン画面を操作することで認証できます。一方で、Node.jsなどで作成したアプリからLemonadeのAPIを呼び出す場合には人間によるログイン操作を必要としない認証方法が必要です。

そこで利用できるのが、Cloudflare Accessの「サービス認証」です。サービス認証では、アプリやサーバーなどのプログラムに対して「サービストークン」と呼ばれる専用の認証情報を発行します。アプリから送信するHTTPリクエストにサービストークンのクライアントIDとシークレットを付与することでCloudflare Accessで保護されたサービスへアクセスできるようになります。

さっそく実際に設定していきます。まずはCloudflareのダッシュボードにログインし、左上のクイック検索で「サービス」と検索して「サービス認証」をクリックします。


「サービストークンを追加する」をクリック。


サービストークン名を入力し、有効期間を「無期限」に設定して「トークンを生成する」をクリックします。


クライアントIDとシークレットが作成されます。ヘッダー名とセットになってコピーできるようになっているので、両方をコピーして保存します。ただ、この画面では右下の「保存」をクリックできませんでした。


「保存」はクリックできませんでしたが、サービストークンのページを再読み込みしてみるとトークンが生成されていたのでこのまま進めます。


続いて左のメニューから「ポリシー」を開き、「ポリシーを追加する」をクリック。


ポリシールールで「Service Token」を選択し、先ほど作成したサービストークン「MyApp to Lemonade」を選択します。ポリシー名を入力し、アクションを「サービス認証」に変更。


最下部へスクロールして「ポリシーを保存」をクリックします。


左のメニューから「アプリケーション」へ移動し、以前作成した「lemonade」をクリック。


「ポリシー」タブへ移動して「既存のポリシーを追加」から先ほど作成した「MyApp to Lemonade」ポリシーを選択します。


無事追加されました。「保存」をクリック。


さっそくアプリからアクセスしてみます。サービストークンを作成した際に保存しておいたクライアントIDとシークレットを「CF-Access-Client-Id」と「CF-Access-Client-Secret」ヘッダーにそれぞれ設定します。今回は疎通を確認するための一時的な利用のため、ソースコードに直接記述しました。


アプリからLemonadeにアクセスしてAIの返事をもらうことができました。人の操作を介さずにAIを利用できるため、さまざまな用途に活用できそうです。

・関連記事
メールアドレスか電話番号を入力し6桁のコードが送信されてログインする仕組みは「最悪のパスワードシステム」なので今すぐ改修が必要という指摘 - GIGAZINE

2段階認証のQRコードから認証キーをWindowsで抽出してTOTPのワンタイムパスワードを振り出す簡単な方法 - GIGAZINE

Androidから30秒以内に二要素認証コードを盗むことができるサイバー攻撃「Pixnapping」 - GIGAZINE

スマホ・PC間で同期できる無料の二要素認証アプリ「Proton Authenticator」レビュー、Android・iOS・Windows・macOS・Linux対応で他アプリからの移行も簡単 - GIGAZINE

Android開発者認証は「保護を装った脅威」だとF-Droidが主張 - GIGAZINE

in AI,   ネットサービス,   レビュー, Posted by log1d_ts

You can read the machine translated English article I tried setting up 'Service Authenticati….