스토리지 버킷(Storage buckets)

스토리지 버킷(Storage buckets)

스토리지 버킷은 세션 녹화(session recordings)를 외부 객체 저장소에 저장해요. 스토리지 버킷의 이름은 선택 사항이지만, 정의한다면 고유해야 해요. 스토리지 버킷은 0개에서 많은 대상(targets)과 연관될 수 있어요.

스토리지 버킷은 Global 스코프 또는 Org 스코프에 존재해요.

  • Global 스코프의 스토리지 버킷은 어떤 대상과도 연관될 수 있어요.
  • Org 스코프의 스토리지 버킷은 같은 Org 스코프의 프로젝트에 있는 대상과만 연관될 수 있어요. Boundary는 Org가 삭제될 때 그 Org 스코프와 연관된 모든 스토리지 버킷을 삭제해요.

Boundary에서 스토리지 버킷을 삭제해도 외부 객체 저장소의 버킷이나 그 녹화는 삭제되지 않아요. 스토리지 버킷의 수명 주기는 외부 객체 저장소 버킷이나 그 내용물에 영향을 주지 않아요. 스토리지 버킷을 삭제하면 Boundary는 연관된 세션 녹화 메타데이터도 삭제해요.

스토리지 버킷은 Amazon S3, MinIO, 일부 S3 호환 클라우드 벤더에 구성할 수 있어요.

출처: HashiCorp Boundary docs

본문

스토리지 버킷은 세션 녹화를 외부 객체 저장소에 저장해요. 스토리지 버킷의 이름은 선택 사항이지만, 정의한다면 고유해야 해요. 스토리지 버킷은 0개에서 많은 대상과 연관될 수 있어요.

스토리지 버킷은 Global 스코프 또는 Org 스코프에 존재해요.

  • Global 스코프의 스토리지 버킷은 어떤 대상과도 연관될 수 있어요.
  • Org 스코프의 스토리지 버킷은 같은 Org 스코프의 프로젝트에 있는 대상과만 연관될 수 있어요. Boundary는 Org가 삭제될 때 그 Org 스코프와 연관된 모든 스토리지 버킷을 삭제해요.

Boundary에서 스토리지 버킷을 삭제해도 외부 객체 저장소의 버킷이나 그 녹화는 삭제되지 않아요. 스토리지 버킷의 수명 주기는 외부 객체 저장소 버킷이나 그 내용물에 영향을 주지 않아요. 스토리지 버킷을 삭제하면 Boundary는 연관된 세션 녹화 메타데이터도 삭제해요.

스토리지 버킷은 Amazon S3, MinIO, 일부 S3 호환 클라우드 벤더에 구성할 수 있어요.

속성(Attributes)

스토리지 버킷은 다음의 구성 가능한 속성을 가져요.

  • name — (선택) Boundary의 리소스 이름이에요. 이름은 선택이지만 설정한다면 스코프 ID 안에서 고유해야 해요.
  • description — (선택) 리소스에 대한 설명이에요.
  • bucket_name — (필수) 외부 객체 저장소의 버킷 이름이에요.
  • bucket_prefix — (선택) 외부 객체 저장소에 저장되는 데이터를 구성하는 데 사용하는 접두사예요.
  • plugin_name — (필수) 플러그인 이름은 설치된 플러그인을 참조해야 해요.
  • worker_filter — (필수) 스토리지 버킷에 대한 요청을 처리할 수 있는 워커를 식별하는 필터예요.
  • attributes — (선택) 플러그인이 백킹 서비스와 인터페이스하기 위해 사용하는 필드 모음이에요.
  • secrets — (선택) 자격 증명처럼 플러그인이 백킹 서비스와 인터페이스하기 위해 사용하는 민감한 필드 모음이에요. 이 필드들은 쓰기 전용(write-only)이에요.

AWS S3 속성과 시크릿

AWS S3에서 스토리지 버킷은 버킷 이름, 지역(region), 선택적 접두사, 그리고 시크릿 키 같은 버킷에 접근하는 데 필요한 자격 증명을 포함해요.

AWS S3 스토리지 버킷은 정적(static) 또는 동적(dynamic) 자격 증명을 사용할 수 있어요. 액세스 키와 시크릿 키로 정적 자격 증명을, AWS AssumeRole API로 동적 자격 증명을 구성할 수 있어요.

속성

AWS S3 버킷은 다음 속성을 가져요. role_arn, role_external_id, role_session_name, role_tags 속성은 동적 자격 증명을 사용할 때 적용돼요.

  • region — (필수) 스토리지 버킷을 구성할 S3 지역이에요.
  • disable_credential_rotation — (정적 자격 증명에 대해 선택, 동적 자격 증명에 대해 필수) true로 설정하면 자격 증명 순환이 수행되지 않아요. 기본적으로 AWS 플러그인은 자격 증명을 순환해요. disable_credential_rotation 속성은 동적 자격 증명을 사용할 때 필수예요.
  • role_arn — (선택) self-managed 워커가 실행되는 EC2 인스턴스에 연결된 ARN 역할이에요. AWS S3 버킷이 AssumeRole로 동적 자격 증명을 사용하도록 구성된 경우 Role ARN이 필요해요.
  • role_external_id — (선택) AWS 리소스에 대한 서드파티 접근을 위임할 때 필요해요. 자세한 내용은 AWS 문서의 How to use an external ID when granting access to your AWS resources to a third party를 참고하세요.
  • role_session_name — (선택) AWS 세션의 고유 식별자예요. role_external_id 값을 사용해 IAM 주체와 애플리케이션이 IAM 역할을 가정할 때 역할 세션 이름을 지정하는 방식을 제어할 수 있어요. 세션 이름을 사용하면 AWS CloudTrail 로그에서 세션 동작을 추적할 수 있어요. 자세한 내용은 AWS 문서의 Logging IAM and AWS STS API calls with AWS CloudTrail을 참고하세요.
  • role_tags — (선택) IAM 역할을 가정할 때 전달되는 키-값 쌍 속성을 가진 객체예요. 자세한 내용은 AWS 문서의 Passing session tags in AWS STS를 참고하세요.

시크릿

AWS S3 버킷은 다음 시크릿을 가질 수 있어요.

  • access_key_id — (선택) 이 스토리지 버킷과 함께 사용할 IAM 사용자의 액세스 키 ID예요. AWS S3 버킷이 정적 자격 증명을 사용하도록 구성된 경우 액세스 키가 필요해요.
  • secret_access_key — (선택) 이 스토리지 버킷과 함께 사용할 IAM 사용자의 시크릿 액세스 키예요. AWS S3 버킷이 정적 자격 증명을 사용하도록 구성된 경우 시크릿 액세스 키가 필요해요.

MinIO/S3 호환 속성과 시크릿

MinIO 또는 S3 호환 스토리지 버킷은 버킷 이름, 엔드포인트 URL, 선택적 지역, 그리고 액세스 키 ID와 시크릿 액세스 키 같은 버킷에 접근하는 데 필요한 자격 증명을 포함해요.

S3 호환 스토리지 제공자는 MinIO 플러그인을 사용해요. MinIO와 S3 호환 스토리지 버킷 모두에 대해 plugin_name을 minio로 설정하세요.

MinIO 플러그인은 정적 자격 증명만 지원해요. 세션 토큰이 필요한 동적 자격 증명이나 임시 자격 증명은 지원하지 않아요.

속성

MinIO와 S3 호환 버킷은 다음 속성을 가져요.

  • endpoint_url — (필수) MinIO S3 또는 S3 호환 API를 가리키는 정규화된(fully-qualified) 엔드포인트예요. URL은 http:// 또는 https://로 시작해야 해요. 플러그인은 https://로 시작하는 엔드포인트에 TLS를 사용해 연결해요.
  • region — (선택) 스토리지 버킷을 구성할 지역이에요.
  • disable_credential_rotation — (선택) 플러그인이 들어오는 자격 증명을 순환시키고 새 서비스 계정을 관리하는지 제어해요. disable_credential_rotation 속성을 false로 설정하거나 생략하면, 플러그인은 들어오는 자격 증명을 순환시켜 새 서비스 계정을 만든 다음 들어오는 자격 증명을 삭제해요. 자격 증명 순환은 MinIO admin API를 사용하므로, 이를 구현하지 않는 S3 호환 제공자에서는 실패해요. Hitachi Content Platform에는 disable_credential_rotation 속성을 true로 설정해야 해요.

시크릿

MinIO와 S3 호환 버킷은 다음 시크릿을 요구해요.

  • access_key_id — (필수) 이 스토리지 버킷과 함께 사용할 서비스 계정의 액세스 키예요.
  • secret_access_key — (필수) 이 스토리지 버킷과 함께 사용할 서비스 계정의 시크릿 키예요.

참조되는 곳(Referenced by)

  • Session recordings
  • Create a storage bucket

서비스 API 문서

이 리소스와 관련된 서비스는 다음과 같아요.

  • Session recording service