Function Compute では、HTTP トリガーに対して Bearer 認証を設定することで、承認されたユーザーがシンプルかつ安全な方法で関数にアクセスできるようにすることができます。
背景情報
Function Compute は、HTTP トリガーに対して Bearer 認証をサポートしています。 Bearer 認証では、Function Compute コンソールで関数へのアクセスを許可するトークン情報を設定します。 クライアントがアクセスを開始するときは、Authorization ヘッダーを介して有効なトークン情報を含めます。 アクセスリクエスト内のトークンデータが、トリガーに設定されているトークンデータと一致する場合、関数は正常にアクセスできます。
前提条件
関数と HTTP トリガーを作成します。 詳細については、「関数の作成」および「HTTP トリガーの設定」をご参照ください。
制限事項
各トークン名は、単一のトリガー内で一意である必要があり、最大長は 128 文字です。 使用できるのは、英字、数字、アンダースコア、およびハイフンのみです。 数字またはハイフン (-) で始めることはできません。
各トークンの値は、長さが 32 ~ 128 文字である必要があり、標準の Base64 文字「A-Z」、「a-z」、「0-9」、「+」、「/」、「=」、「-」、「~」、「.」のみ使用できます。
各 HTTP トリガーでは、1 ~ 20 個のトークンを設定できます。
トークン値は、異なるトリガー間および同じトリガー内で異なる必要があります。 トークンデータが過度に単純であるがために発生するセキュリティの問題を防ぐため、一般的な組み合わせをトークン値として使用しないでください。
Bearer 認証の場合は、本番環境で HTTPS プロトコルを使用してください。 HTTP プロトコルは、開発とテストにのみ使用する必要があります。 FC は、HTTP プロトコルの使用時にトークン漏洩によって発生するセキュリティの問題について責任を負いません。
Function Compute は、設定したトークン情報の保存と検証のみを行います。 トークン管理はユーザーの責任です。 漏洩した、または安全でないことが判明したトークンは、タイムリーにローテーションしてください。 また、長期間使用されているトークンは、事前にローテーションしてください。
手順
ステップ 1:Bearer 認証を設定する
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。
上部のナビゲーションバーでリージョンを選択します。[関数] ページで、対象の関数をクリックします。
関数の詳細ページで、[トリガー] タブをクリックします。次に、HTTP トリガーの [アクション] 列で、[編集] をクリックします。
[トリガーの編集] パネルで、次の設定を行い、[OK] をクリックします。
[認証方法] を [Bearer 認証] に、[トークンタイプ] を Opaque に設定します。[認証トークン] セクションで、
tokenDataをトークン値に設定します。トークンを無効にするには、
enableフィールドをfalseに設定します。
複数のトークンを設定するには、次のフォーマットを使用します。
{ "tokens": [ { "enable": true, "tokenData": "token-8g7f2a2c9fc23hid82593421g995", "tokenName": "tokenName-20i" }, { "enable": true, "tokenData": "token-8g7f2a2c9fc23hid82593421g995", "tokenName": "tokenName-20i" } ] }
ステップ 2:操作を確認する
curl ツールを使用して、Authorization ヘッダーを含めることで検証を開始できます。
curl --data your-data -X access-method -H "Authorization: Bearer your-token-data" https://your-http-trigger-addressサンプル値:
curl -X POST -H "Authorization: Bearer token-c9e25351******" https://******.cn-hangzhou.fcapp.runよくある質問
Bearer 認証を有効にした後、エンドポイントにアクセスするときに「Authorization ヘッダーが必要ですが見つかりません」というメッセージが表示されるのはなぜですか?
このメッセージは、HTTP トリガーへのリクエストに Authorization ヘッダーが含まれていないことを示しています。 リクエストに Authorization 情報を追加してください。
Bearer 認証を有効にした後、エンドポイントにアクセスするときに「無効な Bearer トークンが原因でアクセスが拒否されました」というメッセージが表示されるのはなぜですか?
このメッセージは、HTTP トリガーへのリクエストに有効なトークン情報が含まれていないことを示しています。 トークンデータが正しく送信されているかどうかを確認してください。 トークンデータは tokenData 値から取得されます。
Bearer 認証を有効にすると、追加料金が発生しますか?
いいえ、JWT 認証に対して課金されることはありません。 Function Compute によって提供されるゲートウェイ関連の機能は、[関数呼び出し] 回数の一部として課金されるため、Bearer 認証を有効にしても追加料金は発生しません。