컨텍스트 인식 액세스 인그레스 규칙을 설정하면 네트워크 원본(IP 주소 또는 VPC 네트워크), ID 유형(서비스 계정 또는 사용자), ID, 기기 데이터와 같은 클라이언트 속성을 기반으로 리소스에 액세스할 수 있습니다. 액세스는 인그레스 규칙으로 정의됩니다.
인그레스 규칙과 이그레스 규칙에 대한 개요는 인그레스 및 이그레스 규칙을 참조하세요.
인그레스 및 이그레스 규칙 정책을 적용하는 방법은 인그레스 및 이그레스 정책 구성을 참조하세요.
컨텍스트 인식 액세스 사용 사례의 구성 예시
이 섹션에서는 컨텍스트 인식 액세스의 다음과 같은 예시를 제공합니다.
- 인간 사용자가 인터넷에서 BigQuery에 액세스하고 지정된 IP 범위의 특정 서비스 계정에만 액세스할 수 있도록 허용
- 직원이 인터넷과 특정 서비스 계정을 통해 신뢰할 수 있는 기기에서 BigQuery를 쿼리하여 Cloud Storage 버킷에 데이터(소스 데이터)를 안전하게 로드할 수 있도록 허용
인간 사용자가 인터넷에서 BigQuery에 액세스하고 지정된 IP 범위의 특정 서비스 계정에만 액세스할 수 있도록 허용

gcloud로 경계를 나열하여 찾은 다음과 같은 경계를 정의했다고 가정하겠습니다.
name: accessPolicies/222/servicePerimeters/Example
status:
resources:
- projects/111
restrictedServices:
- bigquery.googleapis.com
- storage.googleapis.com
vpcAccessibleServices:
enableRestriction: true
allowedServices:
- RESTRICTED_SERVICES
title: Example
또한 CorpDatacenters라는 이름의 액세스 수준이 정의되었다고 가정합니다. 이 예시의 CorpDatacenters는 서비스 계정이 액세스할 수 있는 기업 데이터 센터의 허용된 IP 범위입니다.
다음은 (액세스 수준에서 정의된) 특정 IP 집합으로 제한된 모든 인간 사용자 및 특정 서비스 계정 집합을 허용하는 방향성 정책입니다.
echo """
- ingressFrom:
identities:
- serviceAccount:my-sa@my-project.iam.gserviceaccount.com
sources:
- accessLevel: accessPolicies/222/accessLevels/CorpDatacenters
ingressTo:
operations:
- serviceName: bigquery.googleapis.com
methodSelectors:
- method: \"*\"
resources:
- \"*\"
- ingressFrom:
identityType: ANY_USER_ACCOUNT
sources:
- accessLevel: \"*\"
ingressTo:
operations:
- serviceName: bigquery.googleapis.com
methodSelectors:
- method: \"*\"
resources:
- \"*\"
""" > ingress.yaml
다음 명령어를 실행하여 인그레스 규칙을 적용합니다.
gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml
직원이 BigQuery를 쿼리하고 Cloud Storage 버킷에 데이터를 비공개로 로드할 수 있도록 허용

gcloud로 경계를 나열하여 찾은 다음과 같은 경계를 정의했다고 가정하겠습니다.
name: accessPolicies/222/servicePerimeters/Example
status:
resources:
- projects/111
restrictedServices:
- bigquery.googleapis.com
- storage.googleapis.com
vpcAccessibleServices:
enableRestriction: true
allowedServices:
- RESTRICTED_SERVICES
title: Example
다음은 (액세스 수준을 사용하여) 인간 사용자가 신뢰할 수 있는 기기에서 BigQuery 뷰에 액세스할 수 있도록 허용하고 특정 서비스 계정만 승인된 VPC 네트워크에서 Cloud Storage에 액세스할 수 있도록 허용하는 방향성 정책입니다.
echo """
- ingressFrom:
identities:
- serviceAccount:my-sa@my-project.iam.gserviceaccount.com
sources:
- resource: projects/111
ingressTo:
operations:
- serviceName: storage.googleapis.com
methodSelectors:
- method: google.storage.Write
- method: google.storage.objects.create
resources:
- \"*\"
- ingressFrom:
identityType: ANY_SERVICE_ACCOUNT
sources:
- resource: //compute.googleapis.com/projects/my-network-project/global/networks/top-tier-vpc-network
ingressTo:
operations:
- serviceName: storage.googleapis.com
methodSelectors:
- method: google.storage.Write
- method: google.storage.objects.create
resources:
- \"*\"
- ingressFrom:
identityType: ANY_USER_ACCOUNT
sources:
- accessLevel: accessPolicies/222/accessLevels/TrustedDevices
ingressTo:
operations:
- serviceName: bigquery.googleapis.com
methodSelectors:
- permission: bigquery.tables.getData
resources:
- \"*\"
""" > ingress.yaml
다음 명령어를 실행하여 인그레스 규칙을 적용합니다.
gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml
서비스 경계에서 VPC 네트워크를 사용할 때의 VPC 네트워크 제한사항에 대한 자세한 내용은 VPC 네트워크 제한사항을 참조하세요.