리소스 바인딩 생성
특정 VPC에서 특정 Object Storage 버킷에 대한 세분화된 액세스 제어를 활성화하기 위해 리소스 바인딩을 생성할 수 있습니다. 리소스 바인딩 생성은 선택 사항이지만, 이를 통해 DNS 공유 VPC 토폴로지에서 VPE를 통해 액세스 가능한 버킷을 정밀하게 제어하는 보안 그룹 및 컨텍스트 기반 제한(CBR) 규칙을 정의할 수 있습니다.
리소스 바인딩은 하나 이상의 Object Storage 버킷을 VPE(가상 사설 클라우드 엔터티)와 연결하여, 해당 버킷에 대한 CBR(콘텐츠 기반 규칙)과 함께 연결된 VPC에서 발생하는 트래픽만 해당 버킷에 접근할 수 있도록 보장합니다.
시작하기 전에
리소스 바인딩을 생성하기 전에 다음 사항을 검토하십시오:
-
VPC에 대해 기존 DNS 허브 및 DNS 공유 토폴로지가 구성되어 있는지 확인하십시오.
-
DNS 공유 VPC 내의 VPE는 리소스 바인딩을 추가하기 전에 반드시 리소스별 바인딩 모드를 사용하여 Cloud Object Storage 생성되어야 합니다. VPE는 허브 VPC 또는 DNS 공유 VPC에서 생성할 수 있습니다.
-
DNS 공유 VPC에서만 리소스에 Cloud Object Storage 대한 액세스를 허용하려면, DNS 공유 VPC가 해당 Cloud Object Storage 리소스에 명시적으로 액세스할 수 있도록 허용하는 CBR 규칙을 생성해야 합니다.
리소스 바인딩을 생성하기 전에, 그리고 DNS 허브 VPC에서의 액세스를 제한하기 전에 CBR 규칙을 생성해야 합니다.
콘솔에서 리소스 바인딩 생성
콘솔에서 IBM Cloud 서비스에 Cloud Object Storage 대한 리소스 바인딩을 생성하려면 다음 단계를 따르십시오:
-
콘 솔에서 **IBM Cloud 탐색 **
아이콘 > 인프라
> 네트워크 > 가상 사설 엔드포인트 게이트웨이를 클릭합니다.
-
서비스용으로 클라우드 객체 저장소 생성된 VPE 옆에 있는 작업
메뉴를 클릭하십시오.
또는 목록에서 VPE 이름을 클릭한 후 리소스 바인딩 탭을 클릭하여 기존 리소스 바인딩을 생성하거나 관리할 수 있습니다.
이 VPE에 대해 DNS 공유가 기본 모드로 설정된 경우, 리소스 바인딩 탭이 표시되지 않습니다. 이 모드에서는 리소스 바인딩을 생성할 수 없기 때문입니다.
-
메뉴에서 '리소스 바인딩 생성'을 선택하십시오.
-
리소스 바인딩 이름 접두사를 입력하십시오.
- 시스템은 접두사에 자동으로 숫자를 추가합니다(예:
vpe-gtw-resource-01,vpe-gtw-resource-02). - 한 번에 최대 10개의 버킷을 추가할 수 있습니다.
- 시스템은 접두사에 자동으로 숫자를 추가합니다(예:
-
동일 계정 내 선택 보기에서 인스턴스와 하나 Object Storage 이상의 Object Storage 버킷 위치를 선택하거나, 수동으로 추가하려면 CRN 입력을 클릭하십시오.
-
목록에서 Object Storage 버킷을 선택합니다. 그런 다음 설정을 검토하고 저장을 클릭하세요.
리소스 바인딩이 생성된 후, 지정된 Cloud Object Storage 버킷의 트래픽은 DNS 공유 VPC 내 해당 테넌트 격리 VPE를 통해 외부로 전송됩니다.
언제든지 바인딩을 수정하거나 제거하여 접근 권한을 조정할 수 있습니다.
명령줄 인터페이스(CLI)에서 리소스 바인딩 생성
CLI에서 서비스에 Cloud Object Storage 대한 리소스 바인딩을 생성하려면 다음 단계를 따르십시오:
-
CLI 환경을 설정하십시오.
-
CLI로 계정에 로그인합니다. 비밀번호를 입력하면 시스템이 사용할 계정 및 지역에 대한 프롬프트를 표시합니다.
ibmcloud login --sso
DNS 리소스 바인딩을 만들려면 다음 명령을 입력합니다:
ibmcloud is endpoint-gateway-resource-binding-create ENDPOINT_GATEWAY --name NAME --target CRN
여기서:
ENDPOINT_GATEWAY- 이 리소스를 바인딩할 VPE의 이름입니다.
-name NAME- 이 DNS 리소스 바인딩의 이름입니다.
--target CRN- 버킷의 Object Storage CRN입니다.
명령 예제
엔드포인트 게이트웨이에 my-resource-binding 리소스 cli-egw-1 바인딩을 생성하려면:
ibmcloud is endpoint-gateway-resource-binding-create cli-egw-1 --name my-resource-binding --target crn:v1:bluemix:public:cloud-object-storage:global:a/a1234567:504bde7e-28c0-447f-8f75-484c55b5f222:bucket:test-cli
API를 사용한 리소스 바인딩 생성
API를 Cloud Object Storage 사용하여 리소스 바인딩을 생성하려면 다음 단계를 따르십시오:
-
API 환경을 설정하십시오.
-
DNS 리소스 바인딩을 생성하려면:
curl -X POST \ "__ENDPOINT__/__BASE_PATH__/endpoint_gateways/$endpoint_gateway_id/resource_bindings?__QUERY__" \ __AUTHORIZATION__ \ -d '{ "name": "my-resource-binding", "target": { "crn":"crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue" } }'
테라폼을 사용한 리소스 바인딩 생성
테라폼을 사용하려면 테라폼 CLI를 다운로드하고 제공자 IBM Cloud 플러그인을 구성하십시오. 자세한 내용은 Terraform 시작하기를 참조하십시오.
VPC 인프라 서비스는 기본적으로 us-south 를 대상으로 하는 지역별 특정 엔드포인트를 사용합니다. VPC가 다른 리전에 생성된 경우, 파일의 provider.tf 제공자 블록에서 적절한 리전을 대상으로 지정해야 합니다.
기본값 이외의 지역을 대상으로 하는 us-south 다음 예시를 참조하십시오.
provider "ibm" {
region = "eu-de"
}
Terraform을 사용하여 서비스에 Cloud Object Storage 대한 리소스 바인딩을 생성하려면:
resource "ibm_is_virtual_endpoint_gateway" "iam_vpe" {
name = "${var.name}-vpe-iam"
vpc = ibm_is_vpc.testacc_vpc.id
target {
resource_type = var.vpe_target_type
crn = var.vpe_target_crn
}
dns_resolution_binding_mode = "disabled"
}
resource "ibm_is_virtual_endpoint_gateway_resource_binding" "iam_vpe_rb" {
name = "${var.name}-vpe-rb"
endpoint_gateway_id = ibm_is_virtual_endpoint_gateway.iam_vpe.id
target {
crn = var.vpe_rb_target
}
}
data "ibm_is_virtual_endpoint_gateway" "iam_vpe" {
name = ibm_is_virtual_endpoint_gateway.iam_vpe.name
}
data "ibm_is_virtual_endpoint_gateways" "all" {}
data "ibm_is_virtual_endpoint_gateway_resource_bindings" "iam_vpe_rbs" {
endpoint_gateway_id = ibm_is_virtual_endpoint_gateway.iam_vpe.id
}
data "ibm_is_virtual_endpoint_gateway_resource_binding" "iam_vpe_rb" {
endpoint_gateway_id = ibm_is_virtual_endpoint_gateway.iam_vpe.id
endpoint_gateway_resource_binding_id = ibm_is_virtual_endpoint_gateway_resource_binding.iam_vpe_rb.endpoint_gateway_resource_binding_id
}