絞り込み条件を変更する
検索条件を絞り込む
有料ブログの投稿方法はこちら

すべてのカテゴリ

8 件中 1 - 8 件表示
カバー画像

Firebaseアプリのデータベースを管理するには?

Firebaseアプリのデータベースを管理するには?Firebase のデータベース機能(Cloud Firestore)を利用して作成したアプリの多くは、アプリで利用しているデータベースを管理する必要がある場合が多くなります。作成したアプリの一部として管理する方法もありますが、専用の管理アプリを作成するとセキュリティ上より安全に管理を行う事ができます。この記事では、Firebase のデータベースを管理する専用アプリを Firebase admin SDK を利用して行う方法を紹介します。Firebase データベースのセキュリティールールで管理者を設定できる一番手軽な方法は、作成するアプリの一部として、「管理者モード」を実装してしまう方法です。これは、管理者の Firebase のユーザー ID を特定して、そのユーザーに管理者の権限を設定する方法です。rules_version = '2';service cloud.firestore {  match /databases/{database}/documents {    match /{document=**} {      allow read, write: if request.auth.uid == "uid_for_admin";    }  }} のようなセキュリティルールを設定すれば、特定のユーザー ID で Firebase のユーザー認証(ログイン)したユーザーは Firebase のデータベース(Cloud Firestore)の全てのコレクション/ドキュメントに対して、読み込みと書き込みができ
0
カバー画像

2つのFirebaseのアクセス方法 フロントエンドとバックエンド

2つのFirebaseのアクセス方法 フロントエンドとバックエンドFirebase のデータベースを利用する場合、フロントエンドからアクセスする方法とバックエンドからアクセスする方法があります。手軽なのは、フロントエンドからアクセスする方法です。バックエンドサービスを作る必要がないので簡単に実装できるのは魅力です。一方で、アクセスの権限の細かい設定は、セキュリティルールで設定する必要があるので、複雑な権限やデータを扱う場合には面倒な点もあります。手軽に利用できるフロントエンドからのアクセス一番一般的でポピュラーな方法は Firebase のクライアント機能を利用する方法です。一番簡単な方法は、CDN(Contents Delivary Network)を利用する方法で、HTML で CDN のリンクを指定すれば、簡単に Firebase のデータベースにアクセスすることが可能です。テストモードならば簡単Firebase のデータベースは、Firebase のプロジェクトを作成して、データベースを作成する時に設定するようになっています。この時聞かれるのが、「プロダクションモード」と「テストモード」です。プロダクションモードは基本的にアクセスが禁止になっているので、必要に応じてセキュリティールールを設定してアクセスを許可していく必要があります。テストモードは基本的に全てのアクセスを許可しています。従って、誰でも全てのデータにアクセスできるのでインターネット上にサービスを公開する際には、セキュリティルールを設定して必要最低限のアクセスを許可するように変更する事は必須です。通常は、設定
0
カバー画像

Firebase Cloud Firestoreの管理ツールをNextJSで実装する(2)

Firebase Cloud Firestoreの管理ツールをNextJSで実装する(2)前回の投稿では、NEXT のプロジェクト作成と Firebase admin SDK を使うための設定の紹介をしました。今回は、NEXT のページから Firebase admin SDK を利用する方法について紹介します。 Firebaase admin SDK はサーバー側で使う! もちろん、Firebase の通常の SDK を使えば、NEXT のページから Firebase のリソースにアクセスする事ができます。これは、React や Vue で Firebase の通常の SDK を使う場合と基本的に同じです。 あるいは、Firebase の CDN のを読み込んで使うことも可能です。 しかし、この場合はあくまで Web ブラウザ(フロントエンド)からのアクセスで、Firebase admin SDK を使う恩恵を余り受けることができません。 今回、NEXT を使って Firebase Clud Firestore の管理ツールを作る例を紹介する大きな理由はサーバー側から Firebase のリソースにアクセスするのが大きな理由です。 NEXT のテンプレートにある API の機能を利用する NEXT のフレームワークはサーバー側のレンダリングに対応するため、バックエンドのプログラムも利用できるのが最大の魅力です。「create-next-app」で作成する NEXT のプロジェクトのテンプレートの中にもその機能がすでに組み込まれています。 まずはテンプレートの AP
0
カバー画像

Firebase Cloud Firestoreの管理ツールをNextJSで実装する(1)

Firebase Cloud Firestoreの管理ツールをNextJSで実装する(1)前回の投稿では、Node.js のスクリプトで Firebase Cloud Firestore のバックアップとリストアをする簡単な例を紹介しました。しかし、コレクション名や保存するファイル名はハードコーディングしていたりしますので、実用的な実装とは言えません。 Node.js 自体はコマンドラインベースのスクリプトで GUI を実装するには、HTML ベースの Web ブラウザを使った実装になります。Node.js で管理用の PC に Web サーバーを立ててサーバー側でレンダリングを行えば GUI ベースでの管理ツールの実装も可能になります。 サーバー側でレンダリングをする場合、シンプルなケースはHandleBar などを使うことも可能です。 しかし少し複雑な処理や、動的なレンダリングをしたい場合は少し不便です。 そこで、何回かに分けて NextJS のフレームワークを利用して、管理用のローカルアプリを作る方法について解説を行う予定です。 NextJS はサーバーサイドのフレームワーク NextJS は、React をベースにしたサーバーサイドレンダリングのフレームワークです。 React 同様 JSX で記述してページを作成できるため複雑な表示や処理にも対応できます。 本来は Web サーバーを使ってサーバー側でレンダリングするような Web サイト(Web アプリ・Web サービス)を作る用途に利用される事が多いですが、PC 上で動作させて通常のデスクトップアプリの
0
カバー画像

Firebase Cloud Firestoreをバックアップする場合のファイル形式

Firebase Cloud Firestoreをバックアップする場合のファイル形式Firebase Cloud Firestoreをバックアップする場合のファイル形式 前回は、Firebase Cloud FirestoreのデータをFirebase admin SDKの管理ツールを使ってバックアップする基本について解説しました。 実際にバックアップをする場合、FirebaseのCloud Firestoreにリストアする必要があります。 今回は実際にリストアする場合を考慮した場合にどんなファイル形式で保存したらよいかを考えてみます。 Firebase Cloud FirestoreのコレクションのデータはJSON形式 MySQLなどのSQLのデータベースの場合、データの基本が「テーブル」になります。従ってテーブル形式のデータを維持できるファイル形式がバックアップする場合には都合が良いことになります。 シンプルに作る場合は、テーブルの行(row)の各要素を「,」で区切って、最初に各項目の見出しをつけたCSV形式のデータが便利です。ただ、CSVファイルだと一つの表しか保存できないのでちょっと不便です。全ての表を一つのCSVファイルに保存することも可能ですが、扱いもちょっと面倒です。Microsoftの表計算ソフトのExcel形式で保存すると、Excelで保存したテーブルが参照できるのに加えて、複数の表を「sheet」として一つのファイルにまとめる事ができるので便利です。(実際にこうしたバックアップをするかは別の話です) 一方でFirebase Cloud Firestor
0
カバー画像

Firebase admin SDKで作る管理ツール

Firebase admin SDKで作る管理ツールFirebaseでWebサービスやWebアプリを実装する場合、管理用のツール(アプリ)があると便利な場合がたくさんあります。開発者の場合は、Firebaseコンソールから必要な管理は殆ど可能です。しかし、一般の利用者の方々には、Firebaseコンソールはちょっと不便です。また、扱うデータの数が増えてくると、Firebaseコンソールを使った管理は余り現実的ではありません。 そう考えると、専用の管理ツール(アプリ)の必要性は意外に大きくなります。 WebアプリやWebサービス自体に、管理機能を組み込むことも可能ですが、セキュリティルールの設定が複雑になります。また、WebアプリやWebサービスの場合、インターネット上に公開されているため、ユーザー認証(ログイン)による管理者の特定だけではセキュリティ上十分でない場合も多くなります。 この記事では、WebサービスやWebアプリの管理用のツール(アプリ)をFirebase admin SDKを利用して、管理用のPCで動作させる方法について解説します。 データベースのバックアップのツールを考える! 管理用のツール(アプリ)と言ってもいろいろな機能が考えられます。この記事では特に、Firebase Cloud Firestoreのデータベースのデータをバックアップする管理ツール(アプリ)について考えて行きます。 Firebase admin SDKは、幾つかのプログラミング言語をサポートしています。 * Node.js * Java * Pyshon * Go * C# こ
0
カバー画像

FirebaseとSendGridで実装したメルマガサービスの管理

FirebaseとSendGridで実装したメルマガサービスの管理メルマガやニュースレターはオンラインを利用したマーケティングなどで広く使われています。 こうした、メルマガやニュースレターを配信するサービスは、FirebaseとSendGridを利用すれば比較的簡単に実装できます。 無料のメルマガ、ニュースレターの配信サービスも多数存在しますが、メッセージの追跡などを考えると、FirebaseとSendGridを使って実装する価値もあります。 こうした、WebサービスやWebアプリの場合、設定を変えたり、重要なデータの削除などの機能も必要になる場合があります。利用者が一人の場合は、そうした管理も含めて全ての操作ができるように実装すれば特別なアプリは必要ない場合がほとんどです。 しかし会社などの組織で利用する場合、複数の人がメッセージに送信にかかわることも多くなりますし、重要な設定の変更やデータの削除などの権限は管理者のみにした方が都合が良い場合も多くなります。 この記事は、メルマガのサービスで考えられる管理機能とその実現方法について解説しています。 管理の方法は? WebアプリやWebサービスの管理の方法はいくつかあります。 一つは、WebアプリやWebサービスが稼働しているサーバーにログインして行う方法です。しかし、Firebaseを利用したWebアプリやWebサービスの場合は、直接サーバーにログインして行う管理はほとんどありません。 Firebaseを利用したWebアプリやWebサービスの場合、可能性としては * Firebaseコンソールで管理(設定) * 
0
カバー画像

Firebaseアプリのアカウント管理ツール

Firebaseアプリのアカウント管理ツールFirebaseアプリを作っていると、アプリの管理ツールが欲しくなることが結構あります。 開発中は大抵の事はFirebaseコンソールでできるので余り不便は感じません。しかし、実際にWebサービスやWebアプリを運用し始めると、開発者以外の人が、アプリの管理をする場合も多く、専用の管理ツールが欲しくなる場合があります。 この記事では、管理ツールの中の特にアカウント管理ツールを取り上げてみました。 Firebaseのログイン機能を使う場合必要になるアカウント管理 Firebaseの機能のうちログイン機能(ユーザー認証機能)は特定の人にサービスやアプリを提供したい場合には便利な機能です。必要な機能はほぼサポートされているので、WebサービスやWebアプリを実装するのにとても利用価値の高い機能です。 ログイン機能を使う場合、当然ですがアカウントの管理が必要になります。 Firebaseのログイン機能を利用してReactでログインを実装する記事は以前に紹介しています。 この記事では、希望の利用者に自分自身でサインアップ(登録)をしてもらうという方法を採用しています。この場合は、特に管理ツールがなくても余り運用上は問題がありません。アカウントの作成、E-Mailの確認、パスワードのリセットを利用者自身が行ってくれるので、特に問題が起きない限りは余り管理者の作業は必要ありません。 ところが、管理者がアカウントを作成してサービスを提供する場合には話が違ってきます。 例えばグループ毎に違うデータをFirebaseで管理している場合です。
0
8 件中 1 - 8
有料ブログの投稿方法はこちら