GCP: Access Context Manager
Access Context Manager を管理するための Cloud IAM の役割 | Access Context Manager | Google Cloud
CLI
必要な権限
- Access Context Manager 管理者(roles/accesscontextmanager.policyAdmin)
- Access Context Manager 編集者(roles/accesscontextmanager.policyEditor)
- Access Context Manager リーダー(roles/accesscontextmanager.policyReader)
アクセスポリシーを作成する
ORGANIZATION_ID="xxxxxxxx"
POLICY_TITLE="my-policy"
gcloud access-context-manager policies create \
--organization $ORGANIZATION_ID --title $POLICY_TITLE
アクセスポリシーを取得する
ORGANIZATION_ID="xxxxxxxx"
gcloud access-context-manager policies list \
--organization $ORGANIZATION_ID
アクセスポリシー ID を取得する
gcloud access-context-manager policies list \
--organization ORGANIZATION_ID
組織 ID を取得する
gcloud organizations list
Ref:
組織を作成、管理する | Resource Manager のドキュメント | Google Cloud
アクセスレベルを作成する(サービスアカウントによる制限)
NAME="my_access_level"
TITLE="サービスアカウント制約"
POLICY_NAME="415017788368"
gcloud access-context-manager levels create $NAME \
--title $TITLE \
--basic-level-spec CONDITIONS.yaml \
--combine-function=OR \
--policy=$POLICY_NAME
CONDITIONS.yaml
として作成する。
- members:
- user:sysadmin@example.com
- serviceAccount:service@project.iam.gserviceaccount.com
Ref:
アクセスレベルの作成 | Access Context Manager | Google Cloud
ロギング
https://cloud.google.com/logging/docs/audit/?hl=ja#viewing_audit_logs
監査ロギング | VPC Service Controls | Google Cloud
FAQ
bq load
できない
VPC Service Controls 配下の BigQuery に対してもともと存在するテーブルに対してのbq load
は拒否される。
テーブル作成とインポートを同時にやれば許可される。
# NG
bq mk --table $PROJECT_ID:$DATA_SET.$TABLE_ID schema.json
bq load --source_format=NEWLINE_DELIMITED_JSON $DATA_SET.$TABLE_ID data.json
# OK
bq load --source_format=NEWLINE_DELIMITED_JSON $DATA_SET.$TABLE_ID schema.json