コンテンツにスキップ

gen1 と gen2

  • gen2 が選べるようになっている

endpoint の認証

  • いままで terraform で deploy してて気付かなかったが gcloud functions deploy でデプロイするとどうもデフォルトで認証が必要になるっぽい.
  • なので trigger http の url に直にアクセスしても 403 になる
    • curl 等でテストしたい場合は -H "Authorization: bearer $(gcloud auth print-identity-token)"Authorization ヘッダ足してあげれば ok
  • --allow-unauthenticated を deploy 時に付けると認証不要にはなる
    • function 消して指定しないで再 deploy したら gcloud functions add-iam-policy-binding appName --region=asia-northeast1 --member=allUsers --role=roles/cloudfunctions.invoker って言われた.
      • 実行したらちゃんとアクセスできるようにはなった
    • これ terraform で確かに実行してる
    • --allow-unauthenticated を指定すると最初から同じ事を実行してくれる…?
    • 削除は
    • gcloud functions remove-iam-policy-binding appName --region=asia-northeast1 --member=allUsers --role=roles/cloudfunctions.invoker だけだとダメで
    • gcloud functions remove-invoker-policy-binding appName --region=asia-northeast1 --member=allUsers も実行が必要
    • gcloud functions get-iam-policy appName --region=asia-northeast1
      • iam policy が確認できる
    • --allow-unauthenticated を改めて追加して get-iam-policy したら予想通り, allUsers の role が追加されていた
    • 認証あった方が良いのは間違いないので token の発行方法は後で確認しよう