모든 Google Drive 파일, 폴더, 공유 드라이브는
permissions 리소스에 사용할 수 있는 권한을 부여하는 데만 사용할 수 있습니다. 각 리소스
특정 type
(사용자, 그룹, 도메인, 모든 사용자)의 권한을 식별합니다.
및 role
(예: 'commenter') '리더'입니다 예를 들어 파일에는
특정 사용자 (type=user
)에게 읽기 전용 액세스 권한을 부여하는 권한
(role=reader
), 다른 권한은 특정 그룹의 구성원에게 부여
(type=group
) 파일에 댓글을 추가하는 기능 (role=commenter
)
역할의 전체 목록과 역할별로 허용되는 작업은 다음을 참조하세요. 역할 및 권한이 있는지 확인합니다.
Drive 리소스 공유 시나리오
공유 시나리오에는 5가지 유형이 있습니다.
내 드라이브에 있는 파일을 공유하려면 사용자에게
role=writer
가 있어야 합니다. 또는role=owner
.writersCanShare
불리언 값이 파일이False
로 설정되어 있으면 사용자에게role=owner
가 있어야 합니다.role=writer
사용자에게 사용자는 파일을 공유할 수 없습니다. 자세한 내용은 자세한 내용은 파일 제한을 위한 만료일 설정하기를 참조하세요. 액세스할 수 있습니다.
내 드라이브에 있는 폴더를 공유하려면 사용자가
role=writer
또는role=owner
파일에서
writersCanShare
불리언 값이False
로 설정된 경우 사용자에게 더 많은 권한이 있는role=owner
가 있어야 합니다.만료일 및 시간이 적용되는 임시 액세스는 허용되지 않습니다. 내 드라이브 폴더에
role=writer
과(와) 함께 저장 자세한 내용은 자세한 내용은 파일 액세스 권한을 제한하려면 만료일을 설정하세요.
공유 드라이브의 파일을 공유하려면 사용자에게
role=writer
가 있어야 합니다.role=fileOrganizer
또는role=organizer
입니다.writersCanShare
설정은 공유 드라이브의 항목에는 적용되지 않습니다. 항상True
로 설정된 것처럼 처리됩니다.
공유 드라이브의 폴더를 공유하려면 사용자에게
role=organizer
가 있어야 합니다.sharingFoldersRequiresOrganizerPermission
제한사항이 공유 드라이브가False
(으)로 설정되어 있으며role=fileOrganizer
사용자가 수행할 수 있는 작업 해당 공유 드라이브에 폴더를 공유할 수 있습니다.
공유 드라이브 멤버십을 관리하려면 사용자에게
role=organizer
가 있어야 합니다. 단 사용자와 그룹은 공유 드라이브의 멤버가 될 수 있습니다.
파일 액세스를 제한하려면 만료일을 설정하세요.
민감한 프로젝트에서 사람들과 작업할 때 일정 기간이 지나면 Drive의 특정 파일에 대한 액세스를 제한할 수 있습니다 있습니다. 내 드라이브에 있는 파일의 경우 만료일을 다음과 같이 설정할 수 있습니다. 해당 파일에 대한 액세스 권한을 제한하거나 삭제할 수 있습니다.
만료일을 설정하는 방법은 다음과 같습니다.
permissions.create
사용 메서드를 사용하고permissions.expirationTime
입력란 (다른 필수 입력란과 함께)을 표시합니다. 자세한 내용은 권한을 만듭니다.permissions.update
사용 메서드를 호출하고permissions.expirationTime
필드를 필수 입력란). 자세한 내용은 변경 권한이 있는지 확인합니다.
expirationTime
필드는 RFC 3339를 사용하여 권한이 만료되는 시점을 나타냅니다.
날짜/시간
에서 자세한 내용을 확인하실 수 있습니다. 만료 시간에는 다음과 같은 제한사항이 있습니다.
- 사용자 및 그룹 권한에서만 설정할 수 있습니다.
- 현재 시간은 미래여야 합니다.
- 미래의 시간은 1년 이내여야 합니다.
만료일에 관한 자세한 내용은 다음 도움말을 참고하세요.
- 파일 액세스 권한의 만료일 설정하기
- 만료일 추가하기 에서 자세한 내용을 확인하실 수 있습니다.
권한 전파
폴더에 대한 권한 목록은 아래로 전파되고 모든 하위 파일과 폴더는 상위 폴더의 권한을 상속받습니다. 권한이나 변경되면 모든 중첩된 폴더를 만들 수 있습니다 예를 들어 파일이 폴더에 있는 경우 해당 폴더를 다른 폴더로 이동하면 새 폴더에 대한 권한이 파일에 전파됩니다. 새 폴더가 파일의 사용자에게 'writer', 이 항목 기존 역할을 재정의합니다.
반대로 파일이 폴더에서 role=writer
를 상속받아
'Reader'를 제공하는 다른 폴더 역할을 지정하면 파일이
role=reader
상속된 권한은 공유 드라이브의 파일 또는 폴더에서 삭제할 수 없습니다. 대신 이러한 권한은 상속되었습니다. 상속된 권한은 '내 드라이브' 또는 '공유 문서함'을 선택합니다.
반대로 상속된 권한은 내
드라이브. 파일이 내 role=writer
Drive 폴더의 경우, 파일에 role=reader
를 설정하여 파일 크기를 줄일 수 있습니다.
지정할 수 있습니다.
기능
Permissions 리소스는 궁극적으로
현재 사용자가 파일이나 폴더에서 작업을 수행할 수 있는지 결정합니다.
대신 Files 리소스에는
작업이 가능한지 여부를 나타내는 데 사용되는 부울 capabilities
필드
실행할 수 있습니다. Google Drive API는
파일 또는 폴더와 연결된 현재 사용자의 권한 리소스입니다.
예를 들어 앱에 로그인하고 파일을 공유하려고 하면
파일에 대한 권한이 있는지 확인합니다. 파일 공유를 허용하는 역할인 경우
파일과 관련된 capabilities
(예: canShare
)이 채워집니다.
나타냅니다 알렉스가 파일을 공유하려고 하면 앱에서
capabilities
: canShare
가 true
로 설정되었는지 확인합니다.
capabilities
파일을 가져오는 예는 사용자 확인
권한이 있는지 확인합니다.
권한 만들기
다음 두 필드는 권한을 만들 때 필요합니다.
type
:type
권한의 범위 (user
,group
,domain
또는anyone
)을 입력합니다.type=user
가 있는 권한은 특정 사용자에게 적용되지만type=domain
권한이 특정 도메인의 모든 사용자에게 적용됩니다.role
:role
필드type
가 실행할 수 있는 작업을 식별합니다. 예를 들어type=user
및role=reader
권한이 있는 경우 특정 사용자에게 부여 파일 또는 폴더에 대한 읽기 전용 액세스 또는type=domain
권한이 있는 권한 및role=commenter
를 사용하면 도메인의 모든 사용자가 파일에 댓글을 추가할 수 있습니다. 대상 역할의 전체 목록과 각 역할이 허용하는 작업에 대해 자세히 알아보려면 역할 및 권한이 있는지 확인합니다.
type=user
또는 type=group
인 권한을 만들 때 다음 작업도 해야 합니다.
emailAddress
를 제공하여
권한을 부여할 수 있습니다.
type=domain
인 권한을 만들 때는
domain
: 특정 도메인 연결
할 수 있습니다.
권한을 만들려면 다음 단계를 따르세요.
permissions.create
메서드 사용 관련 파일 또는 폴더의fileId
를 바꿉니다.- 요청 본문에서
type
및role
를 지정합니다. type=user
또는type=group
인 경우emailAddress
을 제공합니다.type=domain
인 경우,domain
를 제공합니다.
예 보기
다음 코드 샘플은 권한을 만드는 방법을 보여줍니다. 응답은 할당된 permissionId
를 포함하여 Permission
리소스의 인스턴스를 반환합니다.
요청
POST https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions
{ "requests": [ { "type": "user", "role": "commenter", "emailAddress": "alex@altostrat.com" } ] }
응답
{
"kind": "drive#permission",
"id": "PERMISSION_ID
",
"type": "user",
"role": "commenter"
}
공유 대상 그룹 사용
공유 대상 그룹은 부서나 팀 등 사용자에게 항목을 공유할 것을 권장합니다. 사용자가 사이트, 앱, 동영상 등의 전체가 아니라 보다 구체적이거나 제한된 고객층에게 되었습니다. 공유 대상 그룹을 사용하면 사용자가 데이터를 더 쉽게 적절히 공유할 수 있습니다. 자세한 내용은 자세한 내용은 타겟 정보 잠재고객 에서 자세한 내용을 확인하실 수 있습니다.
공유 대상 그룹을 사용하려면 다음 단계를 따르세요.
Google 관리 콘솔에서 메뉴로 이동합니다. > 디렉터리 > 공유 대상 그룹을 클릭합니다.
이 작업을 수행하려면 최고 관리자 권한이 있는 계정을 사용하여 로그인해야 합니다.
공유 대상 그룹 목록에서 공유 대상 그룹의 이름을 클릭합니다. 받는사람 공유 대상 그룹을 만들려면 대상 만들기 잠재고객
타겟층 URL(
https://admin.google.com/ac/targetaudiences/ID
)에서 고유 ID를 복사합니다.type=domain
로 권한을 만들고domain
필드를ID.audience.googledomains.com
로 설정합니다.
사용자가 공유 대상 그룹과 상호작용하는 방식을 보려면 링크에 대한 사용자 환경을 참고하세요. 공유 에서 자세한 내용을 확인하실 수 있습니다.
파일, 폴더 또는 공유 드라이브의 모든 권한 가져오기
permissions.list
메서드를 사용하여 다음을 수행합니다.
파일, 폴더 또는 공유 드라이브의 모든 권한 검색
예 보기
다음 코드 샘플은 모든 권한을 얻는 방법을 보여줍니다. 응답은 권한 목록을 반환합니다.
요청
GET https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions
응답
{
"kind": "drive#permissionList",
"permissions": [
{
"id": "PERMISSION_ID
",
"type": "user",
"kind": "drive#permission",
"role": "commenter"
}
]
}
사용자 권한 확인
앱이 파일을 열면 파일의 기능을 확인하고
현재 사용자의 권한을 반영합니다. 예를 들어 사용자가
파일에 canComment
기능이 없으면 댓글을 쓸 수 있습니다.
UI에서 사용 중지해야 합니다.
capabilities
에 대한 자세한 내용은 기능을 참조하세요.
섹션을 참조하세요.
기능을 확인하려면 다음을 사용하여 files.get
를 호출합니다.
capabilities
필드로 설정된 fileId
및 fields
매개변수 대상
fields
매개변수를 사용하여 필드를 반환하는 방법에 관한 자세한 내용은
파일의 특정 필드 반환
예 보기
다음 코드 샘플은 사용자 권한을 확인하는 방법을 보여줍니다. 응답은 사용자가 파일에 대해 가진 기능 목록을 반환합니다. 각 기능은 사용자가 취할 수 있는 세분화된 작업에 해당합니다. 일부 필드는 공유 드라이브의 항목에 대해서만 채워집니다.
요청
GET https://www.googleapis.com/drive/v3/files/FILE_ID
?fields=capabilities
응답
{ "capabilities": { "canAcceptOwnership": false, "canAddChildren": false, "canAddMyDriveParent": false, "canChangeCopyRequiresWriterPermission": true, "canChangeSecurityUpdateEnabled": false, "canComment": true, "canCopy": true, "canDelete": true, "canDownload": true, "canEdit": true, "canListChildren": false, "canModifyContent": true, "canModifyContentRestriction": true, "canModifyLabels": true, "canMoveChildrenWithinDrive": false, "canMoveItemOutOfDrive": true, "canMoveItemWithinDrive": true, "canReadLabels": true, "canReadRevisions": true, "canRemoveChildren": false, "canRemoveMyDriveParent": true, "canRename": true, "canShare": true, "canTrash": true, "canUntrash": true } }
공유 드라이브 파일 및 폴더
파일 또는 폴더에서 역할을 변경하려면 역할의 소스를 알아야 합니다. 공유 드라이브의 경우 역할의 소스는 공유 드라이브의 멤버십을 기반으로 할 수 있습니다. 드라이브, 폴더에 대한 역할 또는 파일에 대한 역할을 지정할 수 있습니다.
공유 드라이브의 역할 소스 또는 공유 드라이브에 포함된 항목을 결정하려는 경우
permissions.get
를 호출하려면
fileId
, permissionId
, fields
매개변수가
permissionDetails
필드 permissionId
를 찾으려면 다음을 사용하세요.
permissions.list
(fileId
포함) 받는사람
permissions.list
요청에서 permissionDetails
필드를 가져오고,
fields
매개변수를 permissions/permissionDetails
로 변경합니다.
이 필드는 사용자에 대한 모든 상속 및 직접 파일 권한을 열거합니다. 지정할 수 있습니다.
예 보기
다음 코드 샘플은 역할 소스를 확인하는 방법을 보여줍니다. 응답은 Permission
리소스의 permissionDetails
를 반환합니다. inheritedFrom
필드는 권한이 상속된 항목의 ID를 제공합니다.
요청
GET https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions/PERMISSION_ID
?fields=permissionDetails&supportsAllDrives=true
응답
{
"permissionDetails": [
{
"permissionType": "member",
"role": "commenter",
"inheritedFrom": "INHERITED_FROM_ID
",
"inherited": true
},
{
"permissionType": "file",
"role": "writer",
"inherited": false
}
]
}
권한 변경
파일 또는 폴더에 대한 권한을 변경하려면 할당된 역할을 변경하면 됩니다.
다음과 같이
permissions.update
를 호출합니다.permissionId
및fileId
연결된 파일, 폴더, 공유 드라이브를 확인할 수 있습니다.permissionId
를 찾으려면 다음을 사용하세요.permissions.list
(fileId
포함)요청에서 새
role
를 식별합니다.
공유 드라이브의 개별 파일이나 폴더에 대한 권한을 부여할 수도 있습니다.
(사용자 또는 그룹이 이미 구성원인 경우) 예를 들어 알렉스는 role=commenter
공유 드라이브 멤버십의 일부로 공유할 수 있습니다. 그러나 앱은 Alex에게
공유 드라이브 파일의 경우 role=writer
이 경우 새 역할이
더 많은 권한이 부여되므로
권한은 파일 또는 폴더에 대한 유효 역할이 됩니다.
예 보기
다음 코드 샘플은 파일 또는 폴더에 대한 권한을 댓글 작성자에서 작성기로 변경하는 방법을 보여줍니다. 응답은 Permission
리소스의 인스턴스를 반환합니다.
요청
PATCH https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions/PERMISSION_ID
{ "requests": [ { "role": "writer" } ] }
응답
{
"kind": "drive#permission",
"id": "PERMISSION_ID
",
"type": "user",
"role": "writer"
}
파일 또는 폴더에 대한 액세스 권한 취소
파일이나 폴더에 대한 액세스 권한을 취소하려면
delete
: fileId
및
permissionId
: 권한 삭제
'내 드라이브'에 있는 항목의 경우 상속된 포드를 삭제하고 권한을 부여했는지 확인합니다. 상속된 권한을 삭제하면 항목에 대한 액세스 권한이 취소되고 하위 항목이 있는 경우
공유 드라이브 내 항목의 경우 상속된 권한을 취소할 수 없습니다. 업데이트 또는 대신 상위 파일 또는 폴더에 대한 권한을 취소합니다.
delete
작업은 다음에 직접 적용된 권한을 삭제하는 데도 사용됩니다.
공유 드라이브 파일 또는 폴더를 탭합니다.
예 보기
다음 코드 샘플은 permissionId
를 삭제하여 액세스 권한을 취소하는 방법을 보여줍니다. 성공한 경우 응답 본문은 비어 있습니다. 권한이 삭제되었는지 확인하려면 permissions.list
를 fileId
와 함께 사용합니다.
요청
DELETE https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions/PERMISSION_ID
동일한 조직의 다른 Google Workspace 계정으로 파일 소유권 이전하기
'내 드라이브'에 있는 파일의 소유권 다른 리소스에서 이전할 수 있는 Google Workspace 계정 1개 동일한 조직의 다른 계정으로 이동할 수 있습니다. 공유 VPC를 소유하고 있는 해당 드라이브는 그 안의 파일을 소유합니다. 따라서 소유권 이전이 지원되지 않습니다. 공유 드라이브 파일 및 폴더 공유 드라이브 주최자 이동 가능 각자의 '내 드라이브'로 항목을 공유할 수 있습니다. 어떤 소유권을 이전합니다.
'내 드라이브'에 있는 파일의 소유권을 이전하려면 있습니다.
특정 사용자에게 부여할 권한을 부여하는 파일 만들기 (
type=user
) 소유자 액세스 권한 (role=owner
)role=owner
로 기존 파일의 권한을 업데이트하고 전송합니다. 지정된 사용자 (transferOwnership=true
)에게 소유권을 부여합니다.
한 일반 계정에서 다른 일반 계정으로 파일 소유권 이전
파일 소유권은 한 일반 계정 간에 다른 일반 계정으로 이전할 수 있습니다. 하지만 Drive에서는 두 파일 간에 파일 소유권을 이전하지 않습니다. 소비자 계정 새로운 소유자가 이전에 명시적으로 동의할 때까지 환승 하나의 일반 계정에서 다른 일반 계정으로 파일 소유권 이전
현재 소유자가 만들거나 업데이트하여 소유권 이전을 시작합니다. 새 소유자의 파일 권한 권한에는
role=writer
,type=user
및pendingOwner=true
설정이 있습니다. 만약 새 소유자가 잠재 소유자를 위한 권한을 생성하고 있음, 이메일 새로운 소유자에게 파일의 소유권을 가정하라는 요청을 받게 됩니다.새 소유자가 만들거나 업데이트하여 소유권 이전 요청을 수락합니다. 권한을 부여할 수 있습니다. 권한에는 다음 설정이 포함되어야 합니다.
role=owner
및transferOwnership=true
새 소유자가 새 권한이 부여되면 이전 소유자에게 이메일 알림이 전송됩니다. - 소유권이 이전되었음을 나타냅니다.
파일이 이전되면 이전 소유자의 역할은 writer
역할로 다운그레이드됩니다.
일괄 요청으로 여러 권한 변경
따라서 일괄 요청을 통해 권한을 부여할 수 있습니다
다음은 클라이언트 라이브러리로 대체될 수 있습니다.