创建一个服务账号,并将其设置为与 Security Command Center 客户端库配合使用。
准备工作
如需完成本指南,您需要以下各项:
- Service Account Admin IAM 角色。如需详细了解 Security Command Center IAM 角色,请参阅访问权限控制。
- 可以存储服务账号私钥的现有目录路径。此路径位于 Cloud Shell 环境的上下文中,例如
/home/myuser/mykeys/
。 - Security Command Center 的激活级别:项目级别或组织级别。用于设置 SDK 访问权限的某些命令因激活级别而异。如需检查您的激活级别,请参阅查看 Security Command Center 的激活级别。
访问 Security Command Center
如需以编程方式访问 Security Command Center,请使用 Cloud Shell 获取客户端库并对服务账号进行身份验证。
设置环境变量
- 转到 Google Cloud Console。
转到 Google Cloud Console - 点击激活 Cloud Shell。
通过运行以下命令设置环境变量:
设置您的组织名称:
export ORG_ID=ORGANIZATION_ID
将
ORGANIZATION_ID
替换为您的组织的 ID。设置项目 ID。
export PROJECT_ID=CLOUD_SCC_ENABLED_PROJECT_ID
将
CLOUD_SCC_ENABLED_PROJECT_ID
替换为 Security Command Center 在项目级别处于活跃状态或已启用扫描的项目的 ID。设置要用于新服务账号的自定义 ID,如
scc-sa
。服务账号名称的长度必须介于 6 到 30 个字符之间、必须以字母开头,且必须全部为小写字母数字字符和连字符:export SERVICE_ACCOUNT=CUSTOM_ID
将
CUSTOM_ID
替换为您选择的 ID。设置应存储服务账号密钥的路径,例如
export KEY_LOCATION=/home/$USER/mykeys/$SERVICE_ACCOUNT.json
:export KEY_LOCATION=FULL_PATH # This is used by client libraries to find the key export GOOGLE_APPLICATION_CREDENTIALS=$KEY_LOCATION
设置服务账号
如需以编程方式访问 Security Command Center,您需要来自服务账号的私钥,以便客户端使用。
您还需要向服务帐号授予 securitycenter.admin
IAM 角色。根据服务帐号所需的访问权限级别,您可以在项目、文件夹或组织级别授予该角色。
创建与您的项目 ID 关联的服务账号:
gcloud iam service-accounts create $SERVICE_ACCOUNT \ --display-name "Service Account for USER" \ --project $PROJECT_ID
将
USER
替换为将使用服务帐号的个人或实体的用户名。创建密钥以与服务账号关联。该密钥在服务帐号的生命周期内使用,并永久存储在您分配给
KEY_LOCATION
的路径中。gcloud iam service-accounts keys create $KEY_LOCATION \ --iam-account $SERVICE_ACCOUNT@$PROJECT_ID.iam.gserviceaccount.com
根据 Security Command Center 的激活级别,向服务帐号授予组织或项目的
securitycenter.admin
角色。对于组织级激活:
gcloud organizations add-iam-policy-binding $ORG_ID \ --member="serviceAccount:$SERVICE_ACCOUNT@$PROJECT_ID.iam.gserviceaccount.com" \ --role='roles/securitycenter.admin'
对于项目级激活:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:$SERVICE_ACCOUNT@$PROJECT_ID.iam.gserviceaccount.com" \ --role='roles/securitycenter.admin'
为 Security Command Center 安装客户端库
Python
要将 Security Command Center Python 库作为依赖项包含在项目中,请按照以下流程操作:
可选:在安装 Python 库之前,建议您使用 Virtualenv 来创建独立的 Python 环境。
virtualenv onboarding_example source onboarding_example/bin/activate
安装 pip 以管理 Python 库安装。
运行以下命令以安装 Python 库:
pip install google-cloud-securitycenter
Java
要将 Security Command Center Java 库作为依赖项添加到项目中,请从 Maven 代码库中选择一个工件。
Go
如需下载 Go 库,请运行以下命令:
go get cloud.google.com/go/securitycenter/apiv1
Node.js
如需安装 Node.js 库,请运行以下命令:
npm install --save @google-cloud/security-center
后续步骤
使用 SDK
查看有关 Security Command Center 支持的所有功能的指南:
SDK 参考
请参阅完整的 SDK 参考文档: