Assured Open Source Software (Assured OSS) 高级版 Tier可让您增强代码 通过使用 Google 面向其开发者的 OSS 软件包确保安全性 工作流。使用 Assured OSS 时,您的开发者可以利用 Google 在保护自有开源依赖项方面的安全专业知识和经验。
将 Assured OSS 与 Security Command Center 集成后,您可以执行以下操作:
- 从数以千计的精选最热门 Java 和 Python 软件包中进行选择,包括 TensorFlow、Pandas 和 Scikit-learn 等常见的机器学习和人工智能项目。
- 配置安全代理以下载所有 Java、Python 和 JavaScript 带有 Assured OSS 证明的软件包,使 Google 成为 。
- 使用 Assured OSS 中按照行业标准提供的 SBOM 和 VEX 格式,例如 SPDX 和 CycloneDX。
- 增强对所用软件包完整性的信心 通过 Google 的已签名防篡改出处。
- Google 会主动扫描精选软件包,发现并修复其中的新漏洞,从而降低安全风险。
准备工作
请先完成这些任务,然后再完成此页面上的其余任务。
激活 Security Command Center Enterprise 层级
验证 Security Command Center Enterprise 层级在 并且您已完成设置指南中的前六个步骤。
在组织级别设置权限
您必须在组织级别和项目级别设置权限。
-
Make sure that you have the following role or roles on the organization: Security Center Admin, Organization Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the organization.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
前往 IAM - 选择组织。
- 点击 授予访问权限。
-
在新的主账号字段中,输入您的用户标识符。 这通常是 Google 账号的电子邮件地址。
- 在选择角色列表中,选择一个角色。
- 如需授予其他角色,请点击 添加其他角色,然后添加其他各个角色。
- 点击保存。
在项目级设置权限
-
Make sure that you have the following role or roles on the project: Service Usage Admin, Service Account Admin, Project IAM Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
前往 IAM - 选择项目。
- 点击 授予访问权限。
-
在新的主账号字段中,输入您的用户标识符。 这通常是 Google 账号的电子邮件地址。
- 在选择角色列表中,选择一个角色。
- 如需授予其他角色,请点击 添加其他角色,然后添加其他各个角色。
- 点击保存。
设置 Google Cloud CLI
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
设置 Assured OSS
控制台
在 Google Cloud 控制台中,前往 Security Command Center 的风险概览页面。
确认您正在查看已激活 Security Command Center 企业版层级的组织。
点击查看设置指南。
点击设置代码安全性。
选择新的服务账号,或选择需要 您要向其添加有保障的开源软件权限的应用。
选择要将 Assured OSS 资源放置到的 Google Cloud 项目。
点击设置 Assured OSS。
设置过程会自动完成以下操作:
- 如果选中,系统会创建新的服务账号
assuredoss@PROJECT_ID.gservicesaccount.com
。 - 将 Assured OSS User 角色分配给指定的服务账号,以便 与 Assured OSS 一起使用。
- 向已登录的用户账号分配 Assured OSS Admin 角色,以便该账号可以配置服务。
- 启用 Assured Open Source Software API,以及 Artifact Registry API(如果尚未启用)。
- 在 所选项目中的 Artifact Registry 实例。系统会为每种语言(Java、Python 和 JavaScript)预配一个代码库。这些代码库可以自动 精选作品集如果某个软件包未作为 代码库会将请求重定向到 规范代码库代理服务仅支持美国区域。
- 向您和服务账号授予访问 Google 自有项目中的软件包元数据和通知的权限。
- 如果选中,系统会创建新的服务账号
创建服务账号 键 为每个指定的 Assured OSS 服务账号创建 请以 JSON 格式下载密钥。
在本地机器的命令行中,对下载的密钥文件运行以下命令,以获取 base64 编码的字符串:
base64 KEY_FILENAME.json
将
KEY_FILENAME.json
替换为 您下载的服务账号密钥。为 Cloud Storage 存储分区设置远程代码库时,您需要 Assured OSS。
如需下载软件包,请使用 Assured OSS 为每种语言预配的端点。记下这些端点以备后用。
- Java:
https://us-maven.pkg.dev/PROJECT_ID/assuredoss-java
- Python:
https://us-python.pkg.dev/
PROJECT_ID
/assuredoss-python - JavaScript:
https://us-npm.pkg.dev/
PROJECT_ID
/assuredoss-javascript
将
PROJECT_ID
替换为您在设置 Assured OSS 时选择的项目的 ID。- Java:
点击下一步。使用贵组织的工件仓库管理器(例如 JFrog Artifactory 或 Sonatype Nexus)配置 Assured OSS。
gcloud
使用要验证的用户账号向 Google Cloud 进行身份验证 用于启用 Assured OSS:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login
搜索要在其中查找 Assured OSS 资源:
gcloud alpha projects search --query="displayName=PROJECT_NAME"
将
PROJECT_NAME
替换为项目名称。设置要在其中定位 Assured OSS 的项目 资源:
gcloud config set project PROJECT_ID
将
PROJECT_ID
替换为项目标识符。向用户账号授予角色以设置 Assured OSS:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/assuredoss.admin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/serviceusage.serviceUsageAdmin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/iam.serviceAccountAdmin
其中,
email@domain.com
是 您的用户账号。在项目中启用 Assured OSS。启用 Assured OSS 还会启用 Artifact Registry API。
gcloud services enable assuredoss.googleapis.com
为 Assured OSS 创建新的服务账号,而不是创建服务账号 使用现有服务账号,请完成以下操作:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --description="Service account for using Assured OSS" --display-name="Assured OSS service account"
将
SERVICE_ACCOUNT_NAME
替换为 服务账号(例如assuredoss
)。为 Assured OSS 配置服务账号:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role roles/assuredoss.user
替换以下内容:
SERVICE_ACCOUNT_NAME
:服务账号的名称(例如assuredoss
)。PROJECT_ID
:项目标识符。
通过创建 Assured OSS 代码库,在 Artifact Registry 实例中设置 Assured OSS 代理服务。您必须 可以针对所有语言创建代码库Assured OSS 预配代码库支持美国区域的代理服务 。
alias gcurlj='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -X' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-java -d '{"format": "MAVEN", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-javascript -d '{"format": "NPM", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-python -d '{"format": "PYTHON", "mode": "AOSS_REPOSITORY"}'
将
PROJECT_ID
替换为需要执行身份验证的项目的 ID这些代码库可以自动 。如果某个软件包未包含在精选组合中, 代码库会将请求重定向到规范代码库。
为每个 Assured OSS 服务账号创建服务账号密钥,并以 JSON 格式下载该密钥。
在命令行中,对下载的密钥文件运行以下命令,以获取 base64 编码的字符串:
base64 KEY_FILENAME.json
将
KEY_FILENAME.json
替换为您下载的服务账号密钥的名称。为 Cloud Storage 存储分区设置远程代码库时,您需要 Assured OSS。
如需下载软件包,请使用 Assured OSS 为每种语言预配的端点。记录这些内容 端点:
- Java:
https://us-maven.pkg.dev/PROJECT_ID/assuredoss-java
- Python:
https://us-python.pkg.dev/
PROJECT_ID
/assuredoss-python - JavaScript:
https://us-npm.pkg.dev/
PROJECT_ID
/assuredoss-javascript
将
PROJECT_ID
替换为需要执行身份验证的项目的 ID- Java:
配置 Assured OSS,以便使用贵组织的工件代码库管理器(例如 JFrog Artifactory 或 Sonatype Nexus)下载软件包。
(可选)查看可用的 Java、Python 和 JavaScript 软件包:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login --cred-file=KEY_FILENAME.json
将
KEY_FILENAME.json
替换为您下载的服务账号密钥的名称。export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILENAME.json
将
KEY_FILENAME.json
替换为 您下载的服务账号密钥。gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-java/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-python/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-javascript/packages"
将
PROJECT_ID
替换为需要执行身份验证的项目的 ID
后续步骤
-
-