컨텍스트 인식 액세스 인그레스 규칙을 설정하면 네트워크 원본(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 네트워크 제한사항을 참조하세요.