创建项目策略文档 - Rekognition

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建项目策略文档

Rekognition Custom Labels 使用基于资源的策略(称为项目策略)来管理模型版本的复制权限。项目策略是一个 JSON 格式的文档。

项目策略用于允许或拒绝将模型版本从源项目复制到目标项目的主体权限。如果目标项目属于不同的 AWS 账户,则需要使用项目策略。如果目标项目与源项目属于同一个 AWS 账户,而您想限制对特定模型版本的访问权限,则也需要使用项目策略。例如,您可能想拒绝授予 AWS 账户中的特定 IAM 角色复制权限。

以下示例允许主体 arn:aws:iam::111111111111:role/Admin 复制模型版本 arn:aws:rekognition:us-east-1:123456789012:project/my_project/version/test_1/1627045542080

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::111111111111:role/Admin" }, "Action":"rekognition:CopyProjectVersion", "Resource":"arn:aws:rekognition:us-east-1:111111111111:project/my_project/version/test_1/1627045542080" } ] }
注意

ActionResourcePrincipalEffect 是项目策略文档中的必填字段。

唯一支持的 actionrekognition:CopyProjectVersion

NotActionNotResourceNotPrincipal 是禁止的字段,不得出现在项目策略文档中。

如果不指定项目策略,则与源项目属于同一 AWS 账户的主体仍然可以复制模型,只要该主体具有基于身份的策略(例如 AmazonRekognitionCustomLabelsFullAccess)来授予其调用 CopyProjectVersion 的权限即可。

以下过程会创建一个项目策略文档文件,您可将其与 附加项目策略 (SDK) 中的 Python 示例结合使用。如果您使用的是 put-project-policy AWS CLI 命令,则可将项目策略作为 JSON 字符串提供。

创建项目策略文档
  1. 在文本编辑器中,创建以下文档。更改以下值:

    • Effect:指定 ALLOW 可授予复制权限。指定 DENY 可拒绝复制权限。

    • Principal:更改为要允许或拒绝其对您在 Resource 中指定的模型版本进行访问的主体。例如,您可以指定其他 AWS 账户的 AWS 账户主体。我们不限制您可以使用的主体。有关更多信息,请参阅指定主体

    • Resource:要指定其复制权限的模型版本的 Amazon 资源名称 (ARN)。如果要授予对源项目内所有模型版本的权限,请使用以下格式 arn:aws:rekognition:region:account:project/source project/version/*

    { "Version":"2012-10-17", "Statement":[ { "Effect":"ALLOW or DENY", "Principal":{ "AWS":"principal" }, "Action":"rekognition:CopyProjectVersion", "Resource":"Model version ARN" } ] }
  2. 将项目策略保存到计算机中。

  3. 按照附加项目策略 (SDK)中的说明将项目策略附加到源项目。