Cloudflare 3분 소요

AI가 만든 앱을 인터넷에 여는 한 줄, 접근 통제도 쉬워졌을까

핵심 요약

  • Cloudflare Quick Tunnels는 로컬에서 실행 중인 앱을 인터넷에서 접속할 수 있도록 연결합니다.
  • 공개 URL을 만드는 기능과 접속자의 권한을 확인하는 기능은 별개입니다.
  • AI 코딩 에이전트에 공유를 맡길 때는 공개할 데이터와 허용할 기능까지 지정해야 합니다.
  • 임시 데모라도 외부에서 접속해 확인하고 터널을 종료하는 과정까지 작업에 포함해야 합니다.

AI 코딩 에이전트로 앱을 만들다 보면 동료에게 보여주고 싶을 때가 있습니다. “내 컴퓨터에서는 잘 되는데, 동료에게도 한번 보여주고 싶다.” Cloudflare Quick Tunnels는 이럴 때 유용합니다. 다만 공유 버튼을 누르듯 가볍게 쓰기에는 앱에 접속할 수 있는 범위가 크게 달라집니다.

한 줄로 로컬 앱에 공개 주소가 생깁니다

로컬 앱은 보통 localhost라는 주소로 확인합니다. 여기서 localhost는 브라우저를 실행하는 자기 컴퓨터를 가리킵니다. 동료에게 http://localhost:3000을 보내도 내 컴퓨터의 앱이 열리지는 않습니다.

Quick Tunnels는 외부에서 이 앱으로 접속할 수 있는 경로를 만듭니다. Cloudflare의 터널 프로그램인 cloudflared가 설치돼 있고 앱이 3000번 포트에서 실행 중이라면, 다음 명령을 쓸 수 있습니다.

cloudflared tunnel --url http://localhost:3000

이 명령으로 연결하면 앱에 접근할 수 있는 공개 URL을 받습니다. 앱은 여전히 내 컴퓨터에서 실행되지만, 상대방은 그 URL로 접속할 수 있습니다.

화면 배치나 버튼 동작을 함께 확인할 때 편리합니다. 이때 눈여겨볼 부분은 접근 범위입니다. 혼자 확인하던 앱에 인터넷에서 들어올 수 있는 길이 생깁니다.

공개 URL에는 출입 규칙이 필요합니다

접근 통제를 이해하려면 인증과 인가를 구분해야 합니다. 인증은 접속자가 누구인지 확인하는 일입니다. 인가는 그 사람이 어떤 데이터와 기능을 사용할 수 있는지 정하는 일입니다.

Quick Tunnels로 주소를 만들었다고 해서 앱에 이 두 가지가 저절로 생기지는 않습니다. 앱에 로그인이나 권한 확인 기능이 없다면, URL로 접속한 사람에게도 같은 화면과 기능이 열릴 수 있습니다.

예를 들어 AI가 만든 고객 관리 데모에 ‘전체 고객 다운로드’ 버튼이 있다고 해보겠습니다. 화면에는 가짜 고객 세 명만 보이더라도 다운로드 기능이 실제 고객 데이터에 연결돼 있다면, 예상보다 많은 데이터를 공개하게 됩니다.

그래서 화면에 보이는 내용만 살펴봐서는 부족합니다. 버튼을 눌렀을 때 호출하는 API, 즉 앱이 데이터를 요청하거나 변경하는 통로에서도 권한을 확인해야 합니다.

HTTPS 주소를 쓴다고 이 문제가 해결되지는 않습니다. HTTPS는 통신 내용을 암호화합니다. 접속자에게 고객 목록을 내려줘도 되는지는 앱이나 별도의 접근 통제 계층에서 판단해야 합니다.

AI에게는 ‘공유해줘’보다 구체적인 지시가 필요합니다

에이전트에 명령 실행 권한이 있다면 앱 실행부터 터널 연결까지 맡길 수 있습니다. 사람이 직접 명령을 입력하는 단계가 줄어드는 만큼, 어떤 조건으로 공개할지 지시문에 분명히 적어야 합니다.

“동료가 볼 수 있게 링크를 만들어줘”라는 요청만으로는 정해지지 않은 것이 많습니다. 누구에게 보여줄지, 어떤 데이터를 쓸지 알 수 없고 수정 기능까지 허용하는지도 빠져 있습니다.

데모를 공유하려면 다음처럼 구체적으로 요청할 수 있습니다.

가짜 데이터만 사용하는 데모를 준비해주세요. 조회 기능만 공개하고, 데이터 수정·삭제 요청도 차단해주세요. 외부 접속 상태에서 공개되는 화면과 기능을 확인해주세요.

여기서 ‘수정 버튼을 숨겨달라’와 ‘수정 요청을 차단해달라’는 요구는 효과가 다릅니다. 버튼을 숨겨도 서버가 요청을 받아주면 데이터가 바뀔 수 있습니다. 요청을 처리하는 쪽에서도 권한을 검사해야 합니다.

이렇게 지시한다고 보안이 보장되지는 않습니다. 다만 에이전트가 구현한 결과를 확인할 때 무엇을 살펴봐야 하는지는 분명해집니다.

링크가 열리는 것만으로 공유가 끝나지는 않습니다

링크가 열린다는 것은 연결에 성공했다는 뜻입니다. 공유 설정이 의도대로 됐는지 알려면, 의도한 사람에게 허용한 기능만 열리는지까지 확인해야 합니다.

로그인이 필요한 앱이라면 로그인하지 않은 새 브라우저 세션에서 먼저 접속해보면 됩니다. 첫 화면뿐 아니라 데이터 조회 주소와 관리 기능에도 접근이 제한되는지 살펴봐야 합니다. 공유받은 사용자가 다른 사용자의 데이터까지 볼 수 있는지도 따로 확인해야 합니다.

데모가 끝난 뒤에는 터널을 종료해야 합니다. 터널을 끊으면 그 경로로는 더 이상 접근할 수 없지만, 이미 내려받은 데이터는 상대에게 남을 수 있습니다. 처음부터 데모에 필요한 데이터만 연결해두면 관리하기도 쉽습니다.

Quick Tunnels는 로컬 앱을 보여주는 수고를 줄여줍니다. 앱을 완성하고 공유할 때는 누가 무엇을 볼 수 있는가까지 확인해야 합니다. AI에게 공유 링크를 부탁할 때도 공개할 데이터와 허용할 기능을 함께 설명해야 그 범위에 맞춰 작업을 맡길 수 있습니다.

Cloudflare AI 코딩 에이전트 접근 통제

댓글

    댓글을 불러오는 중...