- CoreWeave가 발급하는 샌드박스별 토큰을 조직의 임시 자격 증명으로 교환할 수 있도록 CoreWeave 조직에 OIDC 공급자(워크로드 아이덴티티 제휴 설정)를 설정합니다.
- 연동된 ID에 FSS가 필요로 하는 범위의 액세스 권한을 부여하는 버킷 정책을 버킷에 설정합니다.
- 한 번의 API 호출로 CoreWeave에 버킷을 등록합니다.
시작하기 전에 사용할 버킷을 생성하세요. 이 가이드에서는 버킷 생성을 다루지 않습니다. 버킷 생성을 참조하세요.
FSS가 버킷을 사용하는 방식
CoreWeave에 정적 액세스 키를 전달할 필요가 없습니다. 대신 샌드박스가 스냅샷을 생성하거나 복원할 때마다 다음 과정이 진행됩니다.- CoreWeave는 해당 샌드박스용으로 수명이 짧은 OIDC JWT를 발급합니다. 이 토큰은
https://oidc.cwsandbox.com에서 발급되며, 대상은cw-credential-vendor이고, 조직, 사용자, 버킷 및 샌드박스가 액세스할 수 있는 정확한 객체를 파악할 수 있는 클레임을 포함합니다. - 샌드박스 내부에서 AWS SDK는 Workload Identity Federation을 통해 해당 토큰을 버킷으로 범위가 제한된 임시 S3 자격 증명으로 교환하고, 이를 자동으로 교체합니다.
- 버킷 정책은 해당 제휴 ID에 권한을 부여합니다. 액세스를 사용자별 접두사와 해당 조직으로만 제한합니다.
필요한 값
시작하기 전에 다음 값을 준비하세요. 고정으로 표시된 값은 모든 고객에게 동일하며, 나머지 값은 고객마다 다릅니다.조직 ID는 아래 정책에서 보안 주체 ARN, 각
oidc:[ORG-ID]:... condition key, 그리고 org_id 조건과 비교되는 값 등 나타나는 모든 위치에서 동일한 값을 사용합니다.1단계: OIDC 공급자 등록
CoreWeave Cloud Console에서 Workload Identity Federation OIDC 페이지로 이동하세요:
이 설정은 조직이 CoreWeave에서 샌드박스용으로 발급하는 토큰을 신뢰하도록 합니다. 이 설정이 없으면 FSS의 버킷 사용 방식에 설명된 자격 증명 교환이 버킷 정책을 평가하기 전에 실패합니다.
OIDC Workload Identity Federation과 Cloud Console 설정의 작동 방식에 대한 배경 정보는 OIDC로 Workload Identity Federation 사용을 참조하세요.
2단계: 버킷 정책 연결
다음 정책을 버킷에 연결하세요. CoreWeave가 관리형 FSS 버킷에 적용하는 정책과 동일하며, 조직 ID로 매개변수화되어 있습니다. 자리표시자를 교체하세요:[BUCKET-NAME]을 버킷 이름으로 교체하세요.[ORG-ID]를 나타나는 모든 곳에서 6자리 조직 ID로 교체하세요.
각 문이 하는 일
- **
OIDCFederatedScopedAccess**는 스냅샷 작업을 위한 조회 및 쓰기 권한입니다. 이는 사용자별 접두사${oidc:[ORG-ID]:user_hash}/*로 범위가 지정됩니다. 주어진 사용자의 토큰은 자신의 해시된 접두사 아래의 키만 확인할 수 있으므로, 조직의 사용자는 서로의 스냅샷을 덮어쓸 수 없습니다.bucket_name조건은 다른 버킷용으로 발급된 토큰이 여기서 사용되는 것을 방지합니다. - **
OIDCFederatedRestoreObjectScope**는 복원이 읽고 있는 정확한 객체에 대한 제한된GetObject권한입니다.${oidc:[ORG-ID]:restore_object_key}입니다. 이를 통해 한 샌드박스가 조직의 다른 사용자가 생성한 스냅샷을 복원할 수 있으며, 사용자별 쓰기 범위 지정은 여전히 유지됩니다. - **
DenyCrossOrg**는 심층 방어입니다. 토큰의org_id클레임이 조직이 아닌 경우 모든 것을 거부하므로, 유출되거나 잘못 라우팅된 토큰도 버킷에 액세스할 수 없습니다.
조건 키는 CoreWeave AI Object Storage가 평가하는
oidc:[ORG-ID]:[CLAIM] 형식을 사용합니다. CoreWeave는 샌드박스의 토큰에서 요청 시 ${oidc:[ORG-ID]:user_hash} 및 ${oidc:[ORG-ID]:restore_object_key} 변수를 채웁니다. 이를 대체하지 마십시오. 그대로 두십시오. 내부의 [ORG-ID]만 입력하면 됩니다.3단계: CoreWeave에 버킷 등록
조직의 FSS 버킷 설정을 지정하여 CoreWeave가 사용자의 버킷을 사용하도록 하세요. 이 작업은 조직의 설정 전체를 교체하는 단일PUT 요청입니다.
api.cwsandbox.com은 표준 샌드박스 API 호스트이며, 데이터 플레인이 샌드박스 시작 등 다른 Call에 사용하는 호스트와 동일합니다.- 이 호출에는 Access Policies 페이지에서 부여하는
SANDBOX_ADMINIAM 액션이 필요합니다. 버킷을 변경하면 이후 생성되는 모든 스냅샷의 저장 위치가 달라지므로 관리자만 사용할 수 있습니다. 버킷 변경 또는 되돌리기를 참조하세요. bucketName과region은 둘 다 필수입니다. 둘 중 하나만 전송하면CWSANDBOX_INVALID_REQUEST로 거부됩니다.
Example output
4단계: 확인
실제 샌드박스에서 스냅샷 생성 및 복원 과정을 실행하세요:-
새 파일 시스템으로 샌드박스를 시작하세요:
-
/work아래에 파일을 작성한 다음, 샌드박스를 중지하면서 스냅샷을 생성하세요.[SANDBOX-ID]를 시작한 샌드박스의 ID로 바꾸세요. 응답에fileSystemSnapshotId가 반환됩니다: -
스냅샷을 새 샌드박스에 복원하세요.
[SNAPSHOT-ID]를 이전 단계에서 반환된fileSystemSnapshotId로 바꾸세요:
GetFileSystemSnapshot과 ListFileSystemSnapshots가 반환하는 각 FileSystemSnapshot에는 스냅샷이 저장된 버킷을 나타내는 objectBucket 필드가 포함되어 있습니다.
버킷 변경 또는 되돌리기
3단계의PUT은 전체 교체 방식이므로, 설정을 변경하거나 취소할 때도 이 방법을 사용합니다.
- CoreWeave 관리형으로 되돌리기: 빈 본문(
{})으로PUT을 요청하세요. CoreWeave가 자동으로 버킷 관리를 재개합니다. - 다른 버킷으로 이동: 새
bucketName과region으로PUT을 요청하세요.
문제 해결
샌드박스에 허용 목록 기반 이그레스만 허용하는 정책이 적용되어 있는 경우, CoreWeave 자격 증명 엔드포인트(
https://api.coreweave.com)에 연결할 수 있는지 확인하세요. 그렇지 않으면 자격 증명 조회 시간이 초과되어 첫 번째 S3 오퍼레이션이 실패합니다.
레퍼런스
다음 섹션에서는 버킷 이름 규칙, 정책이 부여하는 S3 액션, 그리고 정책이 참조하는 토큰 클레임을 설명합니다.버킷 이름 규칙
3단계에서 버킷을 등록하면 CoreWeave가 표준 객체 저장소 규칙에 따라 이름을 검증합니다.Bucket naming rules
Bucket naming rules
Bucket names must be globally unique and adhere to the following rules:
- Length: 3 to 63 characters.
- Characters: Only lowercase letters (
a-z), numbers (0-9), and hyphens (-). No dots, uppercase letters, underscores, spaces, or other special characters. - Start and end: Must begin and end with a letter or number. Cannot start or end with a hyphen (
-). - Prohibited patterns: Cannot start with
xn--. - Reserved: Must not begin with
cw-,vip-, orlog-stitcher-ch-. Must not be the exact nameint. CoreWeave reserves these for internal use.
region은 CoreWeave Availability Zone(예: US-EAST-01A)이며, 버킷이 위치한 영역과 일치해야 합니다. 전체 영역 목록은 모든 Availability Zone을 참조하세요.
S3 액션 부여
정책은 FSS에 필요한 액션만 정확히 부여하며 그 이상은 부여하지 않습니다:s3:GetObject, s3:PutObject, s3:CreateMultipartUpload, s3:UploadPart, s3:CompleteMultipartUpload, s3:AbortMultipartUpload, s3:ListMultipartUploadParts. 쓰기는 멀티파트 업로드를 사용하며, 복원은 GetObject를 사용합니다.
정책에서 사용하는 토큰 클레임
CoreWeave는 이러한 클레임을 각 샌드박스별 토큰에 스탬프합니다. 버킷 정책 조건은 이를oidc:[ORG-ID]:[CLAIM]으로 참조합니다.
관련 리소스
- 파일 시스템 스냅샷: 스냅샷, 복원, 포크의 작동 방식을 설명합니다.
- OIDC로 Workload Identity Federation 사용하기: OIDC 페더레이션과 Cloud Console 설정의 작동 방식을 설명합니다.
- 버킷 생성: 이 가이드에서 이미 있다고 가정하는 버킷을 생성합니다.
- All Availability Zones: 버킷 리전으로 사용할 영역을 확인합니다.
- API 액세스 토큰 관리: 3단계에서 사용할 토큰을 생성합니다.
- IAM Access Policies: 3단계에 필요한
SANDBOX_ADMIN액션을 부여합니다.