はじめに こんにちは、株式会社 Flatt Security セキュリティエンジニアのぴざきゃっと (@pizzacat83) です。 認証機構を自作せずに導入できる Firebase Authentication は様々なアプリケーションにて利用されていますが、その特性を十分に理解せずに導入すると、実は不具合や脆弱性が生じることがあります。そこで本稿では Firebase Authentication を利用するうえで、注意しなければ不具合や脆弱性に繋がりうる 7 個の「落とし穴」について解説します。 はじめに IDaaS の利点と欠点 落とし穴 1. 自己サインアップ リスク 対策 落とし穴 2. ユーザーが自身を削除できる 対策 落とし穴 3. 他人のメールアドレスを用いたユーザー登録 リスク リスク 3-1. メールアドレス誤入力によるユーザー乗っ取り リスク 3-2. 他人にメー
ANDPADチャットチームでエンジニアをしている椎野(@taikishiino)です。 前回、5000万件越えのRDS大量データをFirestoreに移行する勘所 という記事を書かせていただきました。 tech.andpad.co.jp その後、グロースのための施策にも徐々に注力できるようになってきました。 今回は効果的にグロースさせていくための効果検証の仕組み作りの取り組みについて紹介していきます。 効果検証 どんな方法で Firebase Analytics ログイベントについて どのようにイベント設計したか パラメータルール どのように可視化したか 画面内の機能導線タップ総数の割合 対象画面の各機能導線のタップ数/UU 対象機能導線のタップ数/UU この先の話 効果的な仮説検証へ 施策リリース前段階でのニーズ検証 さいごに 効果検証 主な効果検証の目的は以下の2つです。 リリースした
はじめに こんにちは、フロントエンドエンジニアの多田です。 フロントエンド領域の勉強をはじめて 1 年が経ち、今回個人でゼロからアニプラさん(バルーンショップを経営してる会社)のバルーンサイトの検索システムを作らせていただく機会に恵まれました。 開発にかけられる総時間が 200 時間(つまり工数 1 人月ちょいぐらい、、)というだいぶヤバめなチャレンジングな時間的制約の中、要件定義・デザイン・フロントエンド・バックエンド・インフラ周りまで通して全て 1 人で開発し、完成させることができました。 はじめてfigmaでデザインしてみた アニプラさんより記事を書く許可をいただいたので、開発の裏側の話を記事にまとめます。 開発したサイトはこちら ↓ (今回の記事のメインとなる Next.js で作ったバルーンプラン一覧検索画面) 本記事の内容 (ほぼ)個人開発においての、要件定義 → デザイン →
最近作った Slack Bot が好評だったのでまとめてみました! どこの Slack ワークスペースでも導入できるように詳細に設定方法も記載しています。 🛠 作ったもの tell-me-bot(社内では tell-me-paccho)という、社内用語辞典をいい感じに管理してくれる Slack Bot を作りました。 社内ではもともと Spreadsheet で社内用語を管理していたのですが、メンテナンスする人が限られ、あまり積極的には利用されていない状況でした。 そんな時に@しかじろうさんのこちらの記事を発見して、これはおもしろいアイデアだと思い、Firebase + Bolt(TypeScript)にて作ってみました(アイデアをくれた@しかじろうさんに感謝🙏)。元記事の機能を参考に+αの機能も色々実装しています。 構成 Cloud Functions for Firebase で
2020年12月頃にFirestore Data Bundlesという機能がリリースされたもののあまり話題になっていないので調べてみました。知らない人も多いのではないでしょうか? まず参考にしたblogとドキュメントを👇 に載せておきます。公式blogが利用シーンなども書かれておりわかりやすかったのでおすすめです(英語)。 参考 公式blog Load Data Faster and Lower Your Costs with Firestore Data Bundles! 公式ドキュメント Cloud Firestore data bundles Serve bundled Firestore content from a CDN Firestore Data Bundlesとは Firestoreでは、ユーザー全員が同じデータを読み取る場合でもそれぞれのユーザー(デバイス)ごとに読み
バックエンドの構築を最短化することができることで有名な、GoogleのFirebase。 煩わしいサーバーの構築をスキップし、目的のウェブアプリケーションやモバイルアプリケーションを構築できるmBaaS(mobile Backend as a Service)と呼ばれる類のクラウドプラットフォームです。 しかし、その便利さの陰で見逃されがちなのが、セキュリティ。 手軽な開発を進められるその裏で、世に生み出されたプロダクトにはFirebase特有の脆弱性が大量に潜んでいることをご存知でしょうか? 今回はFirebaseにまつわる脆弱性や、Firebaseを用いるうえで実際に気を付けるべきセキュリティについて、Flatt Securityにて執行役員を務める豊田恵二郎さん、セキュリティエンジニアの梅内翼さん・ぴざきゃっとさんの3名へお話を伺いました。
はじめまして、開発部の@taikishiinoです。 2020年3月にアンドパッドにジョインし、約一年が経ちました。 現在、チャットサービスの開発・運用をするチームに所属しており、その中で最近、RDSからFirestoreへのデータ移行を行いました。 本記事では、その際の課題やそれに対して実際に行ったことなどを中心にご紹介していきます。 データ移行の背景 僕たちのチャットサービスを開発するチームでは、現在、プロダクトのデータベースをRDSとFirebase RealtimeDatabaseのミックスからFirestoreに移行する大規模プロジェクトが行われています。 旧環境「RDSとFirebase RealtimeDatabase」の課題として、 チャットのアクセスを処理しているAPIサーバーのバックグラウンド処理は複数プロダクト共通で利用しており、チャット起因で負荷が高まってしまうとい
Google アナリティクス for Firebase (以下GA4F)は、GA360と同様、サンプリングされていない生データを無料でBigQueryへエクスポートできます。 BigQueryへエクスポートしたデータを利用すると、GA4FやGoogle アナリティクス 4 プロパティ (以下GA4)のレポート画面では難しいカスタム分析やアプリ以外の外部データと組み合わせた分析が可能になります。 さらに、BigQueryへエクスポートしたデータはデータポータルなどのBIツールと連携すればカスタムレポートの作成も可能となります。 今回はGA4Fのデータ活用をテーマに、次の内容を紹介します。 BigQueryエクスポートの設定手順データポータルのBigQuery接続方法・レポートの作成方法 BigQueryエクスポートの設定手順GA4FのデータをBigQueryへエクスポートする方法は2種類あり
iOS14からユーザートラッキングに用いられている端末の広告識別子IDFA取得のオプトイン/オプトアウトの選択をユーザーに求めることが必須になります。アプリが取得するプライバシーポリシーの提出必須化と同じく大きな変更ですが、開発中のアプリが該当するか調べる時にFirebase AnalyticsとFirebase Crashlyticsのみを使っていて広告系のSDKも利用していない場合何の対応も必要ないかが心配になったので調べていました。 App Tracking Transparency | Apple Developer Documentation iOS14で必要になるユーザートラッキングについての対応 AppleからUser Privacy and Data Use というドキュメントが公開されました。ユーザーがアプリのプライバシーポリシーをダウンロード前に確認して、アプリが収集す
と、振り返ってみると毎年綺麗に 300% 成長でこれていますね。 (流石に来年はきついと思います^^; 今回は、そんな サービスを拡大する上で欠かせない収益の話 と 成長したからこそ表面化したコストの話 をまとめていきたいと思います。 収益の話 参照:https://jp.freepik.com PWA は稼げない 昨年の Advent Calendar にて、私はたいそう嘆いておりました(TДT) Web 側の広告は MPA(マルチページアプリ)を前提にしているものがほとんど Web 側では広告の表示を最適化できない(MPA 前提の規約上バックグラウンドで読み込んでおけない それに加えて、SPA のページ遷移が早すぎて広告が表示される前に通過してしまう アプリ側にはインタースティシャル広告やリワード広告といった単価の高い広告商材が豊富に存在する そういった要因から、PWA におけるページ
こんにちは、虎の穴ラボ Advent Calendar 2020 - Qiita 6日目の記事です。 5日目はHYさんがiPhoneの気圧センサーとSwiftに関する記事を書かれています。 7日目ははっとりさんがFargate環境構築についての記事を書かれる予定です。 はじめに みなさんFirebaseはお使いでしょうか。 今回はその代替となる(かもしれない)ツールを一つ紹介いたします。 Firebase自体初耳という方のために、まずは「Firebaseとはなんぞや?」から軽く触れていこうと思います。 Firebaseとは FirebaseとはGoogle社が提供するクラウドサービスで、データのリアルタイム同期を得意とします。 例えばタスク管理のアプリを作る場合「Aさんがレコードを追加するとBさんの画面にも自動的にその情報が反映される」といった使い方ができます。 また「包括的なアプリ開発プ
モチベーション最近「SIer界の輪廻からどうやって解脱したらいいですか?」 という話をちょくちょく耳にすることが増えた。 それに対する"解答"というわけではないのだけど、輪廻からの解脱を目指すにあたり、どんな要素技術を学ぶべきかについてはある程度指針を示せると思ったので今回は、選ぶべき技術と、その理由について解説していきます。 SIer界で輪廻転生を繰り返したい人はジャバ言語のラムダ式を禁止にすべきか議論するほうが大事だと思うので、こんな記事にクソリプする前にさっさと帰って、どうぞ。 TypeScript解脱への第一歩は、なにはともあれTypeScriptだろう。 正直、この言語だけ覚えておけば、FaaS(Lambda, Cloud Functions)も書けるし、ReactによるSPAとか、なんならReact Nativeでアプリも書けるし、モダンな開発環境に必要なスキルセットがすべてま
取締役の小笠原(@yamitzky)です。 JX通信社では、React 製のフロントエンドでも Clean Architecture で設計するなど、なるべく特定のバックエンドに依存しない設計を心がけたりもするのですが、一方で Firebase をラップした react-firebase-hooks などの「便利な Hooks」を使って開発スピードを加速したい、という課題を持っていました。 そして先日、次の記事が話題になっていました。まさに「どう Firebase を隠蔽するか」と「どう Firebase を活用するか」を両立する悩みです。 blog.ojisan.io 結論を言うと「Hooks そのものを注入する」のが筋が良いのではないか と思っています。個人的に「Hooks Injection パターン」と名付けたこの方法をご紹介したいと思います。 今回の記事の完成形はソースコードを公
(2022年6月追記) 2022年6月現在、この記事にあるアプリよりも、ほぼ同じコンセプトのReact+NextJS製webサービス「みんなで作業場」に滞在していることが多いです。 是非お越しください! アプリ 先日、個人開発アプリをリリースしました!やったね!!! 審査も通りまして、現在App StoreとPlay Storeで配信されております。 App Store Play Store せっかくなので、利用した技術のメリットと注意点をまとめておこうと思います。 作ったアプリ これです。 広報用ページも作ってみたのでリンクを貼っておきます。 広報用ページはスマホで見る用にレイアウトしてます。 監視し合う会 〜お互いサボらないようにみんなで作業しよう〜 英語名: Procrastinators Watch Mutually 解決したい課題 やらなきゃいけないことがあるのに、なかなか取り組
Firebase AuthenticationとCloud Runを使ってマイクロサービスっぽく認証機能を作り直してみた (1/2) 大城です。 今日は僕が大好きなFirebaseについて書いて見ようと思います。皆さんFirebaseも使っていますか? 一人のエンジニアとしては本当にお世話になっているサービスです。(しかもほぼタダで。。。) さて、アプリケーションを構築していれば当然認証と認可の機能は必要になってきます。しかし最近のモダンなアプリケーション開発における認証についてはとても複雑になって来たと思います。 古き良き時代もありました。一つのWebサービスがあって、ユーザのIDとPWはハッシュ化してデータベースにいれておけばよかったわけです。しかし今はユーザはログインする際にいろんなオプションを求める様になりました。 • SNSアカウント(Google, Facebookなど)でログ
「Firebase は安いし楽だしマジ最高」という一心で技術選定してしまったプロダクトが成功して見えてきた課題、割高なコスト・権限管理・カスタマイズ性、そして (特性やスキルセット的に)RDB 製品が適していたのに無理やり Firestore を採用したことによるデータ不整合。 その結果チーム内で Firebase を抜ける機運が高まるも、Firebase べっとりなアプリケーションすぎて移行しづらいといった問題に出会うかもしれません。 そのような場合に備え、Firebase の存在を隠蔽して開発することに挑戦してみましょう。 注意: Firebase を剥がしているときに「俺、次は絶対そうするわ」と感じたものを書いているだけであり、まだ実際にはこのパターンでプロダクション導入していません。 あくまで個人開発で試してみていけそうと思ったので、提案しますという体です。 また Firebase
Supabase https://supabase.io/ Supabaseの特徴 「Supabase」は、既存のPostgreSQLデータベースをRESTful APIに変えるオープンソースおよび、それを使ったクラウドのDBサービスです。 https://github.com/supabase/supabase PostgreSQLの挿入・更新・削除をリッスンするElixirサーバーで、Webソケットを介してJSONをブロードキャストするのが、Supabaseの中核的な役割になります。今回は、そのSupabaseが提供するクラウドDBサービス(アルファ版)を使って、RESTful APIを試してみました。 SupabaseのクラウドDBを使ってみる サインアップが完了したら、基本情報として組織と プロジェクトを登録します。 登録が完了すると、作成されたデータベースの接続情報が表示されます
こんにちは。株式会社 Flatt Security セキュリティエンジニアの梅内(@Sz4rny)です。 本記事では、主にFirebaseの概要やセキュリティルールを用いた堅牢なCloud Firestore環境の構築について説明します。本記事を読むことで、Firebaseに関する基礎知識やデータベースにおけるセキュリティ上の懸念事項について理解するとともに、セキュリティルールを用いて堅牢なCloud Firestore環境を構築するための初歩を身につけることができるでしょう。 また、Flatt Securityでは開発/運用中のプロダクトにおいて、Firebaseをセキュアに活用できているか診断することも可能です。 Firebase を用いた開発におけるセキュリティ上の懸念事項が気になる場合や、実際に診断について相談したいという場合は、ぜひ下記バナーからお問い合わせください。 Fireb
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く