이 페이지에서는 Google Distributed Cloud (GDC) 에어 갭 스토리지 WORM 버킷을 만드는 방법을 보여줍니다.
시작하기 전에
스토리지 버킷은 특정 프로젝트의 범위가 지정된 리소스입니다. 프로젝트는 컨테이너 역할을 하며 버킷을 그룹화하고 Management API 서버를 통해 버킷을 관리할 수 있도록 합니다. 이 페이지에서 작업을 수행하려면 새 프로젝트를 만들거나 충분한 권한이 있는 기존 프로젝트를 선택해야 합니다.
필요한 IAM 역할
IAM 프로젝트 관리자에게 문의하여 프로젝트 네임스페이스에서 다음 역할을 요청하세요.
- 프로젝트 버킷 관리자 (
project-bucket-admin): 스토리지 버킷을 만들고, 업데이트하고, 삭제합니다. - 프로젝트 버킷 객체 뷰어 (
project-bucket-object-viewer): 스토리지 버킷 및 객체의 세부정보를 보고 확인합니다.
자세한 내용은 버킷 액세스 권한 부여를 참고하세요.
개발 환경 준비
관리 API 서버 또는 전역 API 서버에 대해 명령어를 실행하려면 다음 단계를 따르세요.
- 로그인하고 생성합니다. 영역 관리 API 서버의 kubeconfig 파일이 없는 경우 kubeconfig 파일을 생성합니다.
- 이중 영역 버킷의 경우 다음을 수행합니다.
- 인프라 운영자 (IO)에게 페어링된 영역에 대해
BucketLocationConfig커스텀 리소스가 생성되었는지 확인합니다. - 전역 API 서버의 kubeconfig 파일을 생성합니다.
- 인프라 운영자 (IO)에게 페어링된 영역에 대해
WORM 버킷 만들기
WORM 버킷은 다른 항목이 객체를 덮어쓰지 않도록 하고 객체를 최소 기간 동안 보관합니다. 감사 로깅은 WORM 버킷의 사용 사례입니다.
다음 단계에 따라 WORM 버킷을 만듭니다.
버킷을 만들 때 보관 기간을 설정합니다. 보관 기간은 각 객체 버전이 삭제 또는 수정으로부터 잠기는 기간(일)을 정의합니다. 이 보관 기간은 스토리지 클래스 최소 저장 기간(예:
Standard스토리지 클래스의 최소 30일)과 다릅니다. 예를 들어 다음 버킷은 보관 기간을 365일로 설정합니다. 보관 정책 한도를 초과해야 하는 경우 인프라 운영자 (IO)에게 문의하세요.apiVersion: object.gdc.goog/v1 kind: Bucket metadata: name: foo-logging-bucket namespace: foo-service spec: description: "Audit logs for foo" storageClass: Standard bucketPolicy: lockingPolicy: defaultObjectRetentionDays: 365읽기 전용 액세스 권한이 필요한 모든 사용자에게
project-bucket-object-viewer역할을 부여합니다.apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: namespace: foo-service name: object-readonly-access roleRef: kind: Role name: project-bucket-object-viewer apiGroup: rbac.authorization.k8s.io subjects: - kind: ServiceAccount namespace: foo-service name: foo-log-processor - kind: User name: bob@example.com apiGroup: rbac.authorization.k8s.io버킷에 콘텐츠를 써야 하는 사용자에게
project-bucket-object-admin역할을 부여합니다.apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: namespace: foo-service name: object-write-access roleRef: kind: Role name: project-bucket-object-admin apiGroup: rbac.authorization.k8s.io subjects: - kind: ServiceAccount namespace: foo-service name: foo-service-account