• google-cloud

Logto 의 파일 저장소로 Google Cloud Storage 설정하기

Logto 의 파일 저장소로 Google Cloud Storage 를 설정하는 실습 가이드입니다.

Sijie
Sijie
Developer

기본적으로 Logto Console 은 아바타와 같은 정적 파일 URL 을 위한 텍스트 입력을 사용합니다. 드래그 앤 드롭 기능을 통해 더 직관적인 파일 업로드 경험을 제공하기 위해서는 저장소 공급자를 구성해야 합니다.

이 기사에서는 Google Cloud Storage 를 저장소 공급자로 설정하는 단계별 가이드를 제공합니다.

사전 준비사항

버킷 준비

버킷을 만드는 것은 간단합니다. 공식 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. 계정 생성을 완료하면 계정 세부 정보 페이지로 이동하여 "키" 탭을 선택합니다.
  5. "키 추가"를 클릭하고 "새 키 생성"을 선택하며 대화 상자에서 "json"을 선택한 다음 json 파일을 다운로드합니다.

Storage Object User

Logto 에 키 파일 추가하기

Logto 는 키 파일에 액세스할 수 있어야 합니다.

Node.js 에서 실행하는 경우

파일을 /path/to/logto/core 에 복사하고 google-storage-key.json 으로 이름을 변경합니다.

Docker 컨테이너에서 실행하는 경우

Logto 를 Docker 컨테이너에서 실행 중인 경우 파일을 컨테이너에 마운트해야 합니다. Docker Compose 를 사용하는 경우 다음을 구성에 추가합니다:

/path/to 를 실제 경로로 교체하는 것을 잊지 마세요.

공급자 구성 업데이트

Logto 의 CLI 를 사용하여 공급자 구성을 업데이트할 것입니다. CLI 는 보통 Logto 인스턴스의 루트 폴더에 있습니다. 자세한 내용을 알아보려면 이 링크를 확인하세요: https://docs.logto.io/docs/references/using-cli/

JSON 준비

여기 샘플 구성 JSON 이 있습니다:

projectIdbucketName 을 본인의 값으로 교체하세요.

CLI 를 통한 업데이트

JSON 을 문자열로 변환하고 다음 명령을 실행합니다:

설정 테스트

모든 설정이 완료되었으므로 Logto 를 다시 시작하고 시도해 보세요. "로그인 경험" 섹션으로 이동하여 로고를 업로드를 시도할 수 있습니다.

이 단계들이 복잡하다고 느낀다면, Logto 클라우드 버전을 사용하는 것을 고려해 보세요. 우리는 모든 것을 대신 처리해 드립니다!