폴더에 액세스할 수 있는 모든 사용자는 폴더 내의 모든 항목에도 액세스할 수 있습니다. 이를 통해 계층 구조의 항목에 액세스할 수 있는 사용자를 쉽게 파악할 수 있으며 이를 확장된 액세스 권한이라고 합니다. 이 액세스 동작은 내 드라이브와 공유 드라이브 모두에 적용됩니다.
액세스가 제한된 폴더가 도입된 후 내 드라이브와 공유 드라이브 모두에서 특정 하위 폴더에 대한 액세스를 제한할 수 있는 유일한 예외가 되었습니다.
이 문서에서는 Google Drive에서 액세스가 제한된 폴더와 확장 액세스 권한이 있는 폴더를 관리하는 방법을 설명합니다.
액세스가 제한된 폴더 정보
액세스가 제한된 폴더를 사용하면 폴더를 특정 사용자로 제한할 수 있습니다. 폴더 권한에 직접 추가한 사용자만 폴더를 열고 콘텐츠에 액세스할 수 있습니다. 상속된 액세스 권한이 있거나 공유 내 드라이브 폴더 또는 공유 드라이브 폴더에 대한 액세스 권한이 있는 사용자 (상위 폴더의 액세스 권한을 통해)는 Drive에서 제한된 폴더를 볼 수 있지만 열 수는 없습니다. 이 기능을 사용하면 내 드라이브와 공유 드라이브 모두에서 항목의 공유 동작을 더 잘 조정할 수 있으므로 민감한 콘텐츠가 포함된 폴더를 더 광범위하게 공유된 콘텐츠와 함께 정리할 수 있습니다.
액세스가 제한된 폴더는 내 드라이브와 공유 드라이브에서 모두 사용할 수 있습니다. 내 드라이브의 owner 역할과 공유 드라이브의 organizer 역할은 언제든지 액세스가 제한된 폴더에 액세스할 수 있습니다. 폴더 사용자 목록을 수정하는 데는 특별한 권한이 필요하지 않습니다. 폴더를 공유할 수 있는 역할은 구성원 목록을 업데이트할 수 있습니다. 역할 및 권한에 대해 자세히 알아보려면 역할 및 권한 및 공유 드라이브 개요를 참고하세요.
폴더는 파일의 한 유형이지만 파일에는 제한된 액세스 권한을 사용할 수 없습니다.
폴더에 제한된 액세스 권한 설정하기
직접 폴더 권한이 있는 사용자는 액세스가 제한된 폴더에 액세스할 수 있지만, 내 드라이브의 owner 역할과 공유 드라이브의 organizer 역할만 액세스 제한을 사용 설정하거나 사용 중지할 수 있습니다.
또한 내 드라이브에서 writer 역할이 있는 사용자의 files 리소스에 writersCanShare 불리언 필드가 true로 설정되어 있는 경우 이 기능을 사용 설정하거나 중지할 수 있습니다.
폴더에 대한 액세스를 제한하려면 files 리소스의 불리언 inheritedPermissionsDisabled 필드를 true로 설정합니다. true인 경우 owner 역할, organizer 역할, 직접 폴더 권한이 있는 사용자만 액세스할 수 있습니다.
상속된 권한을 다시 사용 설정하려면 inheritedPermissionsDisabled를 false로 설정합니다.
폴더에 대한 액세스를 제한할 권한 확인
폴더에 대한 액세스를 제한할 수 있는지 확인하려면 files 리소스의 capabilities.canDisableInheritedPermissions 및 capabilities.canEnableInheritedPermissions 필드의 불리언 값을 검사합니다. 이러한 설정은 inheritedPermissionsDisabled 필드를 통해 폴더에 대한 액세스를 제한할 권한이 있는지 확인합니다.
capabilities에 대한 자세한 내용은 파일 기능 이해하기를 참고하세요.
액세스가 제한된 폴더의 하위 항목 나열
폴더의 하위 항목을 나열할 수 있는지 확인하려면 capabilities.canListChildren 불리언 필드를 사용합니다.
항목이 폴더가 아니거나 요청자의 폴더 콘텐츠 액세스 권한이 inheritedPermissionsDisabled을 false로 설정하여 삭제된 경우 반환되는 값은 항상 false입니다.
폴더 콘텐츠에 대한 액세스 권한이 삭제된 경우에도 files.get() 및 files.list() 메서드를 사용하여 폴더 메타데이터에 액세스할 수 있습니다. 액세스가 제한되었는지 확인하려면 응답 본문에서 항목이 MIME 유형이 application/vnd.google-apps.folder인 폴더이고 capabilities.canListChildren 필드가 false로 설정되어 있는지 확인합니다. 이러한 폴더의 하위 항목을 나열하려고 하면 결과가 항상 비어 있습니다.
액세스가 제한된 폴더 메타데이터 액세스
액세스가 제한된 폴더를 사용하면 폴더 콘텐츠에 액세스할 수 없는 경우 폴더 메타데이터를 볼 수 있습니다.
permissions 리소스를 사용하여 사용자의 액세스 권한을 확인할 때 메타데이터에 대한 액세스 권한만 부여하는 내 드라이브 및 공유 드라이브 폴더에는 응답 본문에 inheritedPermissionsDisabled=true 및 view=metadata 값이 포함됩니다. 역할은 항상 reader로 설정됩니다. view 필드는 view에 속하는 권한에 대해서만 채워집니다. 자세한 내용은 뷰를 참고하세요.
permissionDetails 필드의 모든 항목에는 inherited 필드가 true로 설정되어 권한이 상속되었으며 폴더 콘텐츠에 대한 직접 액세스 권한이 부여되지 않았음을 나타냅니다.
폴더 콘텐츠와 메타데이터 모두에 대한 액세스 권한을 부여하려면 inheritedPermissionsDisabled 필드를 false로 설정하거나 역할을 reader 이상으로 업데이트합니다.
마지막으로 폴더에서 상속을 사용 중지하여 권한이 처음 제한된 후 (inheritedPermissionsDisabled=true) 권한이 폴더에 직접 다시 추가된 경우 응답 본문의 값은 view 필드가 설정되지 않은 inheritedPermissionsDisabled=true가 됩니다. 폴더가 공유 드라이브에 있는 경우 permissionDetails 목록에는 권한이 상속되지 않음을 나타내는 inherited 필드가 false로 설정된 항목이 있습니다. 이 권한은 다른 권한과 마찬가지로 폴더 콘텐츠와 메타데이터에 대한 액세스 권한을 부여합니다.
액세스가 제한된 폴더 삭제
files 리소스에서 files.delete() 메서드를 사용하여 액세스가 제한된 폴더를 삭제할 수 있습니다.
내 드라이브에서는 항목 소유자만 폴더 계층 구조를 삭제할 수 있습니다. 사용자가 액세스가 제한되고 다른 사용자가 소유한 폴더가 있는 계층 구조를 삭제하면 해당 폴더는 소유자의 내 드라이브로 이동합니다.
사용자에게 owner 역할이 있는 경우 전체 계층 구조가 삭제됩니다.
공유 드라이브에서 organizer 역할은 액세스가 제한된 폴더가 포함되어 있더라도 계층 구조를 삭제할 수 있습니다. fileOrganizer 역할이 액세스가 제한된 폴더가 포함된 계층 구조를 삭제하는 경우, 액세스가 제한된 폴더에 fileOrganizer로 다시 추가되었는지에 따라 결과가 달라집니다. 그렇다면 전체 계층 구조가 삭제됩니다. 그렇지 않으면 액세스가 제한된 폴더가 공유 드라이브의 루트 폴더로 이동합니다.