이 페이지에서는 Google Distributed Cloud (GDC) 오프라인 프로젝트의 스토리지 버킷을 만드는 방법을 안내합니다. 여기에는 기본 요건, 생성 및 확인 단계, 이름 지정 가이드라인이 포함됩니다. 이를 통해 격리된 배포의 요구사항을 충족하는 규정을 준수하고 잘 구성된 객체 스토리지를 설정할 수 있습니다.
이 페이지는 GDC 오프라인 환경 내 프로젝트의 객체 스토리지 버킷을 프로비저닝하고 관리하려는 인프라 운영자 그룹의 IT 관리자 또는 애플리케이션 운영자 그룹의 개발자와 같은 사용자를 대상으로 합니다. 자세한 내용은 GDC 오프라인 문서 대상을 참고하세요.
시작하기 전에
프로젝트 네임스페이스는 관리 API 서버에서 버킷 리소스를 관리합니다. 버킷 및 객체로 작업하려면 프로젝트가 있어야 합니다.
다음 작업을 수행하려면 적절한 버킷 권한도 있어야 합니다. 버킷 액세스 권한 부여를 참고하세요.
스토리지 버킷 이름 지정 가이드라인
버킷 이름은 다음 이름 지정 규칙을 준수해야 합니다.
- 프로젝트 내에서 고유해야 합니다. 프로젝트는 버킷 이름에 고유한 접두사를 추가하여 조직 내에서 충돌이 발생하지 않도록 합니다. 조직 간에 접두사와 버킷 이름이 충돌할 가능성은 낮지만, 이 경우 버킷 생성은 '버킷 이름이 사용 중' 오류와 함께 실패합니다.
- 개인 식별 정보 (PII)를 포함하지 마세요.
- DNS를 준수해야 합니다.
- 1자 이상 55자 이하(영문 기준)여야 합니다.
- 문자로 시작하고 문자, 숫자, 하이픈만 사용하세요.
버킷 만들기
콘솔
- 탐색 메뉴에서 객체 스토리지를 클릭합니다.
- 버킷 만들기를 클릭합니다.
- 버킷 생성 흐름에서 프로젝트 내의 모든 버킷에서 고유한 이름을 할당합니다.
- 설명을 입력합니다.
- 선택사항: toggle_off 전환 버튼을 클릭하여 보관 정책을 설정하고 원하는 일수를 입력합니다. 보관 정책 한도를 초과해야 하는 경우 IO에 문의하세요.
- 만들기를 클릭합니다. 성공 메시지가 표시되고 버킷 페이지로 다시 연결됩니다.
새 버킷이 성공적으로 생성되었는지 확인하려면 몇 분 후에 버킷 페이지를 새로고침하고 버킷 상태가 Not ready
에서 Ready
로 업데이트되는지 확인합니다.
CLI
버킷을 만들려면 프로젝트 네임스페이스에 버킷 사양을 적용하세요.
kubectl apply -f bucket.yaml
다음은 버킷 사양의 예시입니다.
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: DESCRIPTION
storageClass: Standard
bucketPolicy:
lockingPolicy:
defaultObjectRetentionDays: RETENTION_DAY_COUNT
다음은 암호화 버전이 v1
인 버킷 사양의 예시입니다.
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
labels:
object.gdc.goog/encryption-version: v1
spec:
description: DESCRIPTION
storageClass: Standard
bucketPolicy:
lockingPolicy:
defaultObjectRetentionDays: RETENTION_DAY_COUNT
자세한 내용은 버킷 API 참조를 확인하세요.
다음은 조직 관리자 전역 API의 이중 영역 버킷의 예입니다.
apiVersion: object.global.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: PROJECT_NAME
spec:
location: LOCATION_NAME
description: Sample DZ Bucket
storageClass: Standard
이중 영역 버킷에는 V2 암호화만 지원되며 이중 영역 버킷 리소스를 생성, 업데이트 또는 삭제하는 모든 작업은 전역 API 서버에 대해 실행해야 합니다.
gdcloud
gdcloud로 버킷을 만들려면 gdcloud storage buckets create를 따르세요.
버킷 및 관련 리소스 생성 확인
버킷이 생성되면 다음 명령어를 실행하여 버킷의 세부정보를 확인하고 검사할 수 있습니다.
kubectl describe buckets BUCKET_NAME -n NAMESPACE_NAME
상태 섹션에는 암호화 (암호화 세부정보) 및 정규화된 이름 (FULLY_QUALIFIED_BUCKET_NAME 포함)이라는 두 가지 중요한 필드가 있습니다.
암호화 v1
이 정보는 버킷 내에 저장된 객체를 암호화하는 데 사용되는 암호화 키를 참조하는 obj-FULLY_QUALIFIED_BUCKET_NAME
라는 AEADKey에 관한 것입니다. 예를 들면 다음과 같습니다.
Status:
Encryption:
Key Ref:
Kind: AEADKey
Name: obj-FULLY_QUALIFIED_BUCKET_NAME
Namespace: NAMESPACE_NAME
Type: CMEK
암호화 v2
이 정보는 활성 기본 AEADKey의 참조 역할을 하는 kek-ref-FULLY_QUALIFIED_BUCKET_NAME
라는 보안 비밀과 관련이 있습니다. 활성 기본 AEADKey는 특정 AEADKey가 지정되지 않은 경우 버킷에 업로드된 객체를 암호화하기 위해 무작위로 선택됩니다.
예를 들면 다음과 같습니다.
Status:
Encryption:
Key Ref:
Kind: Secret
Name: kek-ref-FULLY_QUALIFIED_BUCKET_NAME
Namespace: NAMESPACE_NAME
Type: CMEK
다음 명령어를 실행하여 필요한 AEADKeys가 생성되었는지 확인할 수도 있습니다.
kubectl get aeadkeys -n NAMESPACE_NAME -l cmek.security.gdc.goog/resource-name=FULLY_QUALIFIED_BUCKET_NAME
버킷을 만든 후 버킷 액세스 권한을 부여할 때 정책 파일을 만들어 애플리케이션 운영자 (AO)를 대신하여 버킷을 관리하고 버킷에 정책을 할당할 수 있습니다.