Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

CLI で Cloudflare Access 経由で接続する

最終更新 Markdown で表示Agent セットアップ

Cloudflare の cloudflared コマンドラインツールを使うと、Cloudflare Access で保護されたエンドポイントとやり取りできます。保護されたアプリケーションの API にも cloudflared でアクセスできます。

これらの手順は、サービスを API に対して常時実行するための設定ではありません。この例のトークンはユーザー ID に紐づき、エンドユーザーがコマンドラインツールから API とやり取りする場合だけを想定しています。

この手順で扱う内容:

  • CLI から Cloudflare Access で保護されたリソースへ接続する

所要時間:

30 分


コマンドラインからセッションを認証する

cloudflared をインストール したあと、Cloudflare Access の アプリケーション トークン を取得できます。この手順では、保護された API の代わりにドメイン example.com を使います。

  1. トークンを生成するには、次のコマンドを実行します。

    cloudflared access login https://example.com

    このコマンドで、cloudflared は Web アプリケーションへアクセスするときと同じ Access ログインページをブラウザーで開きます。

  2. ID プロバイダーを選び、ログインします。

ブラウザーが開かない場合は、コマンドラインに自動表示される一意の URL を使えます。

  1. 認証に成功すると、ブラウザーは暗号化した転送でトークンを cloudflared に返し、保存します。

トークンの有効期間は、Access 管理者が設定した セッション期間 です。

API にアクセスする

トークンを取得したあと、保護された API にアクセスできます。cloudflared コマンドラインツールには、curl 経由でデータを転送するラッパーが含まれます。URL 構文を使います(詳細は curl の GitHub プロジェクトを参照)。ラッパーは、curl リクエストに token というクエリ引数としてトークンを挿入します。次のように呼び出します。

cloudflared access curl http://example.com

任意の Unix ツールのリクエストにトークンを含めるには、cloudflaredput コマンドも使えます。

ほかの利用可能なコマンドは、この先を参照してください。

利用できるコマンド

login

login コマンドは、Access 配下のアプリケーション向けログインフローを開始します。

cloudflared access login http://example.com

curl

curl コマンドはクライアントラッパーを呼び出し、リクエストにトークンを自動で含めます。

cloudflared access curl http://example.com

token

token コマンドは、そのアプリケーションにスコープされたトークンを取得し、ほかのコマンドラインツールで使えるようにします。

cloudflared access token -app=http://example.com

トークンを環境変数として使う

保護されたアプリケーションにアクセスするスクリプトでは、トークンを環境変数に保存すると簡潔に書けます。

トークンを環境変数にする手順は次のとおりです。

  1. 次のコマンドを実行し、トークンをシェル環境へエクスポートします。

    export TOKEN=$(cloudflared access token -app=http://example.com)
  2. 次のコマンドで、トークンが保存されたことを確認します。

    echo $TOKEN

環境へエクスポートしたあと、スクリプト内で Cloudflare Access のリクエストヘッダーに変数を付け、保護されたエンドポイントへアクセスします。次の例を参照してください。

curl -H "cf-access-token: $TOKEN" https://example.com/rest/api/2/item/foo-123

役に立ちましたか?