#はじめに
Access Context Managerは、他のGCPのサービスと組み合わせて細かなアクセス制御を行う事ができるサービスです。組み合わせるサービスによってサポートされていなアクセスレベルもあるため整理してみます。
Access Context Managerと組み合わせることができるサービスは、HTTPS用のIdentity-Aware Proxy(≒Context-aware access)、VPC Service ControlでAccess levelが定義できます。
定義できるAccess levelの種類は以下になります。
- IP Subnetworks
- Regions
- Device Policy
- Access Level Dependency
- Member
Identity-Aware Proxy(IAP)のAccess levelの定義方法は、IAM Conditionsの設定時に以下の様な形式で設定します。
VPC Service Controlは、Ingress Policyとして設定します。
#結論
一部だけしか実機確認できてませんが、✔がついているものは確認しました。残りはまた今度。
#実機確認
##③IAP HTTPS * Device policy
"accessPolicies/663588214084/accessLevels/device" in
request.auth.access_levels
##⑥VPC Service Control * IP Subnetworks
X.X.X.156からアクセス
成功
$ gsutil ls
gs://test-dafakslefgajlke/
失敗
$ gsutil ls
AccessDeniedException: 403 Request is prohibited by organization's policy. vpcServiceControlsUniqueIdentifier: 37a1883ec1a3d73c
##⑩VPC Service Control * Member
成功
#-> member
$ gsutil ls
gs://test-dafakslefgajlke/
失敗
#-> not member
$ gsutil ls
AccessDeniedException: 403 Request is prohibited by organization's policy. vpcServiceControlsUniqueIdentifier: 15c946a79f0fc64e
##⑦VPC Service Control * Region
Japan
成功
$ gsutil ls
gs://test-dafakslefgajlke/
失敗
$ gsutil ls
AccessDeniedException: 403 Request is prohibited by organization's policy. vpcServiceControlsUniqueIdentifier: 37a1883ec1a3d73c