클라이언트 측에서 암호화된 파일을 일괄 가져오기 위한 권장사항

이 가이드에서는 Drive API를 사용하여 클라이언트 측 암호화 (CSE) 파일을 일괄 가져오는 맞춤 도구를 빌드하는 권장사항을 설명합니다.

셀프서비스 이전을 위해 데스크톱용 Drive 고려

사용자는 데스크톱용 Drive 클라이언트를 사용하여 로컬 머신에서 파일을 가져올 수 있습니다. 클라이언트 측 암호화를 완전히 지원하며 사용자가 직접 파일을 암호화하고 업로드할 수 있습니다. 이 가이드에 설명된 대로 맞춤 도구를 빌드하는 것은 대규모, 무인 또는 멀티 사용자 일괄 가져오기에만 필요합니다.

시작하기 전에

단일 클라이언트 측 암호화 파일을 관리하는 방법을 이해해야 합니다. 토큰 생성 및 키 액세스 제어 목록 서비스 (KACLS)와의 상호작용을 비롯한 암호화, 업로드/다운로드, 복호화의 기본 단계를 알아보려면 개별 CSE 파일 관리를 검토하세요.

서비스 계정을 사용하여 인증하기

Drive API와 상호작용할 때는 도메인 전체 위임이 있는 서비스 계정 을 사용합니다. 이렇게 하면 애플리케이션이 사용자를 가장할 수 있으므로 프로그래매틱 방식으로 사용자를 반복하고 사용자를 대신하여 파일을 직접 업로드할 수 있습니다.

디렉터리 구조 재현

기존 디렉터리 구조를 Drive에 미러링하도록 소스 파일과 폴더를 재귀적으로 순회하도록 가져오기 도구를 설계합니다. 대략적인 프로세스는 다음과 같습니다.

  1. 각 소스 디렉터리에 대해 해당하는 Drive 폴더를 만듭니다.
  2. 디렉터리의 파일을 암호화하고 생성된 Drive 폴더에 업로드합니다.
  3. 하위 디렉터리에 대해 프로세스를 반복합니다.

파일을 올바른 위치에 업로드

항상 올바른 사용자의 내 드라이브 또는 액세스 가능한 공유 드라이브에 파일을 업로드합니다. 공유 드라이브 또는 폴더 ID를 찾으려면 Drive 웹 URL에서 정적으로 찾거나 drives.list 및 files.list 메서드를 사용하여 동적으로 찾습니다.

중복 방지

Drive를 사용하면 동일한 폴더에 있는 여러 파일이 정확히 동일한 파일 이름을 공유할 수 있습니다. 업로드 하기 전에 파일의 ID를 생성합니다. Drive API files.generateIds 메서드를 사용하여 이 작업을 실행할 수 있습니다.

이러한 사전 생성된 ID를 저장하면 가져오기 도구가 각 파일을 특정 ID에 업로드하려고 시도할 수 있습니다. 해당 ID의 파일이 이미 있는 경우 도구에서 안전하게 건너뛸 수 있습니다. 사전 생성된 ID를 사용하면 도구가 비정상 종료로부터 복구하는 데 도움이 됩니다.

각 업로드 전에 CSE 토큰 요청

키 래핑 및 파일 업로드 직전에 각 파일에 대해 generateCseToken을 호출합니다. 이 접근 방식을 사용하면 토큰이 변경될 수 있는 연결된 메타데이터의 현재 상태를 정확하게 반영합니다.

대용량 파일에 재개 가능한 업로드 사용

대용량 파일을 이전하려면 Drive API 재개 가능한 업로드 를 사용합니다. 재개 가능한 업로드를 사용하면 가져오기 도구가 전체 파일 업로드를 다시 시작하는 대신 네트워크 중단 중에 실패한 청크를 재시도할 수 있습니다.

공유 권한 복원

일괄 가져오기 도구에서 공유 권한을 유지해야 하는 경우 먼저 파일을 암호화하고 업로드한 후 permissions.create 메서드를 호출합니다. 공유 권한은 파일 업로드 자체 중에는 적용되지 않습니다.

토큰 만료 처리

장기 실행 작업의 경우 스크립트에서 토큰 만료로 인해 인증 오류가 발생할 수 있습니다. 액세스 토큰을 자동으로 새로고침하고 업로드를 재시도하는 로직을 구현합니다. 자세한 내용은 단일 파일을 암호화하고 업로드하는 방법을 보여주는 오픈소스 예시를 참고하세요.

가져온 파일 철저히 검증

일괄 가져오기 후 철저한 검증을 실행합니다. Google에서는 서버 측에서 파일을 복호화하고 검증할 수 없습니다. 가져온 파일 검증 섹션에서는 개별 파일을 스팟 체크하는 여러 방법을 자세히 설명합니다.

특히 일괄 가져오기 후에 유용한 대규모 검증을 위한 추가 방법은 공식 복호화 도구를 사용하는 것입니다. 먼저 Google 테이크아웃을 사용하여 Drive에서 암호화된 콘텐츠를 다운로드합니다. 그런 다음 복호화 도구를 사용하여 복호화를 시도합니다. 이 프로세스를 통해 복호화할 수 없는 파일을 식별하여 가져오기 도구의 암호화 또는 키 래핑 로직에서 발생할 수 있는 문제를 파악할 수 있습니다.

한도 및 할당량 확인

클라이언트 측 암호화 파일에는 표준 Drive 한도 및 할당량이 적용됩니다. 공유 드라이브 한도, 일반 파일 및 폴더 한도, 할당량 관리 방법 을 숙지하세요. 또한 가져오기 도구는 키 액세스 제어 목록 서비스 (KACLS) 및 ID 공급업체 (IdP)의 비율 제한을 처리해야 합니다.