36
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

Firebase functionsで 403 error "Your client does not have permission to get URL /** from this server" となった場合の解決策

久しぶりにFirebase functionsを使ってHelloWorldしようとしたら
Your client does not have permission to get URL /helloWorld from this server
となって、少しはまってしまったので解決方法をご紹介いたします。

Screenshot 2020-04-22 10.17.44.png

Google Cloud Consoleで権限を付与する

2020年1月15日時点より、Cloud Functionsの関数に関して、未認証の場合はデフォルトで呼び出しできない用になっているようです。(それまでは、未認証でも関数呼び出し実行できたが今は設定しないとできない)

そこで、Google Cloud Console内で該当する関数の設定を行います。

  1. Google Cloud ConsoleのFunctionsの設定画面にログインします
    1. Firebaseでプロジェクトを作成しているのと同一のアカウントでログインします
    2. Firebaseの該当のプロジェクトを選択します。
  2. アクセス権を付与する関数の横にあるチェックボックスをクリックします。
    cloudfunction.png

  3. 右上隅にある [情報パネルを表示] をクリックして、[権限] タブを表示します。

  4. [メンバーを追加] をクリックします。

  5. [新しいメンバー] フィールドで、「allUsers」と入力します。

  6. [役割を選択] プルダウン メニューから Cloud Functions > Cloud Functions 起動元 役割を選択します。
    Screenshot 2020-04-22 10.37.36.png

  7. [保存] をクリックします。

  8. FirebaseのFunctionsで該当の関数にアクセスします。(helloWorld)
    helloworld.png

表示されました!
これで完了です。

公式ドキュメント:

Google Cloud のドキュメントにも記載があります。
https://cloud.google.com/functions/docs/securing/managing-access-iam#allowing_unauthenticated_function_invocation

以上

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
36
Help us understand the problem. What are the problem?