이 페이지에서는 교차 출처 리소스 공유(CORS)에 대한 구성 예시를 보여줍니다. 버킷에 CORS 구성을 설정하면 여러 다른 원본의 리소스 간 상호작용이 허용됩니다. 이는 일반적으로 악의적인 동작을 방지하기 위해 금지된 방식입니다.
기본 CORS 구성
사용자가 your-example-website.appspot.com
에서 액세스할 수 있는 동적 웹사이트가 있다고 가정해 보겠습니다. your-example-bucket
이라는 Cloud Storage 버킷에서 호스팅되는 이미지 파일이 있습니다. 웹사이트에서 이미지를 사용하려는 경우, your-example-bucket
에 CORS 구성을 적용하여 사용자의 브라우저가 버킷에서 리소스를 요청할 수 있도록 해야 합니다. 아래 구성에 따라 프리플라이트 요청은 1시간 동안 유효하고, 브라우저 요청이 성공하면 응답에 리소스의 Content-Type
이 반환됩니다.
명령줄
gcloud 명령어 예시
gcloud storage buckets update gs://example_bucket --cors-file=example_cors_file.json
CORS 구성을 포함하는 JSON 파일 예시
[ { "origin": ["https://your-example-website.appspot.com"], "method": ["GET"], "responseHeader": ["Content-Type"], "maxAgeSeconds": 3600 } ]
Google Cloud CLI를 사용하여 CORS 구성을 설정하는 방법에 대한 자세한 내용은 gcloud storage buckets update
참고 문서를 확인하세요.
REST API
JSON API
{ "cors": [ { "origin": ["https://your-example-website.appspot.com"], "method": ["GET"], "responseHeader": ["Content-Type"], "maxAgeSeconds": 3600 } ] }
일반적인 형식의 CORS 구성 파일은 JSON의 버킷 리소스 표현을 참조하세요.
XML API
<?xml version="1.0" encoding="UTF-8"?> <CorsConfig> <Cors> <Origins> <Origin>https://your-example-website.appspot.com</Origin> </Origins> <Methods> <Method>GET</Method> </Methods> <ResponseHeaders> <ResponseHeader>Content-Type</ResponseHeader> </ResponseHeaders> <MaxAgeSec>3600</MaxAgeSec> </Cors> </CorsConfig>
일반적인 형식의 CORS 구성 파일은 XML용 CORS 구성 형식을 참조하세요.
버킷에서 CORS 설정 삭제
버킷에서 CORS 설정을 삭제하려면 비어 있는 CORS 구성 파일을 제공합니다.
명령줄
gcloud storage buckets update
명령어를 --clear-cors
플래그와 함께 사용할 경우 버킷에서 CORS 구성을 삭제합니다.
gcloud storage buckets update gs://BUCKET_NAME --clear-cors
여기서 BUCKET_NAME은 CORS 구성을 삭제할 버킷의 이름입니다.
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플에서는 버킷에서 모든 기존 CORS 구성을 삭제합니다.
C#
자세한 내용은 Cloud Storage C# API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플에서는 버킷에서 모든 기존 CORS 구성을 삭제합니다.
Go
자세한 내용은 Cloud Storage Go API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플에서는 버킷에서 모든 기존 CORS 구성을 삭제합니다.
Java
자세한 내용은 Cloud Storage Java API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플에서는 버킷에서 모든 기존 CORS 구성을 삭제합니다.
Node.js
자세한 내용은 Cloud Storage Node.js API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플에서는 버킷에서 모든 기존 CORS 구성을 삭제합니다.
PHP
자세한 내용은 Cloud Storage PHP API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플에서는 버킷에서 모든 기존 CORS 구성을 삭제합니다.
Python
자세한 내용은 Cloud Storage Python API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플에서는 버킷에서 모든 기존 CORS 구성을 삭제합니다.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플에서는 버킷에서 모든 기존 CORS 구성을 삭제합니다.
REST API
JSON API
다음 구성이 버킷에 설정된 경우 버킷에서 모든 CORS 설정을 삭제합니다.
{ "cors": [] }
일반적인 형식의 CORS 구성 파일은 JSON의 버킷 리소스 표현을 참조하세요.
XML API
다음 구성이 버킷에 설정된 경우 버킷에서 모든 CORS 설정을 삭제합니다.
<CorsConfig></CorsConfig>
일반적인 형식의 CORS 구성 파일은 XML용 CORS 구성 형식을 참조하세요.
다음 단계
- 교차 출처 리소스 공유(CORS)에 대해 자세히 알아보기
- 버킷의 CORS 구성을 설정하고 확인하기