이 페이지에서는 기존 버킷에서 버킷 IP 필터링 규칙을 만들거나 업데이트하는 방법을 설명합니다.
필요한 역할
버킷에서 IP 필터링 규칙을 업데이트하는 데 필요한 권한을 얻으려면 관리자에게 버킷에 대해 스토리지 관리자(roles/storage.admin) 역할을 부여해 달라고 요청하세요. 이 역할에는 버킷 IP 필터링 규칙을 업데이트하는 데 필요한 권한이 포함되어 있습니다.
필요한 정확한 권한을 보려면 필요한 권한 섹션을 확장하세요.
필수 권한
- storage.buckets.update
- storage.buckets.setIpFilter
커스텀 역할로도 이러한 권한을 얻을 수 있습니다. 다른 사전 정의된 역할을 사용해서도 이러한 권한을 얻을 수 있습니다. 어떤 역할이 어떤 권한과 연결되어 있는지 확인하려면 Cloud Storage에 대한 IAM 역할을 참조하세요.
프로젝트에 역할을 부여하는 방법은 버킷에 IAM 정책 설정 및 관리를 참고하세요.
기존 버킷에서 IP 필터링 규칙 만들기 또는 업데이트
gcloud
- Google Cloud CLI 버전 526.0.0 이상이 설치되었는지 확인합니다. - gcloud version | head -n1
- 이전 gcloud CLI 버전이 설치되어 있는 경우 버전을 업데이트합니다. - gcloud components update --version=526.0.0
- 들어오는 요청에 대해 규칙을 정의하는 JSON 파일을 만듭니다. 버킷 IP 필터링 규칙을 만드는 방법과 예시는 버킷 IP 필터링 구성을 참조하세요. - { "mode":"MODE", "publicNetworkSource":{ "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "vpcNetworkSources":[ { "network":"projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "..." ], "allowCrossOrgVpcs": ALLOW_CROSS_ORG_VPCS, "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS } - 각 항목의 의미는 다음과 같습니다. - MODE는 버킷 IP 필터링 구성의 모드입니다. 유효한 값은- Enabled,- Disabled입니다.- Enabled로 설정하면 IP 필터링 규칙이 버킷에 적용됩니다. 버킷에 들어오는 모든 요청은 이러한 규칙에 따라 평가됩니다.- Disabled로 설정되었으면 들어오는 모든 요청이 버킷에 액세스하도록 허용됩니다.
- RANGE_CIDR은 버킷 액세스가 허용된 공용 네트워크 IPv4 또는 IPv6 주소 범위입니다. 주소 범위를 하나만 입력하거나 여러 개를 목록으로 입력할 수 있습니다.
- PROJECT_ID는 가상 프라이빗 클라우드(VPC) 네트워크가 속한 프로젝트 ID입니다. 여러 VPC 네트워크를 구성하려면 각 네트워크가 속한 프로젝트를 지정해야 합니다.
- NETWORK_NAME은 버킷 액세스가 허용된 VPC 네트워크의 이름입니다. 여러 VPC 네트워크를 구성하려면 각 네트워크의 이름을 지정해야 합니다.
- ALLOW_CROSS_ORG_VPCS는- vpcNetworkSources에 정의된 VPC 네트워크가 다른 조직에서 시작되도록 허용할지 여부를 나타내는 불리언 값입니다. 이 필드는 선택사항입니다.- true로 설정하면 요청이 조직 간 VPC 네트워크를 허용합니다.- false로 설정하면 요청이 VPC 네트워크를 버킷과 동일한 조직으로 제한합니다. 지정되지 않은 경우 기본값은- false입니다. 이 필드는- vpcNetworkSources가 비어 있지 않은 경우에만 적용됩니다.
- ALLOW_ALL_SERVICE_AGENT_ACCESS는 IP 필터 구성과 관계없이 서비스 에이전트가 버킷에 액세스하도록 허용할지 여부를 나타내는 불리언 값입니다. 값이- true인 경우 다른 Google Cloud 서비스는 서비스 에이전트를 사용하여 IP 기반 검증 없이 버킷에 액세스할 수 있습니다.
 
- 버킷 IP 필터링 규칙을 업데이트하려면 개발 환경에서 - gcloud alpha storage buckets update명령어를 실행합니다.- gcloud alpha storage buckets update gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE - 각 항목의 의미는 다음과 같습니다. - BUCKET_NAME은 버킷의 이름입니다. 예를 들면- my-bucket입니다.
- IP_FILTER_CONFIG_FILE은 이전 단계에서 만든 JSON 파일입니다.
 
REST API
JSON API
- Authorization헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.
- 버킷에 대한 설정이 포함된 JSON 파일을 만듭니다. 여기에는 버킷에 대한 - name및- ipFilter구성 필드가 포함되어야 합니다. 버킷 IP 필터링 규칙을 만드는 방법과 예시는 버킷 IP 필터링 구성을 참조하세요.- { "ipFilter":{ "mode":"MODE", "publicNetworkSource":{ "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "vpcNetworkSources":[ { "network":"projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "..." ], "allowCrossOrgVpcs": ALLOW_CROSS_ORG_VPCS, "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS } } - 각 항목의 의미는 다음과 같습니다. - MODE는 IP 필터 구성의 상태입니다. 유효한 값은- Enabled및- Disabled입니다.- Enabled로 설정하면 IP 필터링 규칙이 버킷에 적용되고 버킷에 대해 들어오는 모든 요청이 이러한 규칙에 따라 평가됩니다.- Disabled로 설정하면 들어오는 모든 요청이 버킷 및 해당 데이터에 액세스할 수 있습니다.
- RANGE_CIDR은 버킷 액세스가 허용된 공용 네트워크 IPv4 또는 IPv6 주소 범위입니다. 주소 범위를 하나만 입력하거나 여러 개를 목록으로 입력할 수 있습니다.
- PROJECT_ID는 VPC 네트워크가 속한 프로젝트 ID입니다. 여러 VPC 네트워크를 구성하려면 각 네트워크가 속한 프로젝트를 지정해야 합니다.
- NETWORK_NAME은 버킷 액세스가 허용된 VPC 네트워크의 이름입니다. 여러 VPC 네트워크를 구성하려면 각 네트워크의 이름을 지정해야 합니다.
- ALLOW_ALL_SERVICE_AGENT_ACCESS는 IP 필터 구성과 관계없이 서비스 에이전트가 버킷에 액세스하도록 허용할지 여부를 나타내는 불리언 값입니다. 값이- true인 경우 다른 Google Cloud 서비스는 서비스 에이전트를 사용하여 IP 기반 검증 없이 버킷에 액세스할 수 있습니다.
- ALLOW_CROSS_ORG_VPCS는- vpcNetworkSources목록에 정의된 VPC 네트워크가 다른 조직에서 시작되도록 허용할지 여부를 나타내는 불리언 값입니다. 이 필드는 선택사항입니다.- true로 설정하면 요청이 조직 간 VPC 네트워크를 허용합니다.- false로 설정하면 요청이 VPC 네트워크를 버킷과 동일한 조직으로 제한합니다. 지정되지 않은 경우 기본값은- false입니다. 이 필드는- vpcNetworkSources가 비어 있지 않은 경우에만 적용됩니다.
 
- cURL을 사용하여 PATCH 버킷 요청으로 JSON API를 호출합니다.- curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?project=PROJECT_IDENTIFIER" - 각 항목의 의미는 다음과 같습니다. - JSON_FILE_NAME은 이전 단계에서 만든 JSON 파일의 이름입니다.
- BUCKET_NAME은 버킷의 이름입니다.
- PROJECT_IDENTIFIER는 버킷이 연결된 프로젝트의 ID 또는 번호입니다. 예를 들면- my-project입니다.
 
다음 단계
직접 사용해 보기
Google Cloud를 처음 사용하는 경우 계정을 만들어 실제 시나리오에서 Cloud Storage의 성능을 평가할 수 있습니다. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
Cloud Storage 무료로 사용해 보기