콘텐츠로 이동

시크릿으로 API 키 안전하게 보관하기

핵심 요약시크릿은 앱의 API 키와 비공개 설정값을 넣어 두는 잠긴 보관함입니다. 백엔드 → 시크릿에서 WEATHER_API_KEY 같은 이름으로 추가하세요. 값은 암호화되어 저장되고, 다시 표시되지 않으며, 앱의 서버 코드만 읽습니다. 미리보기에 적용을 클릭하면 바로 쓸 수 있고, 게시된 앱에는 다음에 게시할 때 반영됩니다. 키를 대화창에 붙여 넣지 마세요.

날씨 예보, 레시피 데이터베이스, 결제 서비스처럼 앱이 다른 회사의 서비스를 쓸 때는 그 서비스에서 API 키를 받습니다. API 키는 앱이 내 계정을 쓸 수 있게 해 주는 긴 비밀번호입니다. 키를 가진 사람은 누구나 내 계정을 쓰고 요금을 늘릴 수 있습니다. 그래서 키는 안전한 곳에 두어야 합니다.

그곳이 바로 시크릿입니다. 앱마다 전용 시크릿이 있고, 값은 암호화되어 저장됩니다. 앱 코드는 필요할 때 키를 읽고, 앱 사용자도 프로젝트를 공유받은 사람도 키를 볼 수 없습니다.

  1. 프로젝트를 열고 백엔드시크릿을 클릭하세요.

  2. 이름에 SPOONACULAR_API_KEY처럼 키 이름을 입력하세요. 영문 대문자, 숫자, 밑줄(_)을 쓰세요. 소문자는 MonstarX가 대문자로 바꿔 줍니다.

  3. 값에 키를 붙여 넣으세요. 입력하는 동안 점으로 가려집니다.

  4. 추가를 클릭하세요.

  5. 저장하면 오른쪽 위에 나타나는 미리보기에 적용을 클릭하세요. 미리보기가 새 키로 다시 시작되므로 바로 써 볼 수 있습니다.

  6. 대화창에서 MonstarX에 어떤 기능이 이 키를 쓸지 알려 주세요. 예: “SPOONACULAR_API_KEY로 레시피마다 영양 정보를 찾아 주세요”

새로 추가하거나 바꾼 시크릿은 다음에 게시할 때 게시된 앱에 반영됩니다. 앱 게시하기를 참고하세요.

왜 키를 대화창에 붙여 넣으면 안 되나요?

섹션 제목: “왜 키를 대화창에 붙여 넣으면 안 되나요?”

대화 내용은 프로젝트와 함께 저장됩니다. 프로젝트를 공유받은 모든 사람에게 보이고, 앱을 만드는 AI 모델이 읽으며, 프로젝트 기록에도 남습니다. 대화창에 붙여 넣은 키는 더 이상 비밀이 아닙니다. 코드에 직접 써 넣은 키도 마찬가지로 노출됩니다. 프로젝트 파일, 내보내기, 그리고 GitHub을 연결했다면 GitHub에도 남습니다.

실수로 키를 어딘가에 붙여 넣었다면, 해당 서비스의 대시보드에서 새 키를 만들고 이전 키를 삭제한 뒤 새 키를 시크릿에 저장하세요.

시크릿은 어떻게 바꾸거나 삭제하나요?

섹션 제목: “시크릿은 어떻게 바꾸거나 삭제하나요?”
  • 바꾸기: 같은 이름에 새 값을 입력하세요. 버튼이 추가 대신 업데이트로 바뀝니다. 클릭한 다음 미리보기에 적용을 클릭하세요.
  • 삭제하기: 옆에 있는 휴지통을 클릭하고 확인하세요. 그 키를 쓰던 앱 기능은 키를 다시 추가할 때까지 작동하지 않습니다.

저장한 값은 누구도 다시 읽을 수 없습니다. 나 자신도 마찬가지입니다. 각 값은 점으로 표시되고 추가일이 함께 나옵니다. 키가 필요하면 키를 발급한 서비스에서 다시 받으세요.

일부 이름은 MonstarX나 앱이 실행되는 시스템이 쓰므로 시크릿에서 거부됩니다.

  • MONSTARX_, BETTER_AUTH_, CLOUDFLARE_, CF_, GCP_, RAILWAY_, NODE_, NPM_으로 시작하는 이름
  • PATH, HOME, PORT, NODE_ENV, TMPDIR, USER, SHELL, PWD, CI, HOSTNAME, FORCE_COLOR, NO_COLOR
  • VITE_로 시작하는 이름. 이런 이름은 페이지에 그대로 들어가 모든 방문자가 읽을 수 있기 때문입니다. (이미 VITE_ 이름을 쓰는 가져온 앱은 그대로 써도 됩니다.)

이름은 영문자로 시작해야 하며 최대 64자입니다.

사이트 이름이나, 서비스가 브라우저에서 써도 안전하다고 하는 공개 키처럼 원래 공개해도 되는 값이 있습니다. 이런 값은 PUBLIC_으로 시작하는 이름을 붙이세요. 이 값은 페이지에 전달될 수 있으며, 이름을 입력하는 동안 MonstarX가 경고를 보여 줍니다.

내 시크릿은 누가 볼 수 있나요?

저장한 값은 나를 포함해 누구도 읽을 수 없습니다. 프로젝트를 공유받은 사람에게는 백엔드 탭 자체가 보이지 않습니다. 값을 읽는 것은 앱의 서버 코드뿐입니다.

키를 추가했는데도 앱에서 키가 없다고 나옵니다.

미리보기에 적용을 클릭해 미리보기가 키를 반영해 다시 시작되게 하세요. 게시된 앱이라면 다시 게시하세요. 이름이 앱이 읽는 이름과 정확히 같은지도 확인하세요.

저장한 값이 보이지 않는 이유는 무엇인가요?

값은 저장한 뒤 다시 표시되지 않으므로 화면을 통해 새어 나갈 일이 없습니다. 값을 바꾸려면 같은 이름에 새 값을 저장하세요.

앱이 브라우저에서 시크릿을 쓸 수 있나요?

아니요. 시크릿은 앱의 서버 코드만 읽으므로 방문자의 브라우저에 전달되지 않습니다. 공개 키처럼 페이지 자체에 필요한 값에는 PUBLIC_ 이름을 붙이세요.

시크릿과 커넥터는 어떻게 다른가요?

커넥터는 잘 알려진 서비스를 위해 미리 만들어 둔 양식입니다. 키를 정해진 이름으로 시크릿에 저장하고, MonstarX에 그 서비스를 쓰는 방법을 알려 줍니다. 시크릿은 그 밖의 모든 경우에 씁니다.