• google-cloud

Logto のファイルストレージとして Google Cloud Storage を設定する

Logto のファイルストレージとして Google Cloud Storage を設定するための実践ガイド。

Sijie
Sijie
Developer

デフォルトでは、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。

バケットが準備できたら、次のステップは公開アクセスを設定することです。方法は以下の通りです:

  1. Google Cloud コンソールで、Cloud Storage バケツページに移動します。
  2. バケットの一覧から、公開したいバケットの名前をクリックします。
  3. ページの上部にある アクセス権限 タブを選択します。
  4. アクセス権限 セクションで、アクセス権を付与 ボタンをクリックします。
  5. 新しいプリンシパル フィールドに allUsers を入力します。
  6. ロールを選択 ドロップダウンで、フィルターボックスに Storage Object Viewer と入力し、フィルターされた結果から Storage Object Viewer を選択します。
  7. 保存 をクリックします。
  8. パブリックアクセスを許可 をクリックします。

"Storage Object Viewer" ロールが割り当てられていることを確認します。参考用のスクリーンショットはこちらです:

Storage Object Viewer

キーファイルの取得

Google Cloud SDK は一般的に "キーファイル" を使用します。Google Cloud に不慣れな場合、これが最も難しい部分かもしれません。取得方法は次の通りです:

  1. サービスアカウントページに移動します:https://console.cloud.google.com/iam-admin/serviceaccounts
  2. アカウントを作成し、名前を入力して続行します。
  3. 次のステップで、“Storage Object User” のロールを選択します。フィルターを使用して見つけられます。
  4. アカウントの作成が完了したら、アカウント詳細ページに移動して “keys” タブを選択します。
  5. “add key” をクリックし、“create a new key” を選択し、ダイアログで “json” を選択してから、あなたの json ファイルをダウンロードします。

Storage Object User

キーファイルを 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 です:

projectIdbucketName をあなたの値に置き換えることを忘れないでください。

CLI を使用して更新

JSON を文字列に変換して、次のコマンドを実行します:

設定のテスト

すべてが設定されたら、Logto を再起動して試してみることを忘れないでください。「サインイン体験」セクションに移動して、ロゴのアップロードを試みることができます。

これらのステップが複雑だと感じた場合、Logto のクラウドバージョンの使用を検討してください。すべてお任せください!