CLIを使用してCloudflare Accessを介して接続する
Cloudflareのcloudflaredコマンドラインツールを使用すると、Cloudflare Accessによって保護されたエンドポイントと対話できます。cloudflaredを使用して、保護されたアプリケーションのAPIと対話することができます。
これらの手順は、APIに対して実行するサービスの設定を目的としたものではありません。この例のトークンはユーザーのアイデンティティに合わせて調整されており、コマンドラインツールを介してAPIと対話するエンドユーザーのみに意図されています。
このウォークスルーでは、以下の内容をカバーします:
- CLIからCloudflare Accessによって保護されたリソースに接続する方法
完了までの時間:
30分
cloudflaredをインストールしたら、Cloudflare Accessのアプリケーショントークンを取得するために使用できます。このウォークスルーでは、保護されたAPIの代わりにドメインexample.comを使用します。
-
トークンを生成するには、次のコマンドを実行します:
Terminal window cloudflared access login https://example.comこのコマンドを実行すると、
cloudflaredはウェブアプリケーションにアクセスしようとしたときに見つかるのと同じAccessログインページを含むブラウザウィンドウを起動します。 -
アイデンティティプロバイダーを選択し、ログインします。
ブラウザウィンドウが起動しない場合は、コマンドラインに自動的に印刷されるユニークなURLを使用できます。
- 認証に成功すると、ブラウザはトークンを
cloudflaredに暗号化された転送で返し、保存します。
トークンは、Access管理者によって設定されたセッションの持続時間の間有効です。
トークンを取得したら、保護されたAPIにアクセスできます。cloudflaredコマンドラインツールには、データをcurl経由で転送するためのラッパーが含まれており、URL構文を使用します(詳細については、curl ↗ GitHubプロジェクトを参照してください)。ラッパーは、トークンをクエリ引数名_token_としてcurlリクエストに注入します。ラッパーを次のように呼び出すことができます:
cloudflared access curl http://example.comリクエストにトークンを含めるために、cloudflaredとともにputコマンドを使用することも可能です。
他の利用可能なコマンドについては、読み進めてください。
loginコマンドは、Accessの背後にあるアプリケーションのログインフローを開始します。
cloudflared access login http://example.comcurlコマンドは、クライアントラッパーを呼び出し、リクエストにトークンを自動的に含めます。
cloudflared access curl http://example.comtokenコマンドは、他のコマンドラインツールで使用するために、その特定のアプリケーションにスコープされたトークンを取得します。
cloudflared access token -app=http://example.com保護されたアプリケーションにアクセスするスクリプトでの便利さと簡潔さのために、トークンを環境変数として保存することが可能です。
トークンを環境変数として設定するには、次のようにします:
-
次のコマンドを実行して、トークンをシェル環境にエクスポートします:
Terminal window export TOKEN=$(cloudflared access token -app=http://example.com) -
次のコマンドでトークンが保存されたことを確認します:
Terminal window echo $TOKEN
トークンを環境にエクスポートしたら、スクリプト内でCloudflare Accessリクエストヘッダーとともに変数を使用して、保護されたエンドポイントにアクセスします。以下の例のように:
curl -H "cf-access-token: $TOKEN" https://example.com/rest/api/2/item/foo-123