이 가이드에서는 Drive API를 사용하여 클라이언트 측 암호화 (CSE) 파일을 일괄 가져오는 맞춤 도구를 빌드하기 위한 권장사항을 다룹니다.
셀프 서비스 마이그레이션에 데스크톱용 Drive 사용 고려
사용자는 데스크톱용 Drive 클라이언트를 사용하여 로컬 머신에서 파일을 가져올 수 있습니다. 클라이언트 측 암호화를 완전히 지원하며 사용자가 직접 파일을 암호화하고 업로드할 수 있습니다. 이 가이드에 설명된 대로 맞춤 도구를 빌드하는 것은 대규모, 무인 또는 멀티 사용자 일괄 가져오기에만 필요합니다.
시작하기 전에
단일 클라이언트 측 암호화 파일을 관리하는 방법을 이해해야 합니다. 개별 CSE 파일 관리를 검토하여 토큰 생성 및 키 액세스 제어 목록 서비스(KACLS)와의 상호작용을 비롯한 암호화, 업로드/다운로드, 복호화의 기본 단계를 알아보세요.
서비스 계정을 사용하여 인증하기
Drive API와 상호작용할 때는 도메인 전체 위임이 있는 서비스 계정을 사용하세요. 이를 통해 애플리케이션이 사용자를 가장할 수 있으므로 프로그래매틱 방식으로 사용자를 순환하고 사용자를 대신하여 파일을 직접 업로드할 수 있습니다.
디렉터리 구조 다시 만들기
기존 디렉터리 구조를 Drive에 반영하도록 소스 파일과 폴더를 재귀적으로 순회하도록 가져오기 도구를 설계합니다. 상위 수준 프로세스는 다음과 같습니다.
- 각 소스 디렉터리에 해당하는 Drive 폴더를 만듭니다.
- 디렉터리의 파일을 생성된 Drive 폴더에 암호화하여 업로드합니다.
- 하위 디렉터리에 대해 이 프로세스를 반복합니다.
올바른 위치에 파일 업로드
항상 올바른 사용자의 내 드라이브 또는 액세스 가능한 공유 드라이브에 파일을 업로드하세요. 공유 드라이브 또는 폴더 ID를 찾으려면 드라이브 웹 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)의 비율 제한을 처리해야 합니다.