如需为
Cloud Storage 存储桶中的图片和 PDF 文档生成结构化元数据,请创建
特征配置 (FeatureConfig) 资源。您还必须授权对象丰富化服务代理访问您的数据。
配置对象丰富化后,
Cloud Storage 会异步评估与您选择的机器
学习模型匹配的对象,并将结果直接作为对象上下文附加到您的对象
。
本页面介绍了如何创建、列出、查看、更新和删除特征配置。此外,本页面还介绍了如何向服务代理授予所需的 Identity and Access Management (IAM) 权限。
完整的工作流包括以下步骤:
- 创建特征配置 (
FeatureConfig) 资源以定义范围并选择模型。 - 授权服务代理访问您的存储桶。
- 查看和管理对象上的丰富化元数据。
- 使用 BigQuery 中的 SQL 批量分析丰富化。
- 随着工作负载的发展,更新或删除特征配置。
如需了解概念详情和支持的用例,请参阅 对象丰富化概览。
准备工作
在配置对象丰富化之前,请完成以下设置步骤:
获取所需的角色
如需获得创建和管理特征配置所需的权限,请让您的管理员为您授予项目的Storage Admin (roles/storage.admin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含 创建和管理特征配置所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需创建和管理特征配置,需要具备以下权限:
-
storage.featureConfigs.create -
storage.featureConfigs.list -
storage.featureConfigs.get -
storage.featureConfigs.update -
storage.featureConfigs.delete
(可选)准备 Storage Insights 数据集以进行 SQL 分析
如果您计划使用 BigQuery 中的 SQL 查询和分析数百万个对象的丰富化元数据 ,则必须先 存储空间分析。 存储空间分析数据集会自动将对象上下文直接导出到可查询的 BigQuery 表中。
如果您只想使用 Cloud de Confiance 控制台、Google Cloud CLI 或 API 检查单个对象,则可以跳过此步骤。
创建特征配置
特征配置 (FeatureConfig) 指定 Cloud Storage 监控哪些存储桶,以及哪些机器学习模型评估您的对象。在配置中指定确切的存储桶名称;对象丰富化不支持正则表达式或通配符。如果您在创建配置后创建、重新创建(删除并重新创建)或重定位
存储桶,则必须更新特征
配置以包含这些存储桶。如需了解详情,请参阅
配置和范围管理。
您可以使用 Cloud de Confiance 控制台、 Google Cloud CLI 或 JSON API 创建特征配置。
控制台
在 Cloud de Confiance 控制台中,前往 Cloud Storage 对象丰富化 页面。
点击创建 。
在定义来源 步骤中,指定配置名称和目标存储桶:
- 在名称 字段中,为特征配置输入具有唯一性的名称。该名称必须包含 1 到 63 个字符,并且只能包含小写字母、数字或连字符。它必须以小写字母开头,且不能以连字符结尾。创建配置后,您无法更改此名称。
- 可选:如需帮助识别配置,请在说明 字段中输入说明(最多 256 个字符)。
- 如需指定要丰富化的存储桶,请在存储桶名称 字段中输入一个或多个存储桶名称,并用英文逗号或空格分隔。或者,点击浏览,选择一个存储桶,然后 点击 选择。
- 点击继续 。
在选择模型 步骤中,选中要启用的一个或多个 机器学习模型的复选框,然后点击 继续:
- 图片对象检测 (
object-detector):识别并定位图片中的多个对象。 - 图片人脸检测 (
face-detector):检测图片中的人脸及其属性。 - 图片标签 (
label-detector):根据图片内容为图片分配标签。 - 图片露骨内容检测 (
content-safety):检测成人、暴力或其他敏感内容。 - PDF 分类 (
pdf-classification):识别文档主题类别。
如需详细了解每个模型及其输出架构,请参阅 支持的模型和架构。
- 图片对象检测 (
在选择处理位置 步骤中,从处理 位置 菜单中选择一个多区域位置(美国 、欧洲 或 亚洲 ),然后点击继续 。
在授予所需权限 步骤中,选择如何向对象丰富化服务代理授予所需的 IAM 角色:
- 授予项目范围的权限:自动向服务
代理授予所需的角色(
roles/storage.annotationGeneratorService和roles/storage.bucketViewer),以处理项目中所有当前及未来的 Cloud Storage 存储桶。选择此选项需要对项目拥有resourcemanager.projects.setIamPolicy权限。如果您没有此权限,则无法使用此选项。 - 请在稍后手动提供授权权限:创建配置 但不立即授予权限。您必须先向服务代理授予权限,然后 Cloud Storage 才能处理对象。
- 授予项目范围的权限:自动向服务
代理授予所需的角色(
点击创建 。
创建特征配置会启动一项长时间运行的操作。操作完成 后, Cloud de Confiance 控制台会打开 配置详情页面。如果您选择了授予项目范围的 权限,则 Cloud de Confiance 控制台会在创建配置后应用 IAM 政策绑定。
命令行
如需创建特征配置,请使用
gcloud alpha storage feature-configs create 命令:
gcloud alpha storage feature-configs create FEATURE_CONFIG_ID \
--description="DESCRIPTION" \
--auto-annotate-models=MODELS \
--auto-annotate-processing-location=PROCESSING_LOCATION \
--include-bucket-id-regexes=BUCKET_NAME其中:
FEATURE_CONFIG_ID是特征配置的唯一 ID。必须包含 1 到 63 个字符,以小写字母开头,并且只能包含小写字母、数字或连字符。不能以连字符结尾。DESCRIPTION是特征配置的可选说明。例如,Scan invoices and receipts。MODELS是要启用的机器学习模型的逗号分隔列表:face-detector、object-detector、label-detector、content-safety或pdf-classification。如需详细了解每个模型及其输出架构,请参阅支持的模型和 架构。PROCESSING_LOCATION是发生数据处理的多区域处理位置。支持的值为us、eu或asia。BUCKET_NAME是要在此配置中包含的存储桶的确切名称。您可以指定确切存储桶名称的逗号分隔列表。
JSON API
安装并初始化 gcloud CLI,以便为
Authorization标头生成访问令牌。创建一个包含特征配置设置的 JSON 文件:
{ "description": "DESCRIPTION", "autoAnnotateConfig": { "models": [ { "name": "MODEL_NAME" } ], "processingLocation": "PROCESSING_LOCATION" }, "filter": { "includedCloudStorageBuckets": { "bucketIdRegexes": [ "BUCKET_NAME" ] } } }
其中:
DESCRIPTION是特征配置的可选说明。例如,Scan invoices and receipts。MODEL_NAME是要启用的机器学习模型的名称:face-detector、object-detector、label-detector、content-safety或pdf-classification。如需详细了解每个 模型及其输出架构,请参阅支持的模型和架构。 如需启用多个模型,请向models数组添加其他模型对象。PROCESSING_LOCATION是发生数据处理的多区域处理位置。支持的值为us、eu或asia。BUCKET_NAME是要在此配置中包含的存储桶的确切名称。例如,my-bucket。 如需包含多个存储桶,请在bucketIdRegexes数组中指定其他存储桶名称字符串。
使用
cURL向 JSON API 发送featureConfigs.create请求:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/featureConfigs?featureConfigId=FEATURE_CONFIG_ID"
其中:
JSON_FILE_NAME是您在上一步中创建的 JSON 文件的路径。例如,config.json。PROJECT_ID是您的 Cloud de Confiance 项目 ID。例如,my-project。FEATURE_CONFIG_ID是特征配置的唯一 ID。例如,my-feature-config。必须包含 1 到 63 个字符,以小写字母开头,并且只能包含小写字母、数字或连字符。不能以连字符结尾。
可选:如需检查创建特征配置的 长时间运行 操作的状态,请使用
cURL向 JSON API 发送operations.get请求:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/operations/OPERATION_ID"
其中:
PROJECT_ID是您的 Cloud de Confiance 项目 ID。例如,my-project。OPERATION_ID是在创建响应中返回的操作 ID。
可选:如需列出所有活跃操作和历史操作,请使用
cURL向 JSON API发送operations.list请求:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/operations"
其中,
PROJECT_ID是您的 Cloud de Confiance 项目 ID。例如,my-project。
向服务代理授予权限
创建特征配置时,系统会为您的项目预配专用服务代理: Cloud de Confiance
service-PROJECT_NUMBER@gcp-sa-autoannotate.s3ns-system.iam.gserviceaccount.com。
如需让此服务代理扫描您的存储桶、读取非结构化对象并附加丰富化元数据,您必须向其授予所需的 IAM 角色。
控制台
如果您在创建特征配置时选择了请在稍后手动提供授权权限 ,或者需要重新应用项目范围的权限,则可以在配置详情页面中授予权限:
在 Cloud de Confiance 控制台中,前往 Cloud Storage 对象丰富化 页面。
在配置名称 列中,点击特征配置的名称。
在操作栏中,点击授予权限 。
在授予权限 窗格中,点击授予项目范围的权限 。
此操作会向服务代理授予项目的 Storage Annotation Generator Service (
roles/storage.annotationGeneratorService) 和 Storage Bucket Viewer (roles/storage.bucketViewer) 角色。 在 Cloud de Confiance 控制台中授予项目范围的权限需要 对项目拥有resourcemanager.projects.setIamPolicy权限。如需在各个存储桶(而不是整个项目)上授予
roles/storage.annotationGeneratorService角色,请使用 Google Cloud CLI。
命令行
在每个受监控的存储桶上或在项目级层向服务代理授予 Storage Annotation Generator Service (
roles/storage.annotationGeneratorService) 角色:如需在特定 存储桶上授予该角色,请使用
gcloud storage buckets add-iam-policy-binding命令:gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-autoannotate.s3ns-system.iam.gserviceaccount.com \ --role=roles/storage.annotationGeneratorService其中:
BUCKET_NAME是您要在其中授予权限的存储桶的名称。PROJECT_NUMBER是您的 Cloud de Confiance 项目编号。
如需在项目中的所有 存储桶中授予该角色,请使用
gcloud projects add-iam-policy-binding命令:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-autoannotate.s3ns-system.iam.gserviceaccount.com \ --role=roles/storage.annotationGeneratorService其中:
PROJECT_ID是您的 Cloud de Confiance 项目 ID。PROJECT_NUMBER是您的 Cloud de Confiance 项目编号。
如需在项目级层授予 Storage Bucket Viewer (
roles/storage.bucketViewer) 角色,以便服务代理可以检查存储桶 配置,请使用gcloud projects add-iam-policy-binding命令:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-autoannotate.s3ns-system.iam.gserviceaccount.com \ --role=roles/storage.bucketViewer其中:
PROJECT_ID是您的 Cloud de Confiance 项目 ID。PROJECT_NUMBER是您的 Cloud de Confiance 项目编号。
授予角色后,IAM 权限可能需要几分钟才能传播,然后异步处理才会开始。
列出所有特征配置
如需列出项目中的所有特征配置,请完成以下步骤:
控制台
在 Cloud de Confiance 控制台中,前往 Cloud Storage 对象丰富化 页面。
配置 标签页会列出项目中的所有特征配置,包括其已启用的模型、处理位置、范围、存储桶过滤条件、创建日期和上次更新日期。
可选:如需过滤列表,请在过滤条件 字段中输入属性名称或值。
命令行
使用 gcloud alpha storage feature-configs list 命令:
gcloud alpha storage feature-configs list
JSON API
安装并初始化 gcloud CLI,以便为
Authorization标头生成访问令牌。使用
cURL向 JSON API 发送featureConfigs.list请求:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ "https://storage.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/featureConfigs"
其中,
PROJECT_ID是您的 Cloud de Confiance 项目 ID。例如,my-project。
查看特征配置详情
如需检查特定特征配置的模型、目标存储桶和处理位置,请完成以下步骤:
控制台
在 Cloud de Confiance 控制台中,前往 Cloud Storage 对象丰富化 页面。
在配置名称 列中,点击要检查的特征配置的名称。
配置详情页面会显示配置名称、说明、范围、包含的存储桶、处理位置、已启用的模型、创建日期和上次更新日期。
命令行
使用 gcloud alpha storage feature-configs describe 命令:
gcloud alpha storage feature-configs describe FEATURE_CONFIG_ID
将 FEATURE_CONFIG_ID 替换为特征配置的 ID。
JSON API
安装并初始化 gcloud CLI,以便为
Authorization标头生成访问令牌。使用
cURL向 JSON API 发送featureConfigs.get请求:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ "https://storage.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/featureConfigs/FEATURE_CONFIG_ID"
其中:
PROJECT_ID是您的 Cloud de Confiance 项目 ID。例如,my-project。FEATURE_CONFIG_ID是特征配置的 ID。例如,my-feature-config。
更新特征配置
您可以更新现有特征配置,以添加或移除机器学习模型、更改目标存储桶、修改处理位置或更新说明。
控制台
在 Cloud de Confiance 控制台中,前往 Cloud Storage 对象丰富化 页面。
在配置名称 列中,点击要更新的特征配置的名称。
在配置详情页面上,更新要更改的设置:
- 如需更新说明,请点击 配置说明 旁边的 修改配置 说明。在修改说明 窗格中,更新说明 字段中的文本,然后点击保存 。
- 如需更新存储桶范围,请点击 修改配置范围 旁边的 配置范围。在定义范围 步骤中,在存储桶名称 字段中添加或移除目标存储桶,然后点击继续 。在授予所需权限 步骤中,为服务代理选择一个权限选项,然后点击保存 。
- 如需更新处理位置,请点击 修改配置 处理位置 旁边的 处理位置。在修改 处理位置 窗格中,从处理位置 菜单中选择一个多区域位置(美国、 欧洲 或 亚洲 ),然后 点击 保存 。
- 如需更新已启用的模型,请点击 修改已启用配置的 模型 旁边的 已启用的模型 。在修改模型 窗格中,选中或取消选中要更新的模型的复选框,然后点击保存 。
命令行
使用 gcloud alpha storage feature-configs update 命令更新
说明、模型、处理位置或存储桶过滤条件:
gcloud alpha storage feature-configs update FEATURE_CONFIG_ID \
--description="DESCRIPTION" \
--auto-annotate-models=MODELS \
--auto-annotate-processing-location=PROCESSING_LOCATION \
--include-bucket-id-regexes=BUCKET_NAME替换以下内容:
FEATURE_CONFIG_ID:您要更新的特征配置的 ID。DESCRIPTION:特征配置的可选说明。例如,Scan invoices and receipts。MODELS:要启用的机器学习模型的逗号分隔列表:face-detector、object-detector、label-detector、content-safety或pdf-classification。PROCESSING_LOCATION:发生数据处理的多区域处理位置。有效值为us、eu或asia。BUCKET_NAME:要扫描的确切存储桶名称的逗号分隔列表。对象丰富化不支持通配符或正则表达式。如果您创建、重新创建或重定位存储桶,则必须更新此列表以包含这些存储桶。
JSON API
安装并初始化 gcloud CLI,以便为
Authorization标头生成访问令牌。创建一个包含要更新的设置的 JSON 文件。 例如,如需更新说明、已启用的模型和目标存储桶:
{ "description": "DESCRIPTION", "autoAnnotateConfig": { "models": [ { "name": "MODEL_NAME" } ], "processingLocation": "PROCESSING_LOCATION" }, "filter": { "includedCloudStorageBuckets": { "bucketIdRegexes": [ "BUCKET_NAME" ] } } }
其中:
DESCRIPTION是特征配置的可选说明。例如,Scan invoices and receipts。MODEL_NAME是要包含的机器学习模型:face-detector、object-detector、label-detector、content-safety或pdf-classification。如需详细了解每个 模型及其输出架构,请参阅支持的模型和架构。如需启用多个模型,请向models数组添加其他模型对象。PROCESSING_LOCATION是发生数据处理的多区域处理位置。有效值为us、eu或asia。BUCKET_NAME是要包含在扫描中的存储桶的确切名称。例如,my-bucket。 对象丰富化不支持正则表达式或通配符。如果您创建、重新创建或重定位存储桶,则必须更新此列表以包含这些存储桶。如需包含多个存储桶,请在bucketIdRegexes数组中指定其他存储桶名称字符串。
使用
cURL向 JSON API 发送featureConfigs.patch请求:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ "https://storage.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/featureConfigs/FEATURE_CONFIG_ID?updateMask=UPDATE_MASK"
其中:
JSON_FILE_NAME是您在第 2 步中创建的 JSON 请求文件的本地路径。例如,update.json。PROJECT_ID是您的 Cloud de Confiance 项目 ID。例如,my-project。FEATURE_CONFIG_ID是要更新的特征配置的 ID。例如,my-feature-config。UPDATE_MASK是您要更新的字段的逗号分隔列表,例如description,filter或autoAnnotateConfig.models。如需了解语法规则,请参阅FieldMask。
删除特征配置
删除特征配置会阻止 Cloud Storage 为匹配的存储桶生成新的丰富化。删除配置不会删除已附加到存储对象的现有丰富化。
如需删除特征配置,请完成以下步骤:
控制台
在 Cloud de Confiance 控制台中,前往 Cloud Storage 对象丰富化 页面。
在配置名称 列中,点击要删除的特征 配置的名称,然后点击 删除 。
在确认对话框中,点击确认 。
命令行
使用 gcloud alpha storage feature-configs delete 命令:
gcloud alpha storage feature-configs delete FEATURE_CONFIG_ID
将 FEATURE_CONFIG_ID 替换为特征配置的 ID。
JSON API
安装并初始化 gcloud CLI,以便为
Authorization标头生成访问令牌。使用
cURL向 JSON API 发送featureConfigs.delete请求:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ "https://storage.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/featureConfigs/FEATURE_CONFIG_ID"
其中:
PROJECT_ID是您的 Cloud de Confiance 项目 ID。例如,my-project。FEATURE_CONFIG_ID是要删除的特征配置的 ID。例如,my-feature-config。