将 Assured OSS 与 Security Command Center,有保障的开源软件包, 托管在您的 Artifact Registry 代码库中,而该代码库是 控制。
本页面介绍了如何连接到 Artifact Registry 代码库 Assured OSS,用于直接访问和下载 Python 软件包。
本文档仅适用于 Assured OSS 付费层级。对于 请参阅使用直接代码库访问来下载 Python 软件包 免费层级。
准备工作
验证连接 针对请求的服务账号向 Assured OSS 转移数据。
安装最新版本的 Google Cloud CLI。
如果您之前安装了 Google Cloud CLI,请确保您拥有 最新版本
gcloud components update
设置身份验证
您可以向 Assured OSS Python 软件包进行身份验证 存储库:
- 使用密钥环进行身份验证
- 使用服务账号密钥进行身份验证
以下部分介绍了如何设置这些身份验证方法。
使用密钥环进行身份验证
要使用 Python keyring 对 Artifact Registry 进行身份验证,请参阅使用 密钥环和 有关凭据搜索的信息, 订单。我们建议 您使用 Python 密钥环进行身份验证。
如需设置用于身份验证的密钥环,请执行以下操作:
安装
keyring
库:pip install keyring
安装 Artifact Registry 后端:
pip install keyrings.google-artifactregistry-auth
列出后端以确认安装:
keyring --list-backends
该列表应包含以下内容:
ChainerBackend(priority:10)
GooglePythonAuth(priority:9)
-
此步骤可确保 Assured OSS 凭据帮助程序 在与代码库连接时获取您的密钥。
使用服务账号密钥进行身份验证
当应用需要时,使用服务账号密钥进行身份验证 使用用户名和密码进行身份验证。
替换软件包代码库网址
https://us-python.pkg.dev/PROJECT_ID/assuredoss-python/simple
:
网址
https://_json_key_base64:BASE64_KEY@us-python.pkg.dev/PROJECT_ID/assuredoss-python/simple
替换以下内容:
- 将
PROJECT_ID
替换为您在设置有保障的开源软件时选择的项目的 ID。 将
BASE64_KEY
替换为整个服务账号 JSON 密钥文件的 base64 编码。如需将整个服务账号 JSON 密钥文件转换为 base64-encoding,请使用以下命令:BASE64_KEY=$(cat KEY_FILE_LOCATION | base64)
将
KEY_FILE_LOCATION
替换为服务账号 JSON 密钥文件的位置。
安装软件包
以下说明假定您使用 PyPI 作为 以便下载依赖项如果您使用的是其他 因此您必须按照不同的步骤下载依赖项。
安装 Assured OSS 中的现有软件包
如需指定要下载的 Assured OSS Python 软件包,请创建两个 requirements.txt
文件。示例文件如下:
requirements-google.txt
# Packages present in Google's Artifact Registry urllib3==1.26.11 --hash=sha256:1cffe1aa066363a75c856f261c8fce62d87f7c40ce0f46453ea12bf652b12a13 jsonschema==4.13.0 --hash=sha256:29895bfe55b93b75552fbdd1e09aa0c82b7c1c9395d4f267e10c7d43cd31a74e
requirements-pypi.txt
# Packages present in Google's Artifact Registry are mentioned here so that pip # downloads their dependencies from PyPI. urllib3==1.26.11 jsonschema==4.13.0 # Below this comment, add any package version which you need but is NOT # present in Google's Artifact Registry and therefore needs to be downloaded from # PyPI.
如需下载软件包,请运行以下命令:
如需下载 适用于 Assured OSS 的 Artifact Registry,请运行以下命令:
pip install --require-hashes --requirement=requirements-google.txt --index-url https://_json_key_base64:BASE64_KEY@us-python.pkg.dev/PROJECT_ID/assuredoss-python repo/simple -v --no-deps
请考虑以下事项:
--require-hashes
为可选项。如果包含,则会为 软件包和requirements.txt
文件中的所有软件包版本。-v
为可选项。如果指定,该命令会提供更多 output。
如需下载 适用于 Assured OSS 的 Artifact Registry,请运行以下命令:
pip install --requirement=requirements-pypi.txt --index-url https://pypi.org/simple -v
此命令还会下载 您下载的软件包缺少的依赖项 运行这些命令
列出 Assured OSS 中提供的所有 Python 软件包
要使用 API 如需获取 Artifact Registry 代码库中所有 Python 软件包的列表,请参阅 列出 Assured OSS 中可用的所有 Python 软件包。
生成 requirements-google.txt
文件
本部分提供了有关生成
requirements-google.txt
文件,您需要下载 Python
软件包下载哈希值并生成 requirements-google.txt
文件
可以使用以下两个选项之一:
使用脚本为所有工件生成一个需求文件。
为每个工件下载单独的要求文件。
以下部分详细介绍了这些选项。
方法 1:使用脚本为所有工件生成单个需求文件
使用 generator.sh
脚本生成单个
包含所有 Python 软件包的 requirements-google.txt
文件
(及其哈希)通过适用于 Linux 操作系统的 Assured OSS 提供。通过
软件包必须满足 Python 版本、机器架构、
和操作系统然后,您可以删除
需要使用生成的文件。
generator.sh
脚本在以下两个方面提供帮助:
- 它会生成最新的可用 Python 软件包版本列表 可成功安装在您的系统上。
- 它会生成
requirements-google.txt
文件以及所有哈希值。
所需脚本及其 README.md
文件可在 Cloud Storage 存储桶中找到
(gs://cloud-aoss/utils/python-requirements-txt/v1.0
),可下载
使用 gsutil
命令行工具。
如需下载脚本和 README.md
文件,请按以下步骤操作:
使用服务账号进行身份验证,以访问 Cloud Storage 存储桶 创建 Deployment
gcloud auth activate-service-account --key-file KEY_FILE
将
KEY_FILE
替换为包含 设置期间提供的服务账号的凭据。使用以下命令将
generator.sh
下载到您的机器上:gsutil cp -r gs://cloud-aoss/utils/python-requirements-txt/v1.0/generator.sh PATH_TO_LOCAL_STORE
将
PATH_TO_LOCAL_STORE
替换为本地路径,其中 您想保存下载的文件使用以下命令下载
README.md
文件:gsutil cp -r gs://cloud-aoss/utils/python-requirements-txt/v1.0/README.md PATH_TO_LOCAL_STORE
将
PATH_TO_LOCAL_STORE
替换为本地路径,其中 您想保存下载的文件README.md
文件包含说明 如何使用该脚本。
如需运行该脚本,请使用以下命令:
如需生成
requirements-google.txt
文件,请运行以下命令:chmod +x generator.sh ./generator.sh
如需获取 CSV 文件中的软件包信息,请运行以下命令:
chmod +x generator.sh ./generator.sh -i
方法 2:为每个必需的工件下载 requirements.txt
您也可以下载单独的 requirements.txt
(包含哈希)文件
然后将它们组合成单个 requirements.txt
文件。
制品哈希位于 Cloud Storage 存储桶中,该存储分区可供下载
使用 gsutil
命令行工具。每个
软件包和版本位于 gs://cloud-aoss/python/PACKAGE_NAME/VERSION
Cloud Storage 存储桶位置。
如需下载 requirements.txt
文件,请按以下步骤操作:
使用服务账号进行身份验证,以访问 Cloud Storage 存储桶 创建 Deployment
gcloud auth activate-service-account --key-file KEY_FILE
将
KEY_FILE
替换为包含 服务账号凭据将特定软件包和版本的
requirements.txt
下载到 本地机器gsutil cp -r gs://cloud-aoss/python/PACKAGE_NAME/VERSION PATH_TO_LOCAL_STORE
请替换以下内容:
PACKAGE_NAME
:软件包名称VERSION
:软件包的版本PATH_TO_LOCAL_STORE
:您要访问的本地路径 即可下载文件
示例命令:
gsutil cp -r gs://cloud-aoss/python/bleach/5.0.0 /tmp/bleach
示例
requirements.txt
文件:bleach==5.0.0 \ --hash=sha256:6d286e765bfd3e309209cfa1d063e4d46afa966dea8cb97431c02b1e3067d812
每个此类
requirements.txt
文件的内容都可以合并到 单个requirements-google.txt
文件。