Logto のファイルストレージとして Google Cloud Storage を設定する
Logto のファイルストレージとして Google Cloud Storage を設定するための実践ガイド。
デフォルトでは、Logto Console はアバターなどの静的ファイル URL にテキスト入力を使用します。ドラッグアンドドロップ機能を備えたより直感的なファイルアップロード体験を有効にするには、ストレージプロバイダーを設定する必要があります。
この記事では、Google Cloud Storage をストレージプロバイダーとして設定するためのステップバイステップガイドを提供します。
前提条件
- Node.js でネイティブに実行している Logto インスタンス、または Docker コンテナで実行している Logto インスタンス。まだ持っていない場合は、このガイドを参照してください: https://docs.logto.io/docs/tutorials/get-started/#local
- Google Cloud プロジェクト
バケットの準備
バケットの作成は簡単です。公式の Google Cloud ドキュメントを参照してください: https://cloud.google.com/storage/docs/creating-buckets。
バケットが準備できたら、次のステップは公開アクセスを設定することです。方法は以下の通りです:
- Google Cloud コンソールで、Cloud Storage バケツページに移動します。
- バケットの一覧から、公開したいバケットの名前をクリックします。
- ページの上部にある アクセス権限 タブを選択します。
- アクセス権限 セクションで、アクセス権を付与 ボタンをクリックします。
- 新しいプリンシパル フィールドに
allUsers
を入力します。 - ロールを選択 ドロップダウンで、フィルターボックスに Storage Object Viewer と入力し、フィルターされた結果から Storage Object Viewer を選択します。
- 保存 をクリックします。
- パブリックアクセスを許可 をクリックします。
"Storage Object Viewer" ロールが割り当てられていることを確認します。参考用のスクリーンショットはこちらです:
キーファイルの取得
Google Cloud SDK は一般的に "キーファイル" を使用します。Google Cloud に不慣れな場合、これが最も難しい部分かもしれません。取得方法は次の通りです:
- サービスアカウントページ に移動します:https://console.cloud.google.com/iam-admin/serviceaccounts
- アカウントを作成し、名前を入力して続行します。
- 次のステップで、“Storage Object User” のロールを選択します。フィルターを使用して見つけられます。
- アカウントの作成が完了したら、アカウント詳細ページに移動して “keys” タブを選択します。
- “add key” をクリックし、“create a new key” を選択し、ダイアログで “json” を選択してから、あなたの json ファイルをダウンロードします。
キーファイルを Logto に追加
Logto はキーファイルにアクセスできる必要があります。
Node.js で実行する場合
ファイルを /path/to/logto/core
にコピーし、google-storage-key.json
にリネームします。
Docker コンテナで実行する場合
Docker コンテナ内で Logto を実行している場合、ファイルをコンテナにマウントする必要があります。Docker Compose を使用していると 仮定して、構成に以下を追加します:
/path/to
を実際のパスに置き換えることを忘れないでください。
プロバイダー設定の更新
Logto の CLI を使用してプロバイダー設定を更新します。CLI は通常、Logto インスタンスのルートフォルダにあります。詳細はこちらのリンクを参照してください: https://docs.logto.io/docs/references/using-cli/
JSON の準備
以下はサンプル設定 JSON です:
projectId
と bucketName
をあなたの値に置き換えることを忘れないでください。
CLI を使用して更新
JSON を文字列に変換して、次のコマンドを実行します:
設定のテスト
すべてが設定されたら、Logto を再起動して試してみることを忘れないでください。「サインイン体験」セクションに移動して、ロゴのアップロードを試みることができます。
これらのステップが複雑だと感じた場合、Logto のクラウドバージョンの使用を検討してください。すべてお任せください!