NAVER CLOUD PLATFORM Object Storage 파일 업로드 (보안)

Home > NAVER CLOUD PLATFORM Object Storage > 예제 02

설명

NAVER CLOUD PLATFORM Object Storage로 파일을 업로드하는 예제이다. Object Storage로 파일을 업로드하려면, '리전/버킷/엑세스키/비밀엑세스키' 정보를 미리 알고 있어야 한다. 그러나 '액세스키/비밀엑세스키'와 같은 정보는 외부에 노출이 되면 안되는 정보이므로 공개된 곳에서는 사용하는 것은 위험하다. 자격증명 정보를 노출하지 않고 업로드하기 위해서는 백엔드에서 사전에 서명된 주소를 생성하고 그 주소를 사용하여 파일을 업로드하는 방법이 있다. 서명된 주소는 일정 시간 동안만 유효하며, 업로드를 위한 권한이 내포되어 있다. 다음은 해당 정보를 설정하는 코드를 보여준다.

// NCPOS 방식으로 설정한다.			
dx.setUploadMode("NCPOS");
// 설정 객체의 type 속성을 "SECRET"으로 설정하거나 생략한다.
dx.setAWSS3UploadConfig({
    //type: "SECRET",
    initURL: dx5.canonicalize("/ncpos-upload-init"),
    signedURL: dx5.canonicalize("/ncpos-upload-geturl"),
    completeURL: dx5.canonicalize("/ncpos-upload-complete")
});

세 가지 백엔드 주소는 파일 업로드를 하는 각 단계마다 필요로 하는 서명된 주소를 생성하여 반환하는 역할을 담당한다. 백엔드에서 서명된 주소를 반환하기 위해서는 AWS에서 제공하는 SDK를 사용해야 한다.

AWS SDK를 사용하여 서명된 주소를 생성하는 세부 내용은 NCPOSController과 NCPOSMultipartUploadHelper 클래스를 참고하도록 한다.

예제

테스트하기 위해서는 NCPOSMultipartUploadHelper 클래스에서 ACESSKEY_ID, SECRET_ACCESSKEY, REGION, BUCKET_NAME을 설정해야 한다.

업로드 결과