본문으로 건너뛰기

파일 저장소 제공자

기본적으로, Logto Console은 아바타와 같은 정적 파일 URL에 대해 텍스트 입력을 사용합니다. 드래그 앤 드롭을 통한 보다 직관적인 파일 업로드 경험을 활성화하려면 저장소 제공자를 구성해야 합니다.

Logto는 AWS S3, Azure Storage를 포함한 여러 저장소 제공자를 지원합니다. 이 레시피에서는 Logto에 저장소 제공자를 구성하는 방법을 보여줍니다.

구성은 DB의 systems 테이블에 저장되지만, CLI를 사용하여 저장소 제공자를 구성하는 것이 권장됩니다. 자세한 정보는 "help" 명령어를 사용해 보세요:

pnpm logto db system --help

Azure Storage​

Azure Storage는 클라우드에서 데이터를 저장하고 관리할 수 있는 강력하고 확장 가능한 클라우드 저장소 솔루션입니다. 다음 레시피는 Logto의 저장소 제공자로 Azure Storage를 구성하는 방법을 보여줍니다.

사전 준비 사항​

CLI를 사용한 구성​

사용 예:

pnpm logto db system set storageProvider '{"provider":"AzureStorage","connectionString":"DefaultEndpointsProtocol=https;AccountName=logto;AccountKey=oRhfTBHOHiBxxxxxxxxxxxxxxxxZ0se6XROftl/Xrow==;EndpointSuffix=core.windows.net","container":"logto"}'

connectionString​

Azure Storage에 접근하려면, 저장소 계정에 연결하기 위한 필수 정보를 포함하는 문자열인 연결 문자열을 사용해야 합니다.

연결 문자열을 얻으려면 공식 Azure Storage 연결 문자열 문서를 참조하세요.

container​

컨테이너는 블롭을 저장하는 저장소 리소스입니다. 컨테이너를 사용하여 블롭을 조직하고 데이터에 대한 접근을 제어할 수 있습니다.

컨테이너를 생성하려면 공식 Azure Storage 컨테이너 문서를 참조하세요.

publicUrl​

선택 사항.

공용 URL은 저장소 리소스에 공개적으로 접근할 수 있는 URL입니다. CDN을 사용하지 않는 경우, Azure Storage의 기본 "Primary endpoint"를 공용 URL로 사용하기 위해 비워둘 수 있습니다. Logto는 Azure SDK의 도움으로 "connectionString"에서 이 값을 가져옵니다. 저장소 계정의 기본 엔드포인트에 대해 더 알고 싶다면 공식 Azure Storage 기본 엔드포인트 문서를 참조하세요.

S3 Storage​

S3 Storage는 웹 서비스 인터페이스를 통해 객체 저장소를 제공하는 클라우드 저장소 서비스입니다. 다음 레시피는 Logto의 저장소 제공자로 S3 Storage를 구성하는 방법을 보여줍니다.

사전 준비 사항​

CLI를 사용한 구성​

사용 예:

pnpm logto db system set storageProvider '{"provider":"S3Storage","accessKeyId":"my-access-key-id","accessSecretKey": "my-secret-access-key","bucket":"logto","endpoint":"https://s3.us-east-2.amazonaws.com"}'

accessKeyId​

액세스 키 ID는 AWS 계정의 식별자입니다. AWS 계정의 액세스 키 ID를 찾으려면 공식 AWS 액세스 키 ID 문서를 참조하세요.

accessSecretKey​

비밀 액세스 키는 액세스 키 ID와 함께 프로그래매틱 요청에 서명하는 데 사용됩니다. AWS 계정의 액세스 키 비밀을 찾으려면 공식 AWS 액세스 키 비밀 문서를 참조하세요.

bucket​

버킷은 Amazon S3에 저장된 객체의 컨테이너입니다. 버킷을 생성하려면 공식 AWS S3 버킷 문서를 참조하세요.

region​

선택 사항.

리전은 AWS S3 버킷이 위치한 지리적 지역입니다. endpoint가 표준 AWS S3 엔드포인트인 경우, endpoint에서 파싱할 수 있습니다. AWS S3 리전을 찾으려면 공식 AWS S3 리전 문서를 참조하세요.

S3 호환 저장소 서비스를 사용하는 경우 이 필드를 비워둘 수 있습니다.

endpoint​

선택 사항.

엔드포인트는 AWS S3 서비스를 접근하는 데 사용되는 URL입니다. AWS S3 엔드포인트를 찾으려면 공식 AWS S3 엔드포인트 문서를 참조하세요.

리전의 기본 엔드포인트를 사용하려면 이 필드를 비워둘 수 있습니다. S3 호환 저장소 서비스를 사용하는 경우, 서비스의 엔드포인트를 사용할 수 있습니다.

publicUrl​

선택 사항.

공용 URL은 저장소 리소스에 공개적으로 접근할 수 있는 URL입니다. CDN을 사용하지 않는 경우, S3 Storage의 기본 URL을 사용하기 위해 비워둘 수 있습니다.

Google Cloud Storage​

Google Cloud Storage는 웹 서비스 인터페이스를 통해 객체 저장소를 제공하는 클라우드 저장소 서비스입니다. 다음 가이드는 Logto의 저장소 제공자로 Google Cloud Storage를 구성하는 방법을 보여줍니다.

사전 준비 사항​

키 파일 얻기​

Google Cloud SDK는 일반적으로 "키 파일"을 사용합니다. Google Cloud에 익숙하지 않다면, 이것이 가장 어려운 부분일 수 있습니다. 다음은 키 파일을 얻는 방법입니다:

  1. 서비스 계정 페이지로 이동하세요: https://console.cloud.google.com/iam-admin/serviceaccounts
  2. 계정을 생성하고 이름을 입력한 후 계속합니다.
  3. 다음 단계에서 "Storage Object User" 역할을 선택합니다. 필터를 사용하여 찾을 수 있습니다.
  4. 계정 생성을 완료한 후, 계정 세부 정보 페이지로 이동하여 "키" 탭을 선택합니다.
  5. "키 추가"를 클릭하고 "새 키 생성"을 선택한 후, 대화 상자에서 "json"을 선택하고 json 파일을 다운로드합니다.

키 파일을 Logto에 추가​

Logto는 키 파일에 접근할 수 있어야 합니다.

Node.js에서 실행 중인 경우

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

Docker 컨테이너에서 실행 중인 경우

Logto를 Docker 컨테이너에서 실행 중이라면, 파일을 컨테이너에 마운트해야 합니다. Docker Compose를 사용 중이라면, 구성에 다음을 추가하세요:

volumes:
- ./path/to/google-storage-key.json:/etc/logto/core/google-storage-key.json

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

CLI를 사용한 구성​

사용 예:

pnpm logto db system set storageProvider '{"provider":"GoogleStorage","projectId":"psychic-trainer-403801","keyFilename":"google-storage-key.json","bucketName":"logto-test2"}'

projectId​

Google Cloud 프로젝트 ID입니다.

keyFilename​

키 파일의 이름입니다. 위의 단계를 따르면 google-storage-key.json입니다.

bucketName​

버킷 이름입니다.

publicUrl​

선택 사항.

공용 URL은 저장소 리소스에 공개적으로 접근할 수 있는 URL입니다. CDN을 사용하지 않는 경우, S3 Storage의 기본 URL을 사용하기 위해 비워둘 수 있습니다.