跨账户世系跟踪 - Amazon SageMaker

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

跨账户世系跟踪

Amazon SageMaker 支持从其他 AWS 账户追踪血统实体。其他 AWS 账户可以与你共享他们的血统实体,你可以通过直接的 API 调用或世系查询来访问这些 SageMaker 世系实体。

SageMaker AWS Resource Access Manager用于帮助您安全地共享血统资源。您可以通过 AWS RAM 控制台共享资源。

设置跨账户世系跟踪

您可以世系跟踪实体通过 Amazon SageMaker 中的血统群组对自己进行分组和共享。 SageMaker 每个账户仅支持一个默认血统组。 SageMaker 每当在您的账户中创建血统实体时,都会创建默认世系组。您的账户拥有的每个世系实体都将分配给此默认世系组。要与其他账户共享世系实体,您需要与该账户共享此默认世系组。

注意

您可以共享世系组中的所有世系跟踪实体,也可以不共享任何世系跟踪实体。

使用 AWS Resource Access Manager 控制台为您的世系实体创建资源共享。有关更多信息,请参阅《AWS Resource Access Manager 用户指南》中的共享 AWS 资源

注意

创建资源共享后,可能需要花几分钟时间,才能完成资源和主体关联。设置关联后,共享账户将收到加入资源共享的邀请。共享账户必须接受邀请才能访问共享资源。有关接受资源共享邀请的更多信息 AWS RAM,请参阅 Resource Acc ess Manager 用户指南中的使用共享 AWS 资源。AWS

您的跨账户世系跟踪资源策略

Amazon 仅 SageMaker 支持一种类型的资源政策。 SageMaker 资源策略必须允许以下所有操作:

"sagemaker:DescribeAction" "sagemaker:DescribeArtifact" "sagemaker:DescribeContext" "sagemaker:DescribeTrialComponent" "sagemaker:AddAssociation" "sagemaker:DeleteAssociation" "sagemaker:QueryLineage"
例 以下是使用创建的 SageMaker 资源策略, AWS Resource Access Manager 用于为账户世系组创建资源共享。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "FullLineageAccess", "Effect": "Allow", "Principal": { "AWS": "123456789012" #account-id }, "Action": [ "sagemaker:DescribeAction", "sagemaker:DescribeArtifact", "sagemaker:DescribeContext", "sagemaker:DescribeTrialComponent", "sagemaker:AddAssociation", "sagemaker:DeleteAssociation", "sagemaker:QueryLineage" ], "Resource": "arn:aws:sagemaker:us-west-2:111111111111:lineage-group/sagemaker-default-lineage-group" #Sample lineage group resource } ] }

跟踪跨账户世系实体

通过跨账户世系跟踪,您可以使用相同的 AddAssociation API 操作关联不同账户中的世系实体。关联两个世系实体时,将 SageMaker 验证您是否有权对两个世系实体执行 AddAssociation API 操作。 SageMaker 然后建立协会。如果您没有权限,则 SageMaker 创建关联。建立跨账户关联后,您可以通过 QueryLineage API 操作从其他账户访问任一世系实体。有关更多信息,请参阅 查询世系实体

除了 SageMaker 自动创建世系实体外,如果您具有跨账户访问权限,还可以 SageMaker 连接引用相同对象或数据的工件。如果不同账户使用来自一个账户的数据进行血统跟踪,则会在每个账户中 SageMaker 创建一个对象来跟踪该数据。使用跨账户世系,每当 SageMaker 创建新项目时,都会 SageMaker 检查是否还有其他针对相同数据创建的工件也与您共享。 SageMaker 然后在新创建的工件和与您共享的每个工件之间建立关联,AssociationType设置为SameAs。然后,您可以使用 QueryLineage API 操作遍历您自己账户中的世系实体,找到与您共享但由其他 AWS 账户拥有的世系实体。有关更多信息,请参阅查询世系实体

访问不同账户中的世系资源

设置共享血统的跨账户访问权限后,您可以直接使用 ARN 调用以下 SageMaker API 操作来描述来自其他账户的共享血统实体:

您还可以使用以下 SageMaker API 操作管理与您共享的不同账户所拥有的世系实体的关联

有关演示如何使用 SageMaker Lineage API 跨账户查询血统的笔记本,请参阅 sagemaker-lineage-cross-account-with-ram.ipynb。

查询跨账户世系实体的授权

亚马逊 SageMaker 必须验证您是否有权在上执行 QueryLineage API 操作StartArns。这是通过附加到 LineageGroup 的资源策略强制执行的。此操作的结果包括您有权访问的所有世系实体,无论这些实体归您的账户所有还是由其他账户共享。有关更多信息,请参阅 查询世系实体