Function Compute では、HTTP トリガーに Basic 認証を設定できます。これにより、権限のあるユーザーが関数にアクセスするためのシンプルで安全な方法が提供されます。
背景情報
Function Compute は、HTTP トリガーの Basic 認証をサポートしています。Function Compute コンソールで、権限のあるユーザーのユーザー名とパスワードを設定します。クライアントがリクエストを行うとき、有効な Base64 エンコードされたユーザー名とパスワードを Authorization ヘッダーに含める必要があります。リクエスト内の認証情報がトリガーに設定された認証情報と一致する場合にのみ、関数にアクセスできます。
前提条件
開始する前に、関数と HTTP トリガーを作成します。詳細については、「関数を作成する」および「HTTP トリガーを設定する」をご参照ください。
制限事項
ユーザーリストには最大 20 人のユーザーを含めることができます。
ユーザー名は 12~128 文字の長さで、FC リソースの命名規則に従う必要があります。
パスワードは 12~128 文字の長さである必要があります。大文字、小文字、数字、および少なくとも 1 つの特殊文字 (
! @ # $ % ^ & * ( )) を含める必要があります。各ユーザーは一意のパスワードを持つ必要があります。弱いパスワードによるセキュリティリスクを防ぐため、パスワードに一般的な組み合わせを使用しないでください。
Basic 認証を設定した後、本番環境では HTTPS プロトコルを使用してください。HTTP プロトコルは開発およびテスト専用です。Function Compute は、HTTP プロトコルの使用によって引き起こされるユーザー名やパスワードの漏洩などのセキュリティ問題について責任を負いません。
Function Compute は、設定したユーザー情報の保存と検証のみを行います。ユーザーの管理はお客様の責任となります。侵害された、または安全でないと見なされるパスワードは、速やかにローテーションしてください。また、長期間使用されているパスワードもローテーションしてください。
手順
ステップ 1: Basic 認証を設定する
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。
上部のナビゲーションバーでリージョンを選択します。[Functions] ページで、ターゲット関数をクリックします。
関数の詳細ページで、[Triggers] タブをクリックします。次に、HTTP トリガーの [Actions] 列にある [Edit] をクリックします。
[トリガーの編集] パネルで、次のオプションを設定し、[OK] をクリックします。
[Authentication Method] を [Basic Authentication] に設定します。
[User List]: [Username] と [Password] を入力します。ユーザー名とパスワードの要件については、「制限事項」をご参照ください。

ステップ 2: 設定を検証する
cURL コマンドを使用して検証リクエストを送信します。リクエストには、有効な Base64 エンコードされたユーザー名とパスワードを Authorization ヘッダーに含める必要があります。
ターゲット関数の詳細ページの [Triggers] タブで、HTTP トリガーのパブリックエンドポイントを取得します。
コマンドラインで次のコマンドを実行して、ユーザー名とパスワードを Base64 エンコードします。
echo -n "username:password" | base64このコマンドは、エンコードされたユーザー情報を返します。
コマンドラインで cURL コマンドを実行して関数を呼び出します。
以下はサンプルコマンドです:
curl -X POST "https://example.com" -H "Authorization: Basic YmFzaWMtYXV0aGVudGljYXRpb246MTUyMkBaaHV6aTV6****="パラメーター:
https://example.comを、最初のステップで取得したトリガーのパブリックエンドポイントに置き換えます。Authorization リクエストヘッダーの値は、`Basic` で始まり、その後にスペースが続く必要があります。
よくある質問
Basic 認証を有効にした後、トリガー URL にアクセスすると authorization require メッセージが返されるのはなぜですか?
このメッセージは、HTTP トリガーへのアクセスリクエストに有効な Authorization ヘッダーが含まれていないことを示します。リクエストに Authorization ヘッダーが含まれているか、およびヘッダー値のユーザー情報が正しいかどうかを確認してください。
Basic 認証を有効にした後、トリガー URL にアクセスすると Authorization header must start with Basic メッセージが返されるのはなぜですか?
RFC 7617 によると、クライアントが Basic 認証を使用してリクエストを送信する場合、リクエストには Authorization ヘッダーを含める必要があります。このヘッダーの値は `Basic` で始まる必要があります。
Basic 認証を有効にすると追加料金は発生しますか?
いいえ、発生しません。Function Compute が提供するゲートウェイ関連機能の料金は、関数呼び出しの料金に含まれています。したがって、Basic 認証を有効にしても追加料金は発生しません。