이 가이드에서는 관리형 폴더를 생성, 나열, 삭제하는 방법을 설명합니다.
시작하기 전에
시작하기 전에 관리형 폴더를 만들고 관리하는 데 필요한 Identity and Access Management(IAM) 역할이 있는지 확인하고 균일한 버킷 수준 액세스를 사용 설정합니다.
필요한 역할 얻기
관리형 폴더를 만들고 관리하는 데 필요한 권한을 얻으려면 관리자에게 버킷에 대한 스토리지 폴더 관리자(roles/storage.folderAdmin
) IAM 역할을 부여해 달라고 요청하세요.
이 사전 정의된 역할에는 관리형 폴더를 만들고 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.
필수 권한
storage.managedfolders.create
storage.managedfolders.delete
storage.managedfolders.get
storage.managedfolders.list
storage.objects.list
- 이 권한은 새로 생성된 관리형 폴더를 나열하여 검증하려는 경우에만 필요합니다.
다른 사전 정의된 역할이나 커스텀 역할을 사용하여 이러한 권한을 얻을 수도 있습니다.
버킷의 역할 부여에 대한 자세한 내용은 버킷에 IAM 사용을 참조하세요.
균일한 버킷 수준 액세스 사용 설정
아직 사용 설정하지 않은 경우 균일한 버킷 수준 액세스를 사용 설정합니다.
관리형 폴더 만들기
Console
Google Cloud 콘솔을 사용할 때 시뮬레이션된 폴더를 변환하여 관리형 폴더를 만듭니다. 다음 단계에서는 시뮬레이션된 폴더를 만들고 이를 관리형 폴더로 변환하는 방법을 설명합니다.
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록에서 관리형 폴더를 만들려는 버킷의 이름을 클릭합니다.
버킷 세부정보 페이지에서 폴더 만들기를 클릭하여 새 폴더를 만듭니다. 관리형 폴더로 변환하려는 폴더가 이미 있으면 옵션 더보기
메뉴에 액세스하는 방법을 설명하는 단계로 건너뜁니다.이름 필드에 폴더 이름을 입력합니다. 이름 지정 고려사항은 관리형 폴더 이름을 참조하세요.
만들기를 클릭합니다.
새로 만든 폴더가 폴더 브라우저 창에 표시됩니다.
폴더 브라우저 창의 관리형 폴더로 변환할 폴더 옆에 있는 옵션 더보기
메뉴를 클릭하고 액세스 수정을 클릭합니다.관리형 폴더 만들기 대화상자가 표시됩니다.
관리형 폴더 연결을 클릭합니다.
폴더가 관리형 폴더로 변환됩니다. 주 구성원 및 역할별로 폴더에 대한 IAM 정책이 표시되는
MANAGED_FOLDER_NAME
권한 창이 나타납니다. 새 IAM 정책을 만들려면 관리형 폴더에 대한 IAM 정책 설정을 참조하세요.
명령줄
관리형 폴더를 만들려면 gcloud storage managed-folders create
명령어를 실행합니다.
gcloud storage managed-folders create gs://BUCKET_NAME/MANAGED_FOLDER_NAME
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 관리형 폴더를 만들려는 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 만들려는 관리형 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.
관리형 폴더가 생성되었는지 확인하려면 gcloud storage managed-folders describe
명령어를 실행합니다.
gcloud storage managed-folders describe gs://BUCKET_NAME/MANAGED_FOLDER_NAME
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 관리형 폴더를 만든 버킷의 이름입니다.MANAGED_FOLDER_NAME
은 생성된 관리형 폴더의 이름입니다.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여POST
ManagedFolder 요청으로 JSON API를 호출합니다.curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{ "name": "MANAGED_FOLDER_NAME" }' \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders"
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 관리형 폴더를 만들려는 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 만들려는 관리형 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.
관리형 폴더 나열
Console
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
폴더 브라우저 창에서 전환 노드
를 사용하여 버킷 내의 폴더 목록을 펼칩니다.
목록에 버킷에서 시뮬레이션된 폴더와 관리형 폴더가 표시됩니다.
명령줄
관리형 폴더를 나열하려면 gcloud storage managed-folders list
명령어를 실행합니다.
gcloud storage managed-folders list gs://BUCKET_NAME
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 나열하려는 관리형 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.
버킷 이름 대신 폴더 경로를 지정할 수도 있습니다. 예를 들면 다음과 같습니다.
gcloud storage managed-folders list gs://my-bucket/folder/
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여 관리형 폴더 나열 요청으로 JSON API를 호출합니다.curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders"
여기서
BUCKET_NAME
은 나열하려는 관리형 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.
관리형 폴더 이동하기
Console
대상 버킷에 새 관리형 폴더를 만듭니다.
소스 버킷의 원래 관리형 폴더에서 대상 버킷의 새 관리형 폴더로 IAM 정책을 복사합니다.
소스 버킷의 원래 관리형 폴더에서 대상 버킷의 새 관리형 폴더로 객체를 복사합니다.
원본 버킷에서 원본 관리형 폴더를 삭제합니다.
명령줄
관리형 폴더 및 폴더에 포함된 객체를 이동하려면 --include-managed-folders
옵션과 함께 gcloud storage mv
명령어를 실행합니다.
gcloud storage mv --include-managed-folders gs://SOURCE_BUCKET_NAME/MANAGED_FOLDER_NAME gs://DESTINATION_BUCKET_NAME/MANAGED_FOLDER_NAME
각 항목의 의미는 다음과 같습니다.
SOURCE_BUCKET
은 원래 버킷의 이름입니다. 예를 들면my-source-bucket
과 같습니다.DESTINATION_BUCKET
은 관리형 폴더를 이동할 버킷의 이름입니다. 예를 들면my-destination-bucket
입니다.MANAGED_FOLDER_NAME
은 이동하려는 관리형 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.
REST API
JSON API
관리형 폴더를 한 버킷에서 다른 버킷으로 이동하려면 다음 단계를 완료합니다.
대상 버킷에 새 관리형 폴더를 만듭니다.
소스 버킷의 원래 관리형 폴더에서 대상 버킷의 새 관리형 폴더로 IAM 정책을 복사합니다.
소스 버킷의 원래 관리형 폴더에서 대상 버킷의 새 관리형 폴더로 객체를 복사합니다.
원본 버킷에서 원본 관리형 폴더를 삭제합니다.
관리형 폴더 삭제
Console
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 세부정보 페이지에서 삭제할 관리형 폴더 옆에 있는 옵션 더보기 아이콘
을 클릭합니다.폴더 삭제를 클릭합니다.
관리형 폴더를 삭제할지 확인하려면 삭제 필드에
DELETE
를 입력합니다.삭제를 클릭합니다.
저장된 객체 및 다른 관리형 폴더를 포함하여 관리형 폴더와 해당 콘텐츠가 Cloud Storage 버킷에서 삭제됩니다.
명령줄
관리형 폴더 및 폴더에 포함된 객체를 삭제하려면 gcloud storage rm
명령어를 실행합니다.
gcloud storage rm -r gs://BUCKET_NAME/MANAGED_FOLDER_NAME
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 삭제하려는 관리형 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 삭제할 관리형 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.
REST API
JSON API
관리형 폴더를 삭제하려면 먼저 관리형 폴더 내에서 객체를 삭제해야 합니다.
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여DELETE
ManagedFolder 요청으로 JSON API를 호출합니다.curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME"
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 삭제하려는 관리형 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 삭제할 관리형 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.
기본적으로 관리형 폴더를 삭제하려면 먼저 관리형 폴더가 비어 있어야 합니다. 비어 있지 않은 관리형 폴더를 삭제하려면
allowNonEmpty=true
를 쿼리 매개변수로 요청에 포함합니다.
문제 해결
관리형 폴더 만들기 및 관리에 대한 도움말은 문제 해결 페이지를 참조하세요.