

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

# 设置合作伙伴 AI 应用程序
<a name="partner-app-onboard"></a>

 以下主题描述了开始使用亚马逊 SageMaker 合作伙伴 AI 应用程序所需的权限。所需的权限分为两个部分，具体取决于用户权限级别：
+  **管理权限** – 管理员设置数据科学家和机器学习（ML）开发人员环境所需的权限。
  + AWS Marketplace
  +  合作伙伴 AI 应用程序管理 
  +  AWS License Manager 
+  **用户权限** – 数据科学家和机器学习开发人员的权限。
  +  用户授权 
  +  身份传播 
  +  软件开发工具包访问 

## 先决条件
<a name="partner-app-onboard-prereq"></a>

 管理员可以完成以下先决条件来设置合作伙伴 AI 应用程序。
+ （可选）加入 A SageMaker I 域。可以直接从 AI 域访问合作伙伴 A SageMaker I 应用程序。有关更多信息，请参阅 [亚马逊 SageMaker AI 域名概述](gs-studio-onboard.md)。
  + 如果在仅限 VPC 模式的 A SageMaker I 域中使用合作伙伴 AI 应用程序，则管理员必须使用以下格式创建终端节点才能连接到合作伙伴 AI 应用程序。有关在仅限 VPC 模式下使用 Studio 的更多信息，请参阅[将 VPC 中的 Amazon SageMaker Studio 连接到外部资源](studio-updated-and-internet-access.md)。

    ```
    aws.sagemaker.region.partner-app
    ```
+ （可选）如果管理员使用与域进行交互 AWS CLI，则他们还必须满足以下先决条件。

  1.  AWS CLI 按照[安装当前 AWS CLI 版本中的步骤进行](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled)更新。  

  1. 在本地计算机上运行 `aws configure` 并提供 AWS 凭证。有关 AWS 证书的信息，请参阅[了解和获取您的 AWS 证书](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html)。

## 管理权限
<a name="partner-app-onboard-admin"></a>

 管理员必须添加以下权限才能在 AI 中启用合作伙伴 A SageMaker I 应用程序。
+  允许完成合作伙伴 AI 应用程序的 AWS Marketplace 订阅 
+  设置合作伙伴 AI 应用程序执行角色 

### AWS Marketplace 订阅合作伙伴 AI 应用程序
<a name="partner-app-onboard-admin-marketplace"></a>

管理员必须完成以下步骤才能为添加权限。 AWS Marketplace有关使用的信息 AWS Marketplace，请参阅[买家使用入门 AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-getting-started.html)。

1. 为授予权限 AWS Marketplace。合作伙伴 AI 应用程序管理员需要这些权限才能从中购买合作伙伴 AI 应用程序的订阅 AWS Marketplace。要获得访问权限AWS Marketplace，管理员必须将`AWSMarketplaceManageSubscriptions`托管策略附加到他们用于访问 A SageMaker I 控制台和购买应用程序的 IAM 角色。有关`AWSMarketplaceManageSubscriptions`托管政策的详细信息，请参阅[AWS Marketplace 买家AWS 托管政策](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-security-iam-awsmanpol.html#security-iam-awsmanpol-awsmarketplacemanagesubscriptions)。有关附加托管策略的信息，请参阅[添加和删除 IAM 身份权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。

1. 授予 A SageMaker I 使用其他 AWS 服务人代表管理员运行操作的权限。管理员必须授予 SageMaker AI 权限才能使用这些服务及其操作的资源。以下策略定义演示了如何授予所需的合作伙伴 AI 应用程序权限。除了管理员角色的现有权限外，还需具有这些权限。有关更多信息，请参阅 [如何使用 SageMaker AI 执行角色](sagemaker-roles.md)。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:CreatePartnerApp",
                   "sagemaker:DeletePartnerApp",
                   "sagemaker:UpdatePartnerApp",
                   "sagemaker:DescribePartnerApp",
                   "sagemaker:ListPartnerApps",
                   "sagemaker:CreatePartnerAppPresignedUrl",
                   "sagemaker:CreatePartnerApp",
                   "sagemaker:AddTags",
                   "sagemaker:ListTags",
                   "sagemaker:DeleteTags"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": "arn:aws:iam::*:role/*",
               "Condition": {
                   "StringEquals": {
                        "iam:PassedToService": "sagemaker.amazonaws.com"
                    } 
               }
           }
       ]
   }
   ```

------

### 设置合作伙伴 AI 应用程序执行角色
<a name="partner-app-onboard-admin-role"></a>

1. 合作伙伴 AI 应用程序需要一个执行角色来与 AWS 账户中的资源进行交互。管理员可以使用 AWS CLI创建此执行角色。合作伙伴 AI 应用程序使用此角色来完成与合作伙伴 AI 应用程序功能相关的操作。

   ```
   aws iam create-role --role-name PartnerAiAppExecutionRole --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "sagemaker.amazonaws.com"
           ]
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }'
   ```

1.  按照为 L AWS License Manager icense Manager [创建服务相关角色中的步骤创建服务相关角色](https://docs.aws.amazon.com/license-manager/latest/userguide/license-manager-role-core.html#create-slr-core)。  

1.  使用 AWS CLI授予合作伙伴 AI 应用程序访问 License Manager 的权限。需要这些权限才能访问合作伙伴 AI 应用程序的许可证。这可让合作伙伴 AI 应用程序验证对合作伙伴 AI 应用程序许可证的访问权限。

   ```
   aws iam put-role-policy --role-name PartnerAiAppExecutionRole --policy-name LicenseManagerPolicy --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": {
       "Effect": "Allow",
       "Action": [
         "license-manager:CheckoutLicense",
         "license-manager:CheckInLicense",
         "license-manager:ExtendLicenseConsumption",
         "license-manager:GetLicense",
         "license-manager:GetLicenseUsage"
       ],
       "Resource": "*"
     }
   }'
   ```

1.  如果合作伙伴 AI 应用程序需要访问 Amazon S3 存储桶，需向执行角色添加 Amazon S3 权限。有关更多信息，请参阅 [Amazon S3 API 操作所需的权限](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)。

### 配置 Amazon Bedrock 集成
<a name="partner-app-onboard-admin-bedrock"></a>

合作伙伴 AI 应用程序（例如 Deepchecks）支持与 Amazon Bedrock 集成，以启用基于 LLM 的评估功能。在配置支持 Amazon Bedrock 的合作伙伴 AI 应用程序时，管理员可以指定哪些基础模型和推理配置文件可在应用程序中使用。如果您需要提高 Amazon Bedrock 型号的配额限制，请参阅[申请增加亚马逊 Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas-increase.html) 配额。

1. 确保合作伙伴 AI 应用程序执行角色具有所需的 Amazon Bedrock 权限。添加以下权限以启用 Amazon Bedrock 模型访问权限：

   ```
   aws iam put-role-policy --role-name PartnerAiAppExecutionRole --policy-name BedrockInferencePolicy --policy-document '{
   	   "Version": "2012-10-17",		 	 	 
   	   "Statement": {
   	     "Effect": "Allow",
   	     "Action": [
   	       "bedrock:InvokeModel",
   	       "bedrock:GetFoundationModel",
   	       "bedrock:GetInferenceProfile"
   	     ],
   	     "Resource": "*"
   	   }
   	 }'
   ```

1. 确定您的组织想要提供给合作伙伴 AI 应用程序的 Amazon Bedrock 模型。您可以使用 Amazon Bedrock 控制台查看您所在地区的可用型号。有关各地区模型可用性的信息，请参阅[模型支持 AWS 区域](https://docs.aws.amazon.com/bedrock/latest/userguide/models-regions.html)。

1. （可选）创建客户管理的推理配置文件，用于成本跟踪和模型管理。推理配置文件允许您专门跟踪 Partner AI 应用程序的 Amazon Bedrock 使用情况，并且可以在当前区域没有模型时启用跨区域推理。有关更多信息，请参阅[在 Amazon Bedrock 中使用推理配置文件](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles.html)。

1. 创建或更新 Partner AI 应用程序时，请使用`CreatePartnerApp`或 `UpdatePartnerApp` API 指定允许的模型和推理配置文件。Partner AI 应用程序只能访问您明确配置的模型和推理配置文件。

**重要**  
通过合作伙伴 AI 应用程序使用亚马逊 Bedrock 的费用将 AWS 账户 使用您现有的亚马逊 Bedrock 定价直接向您收费。合作伙伴 AI 应用程序基础设施成本与 Amazon Bedrock 模型推理成本是分开的。

#### 深度检查 Amazon Bedrock 集成
<a name="partner-app-onboard-admin-bedrock-deepchecks"></a>

Deepchecks 支持 Amazon Bedrock 集成，以实现基于 LLM 的评估功能，包括：
+ 法@@ *学硕士作为评判评估*-使用基础模型自动评估模型输出的质量、相关性和其他标准
+ *自动注记*-使用基础模型为数据集生成标签和注释
+ *内容分析*-使用 LLM 功能分析文本数据的偏差、毒性和其他质量指标

有关 Deepchecks Amazon Bedrock 功能和配置的详细信息，请参阅应用程序中的 Deepchecks 文档。

## 用户权限
<a name="partner-app-onboard-user"></a>

 管理员在完成管理权限设置后，必须确保用户具有访问合作伙伴 AI 应用程序所需的权限。

1. 授予 A SageMaker I 使用其他人代表您运行操作的权限 AWS 服务。管理员必须授予 SageMaker AI 权限才能使用这些服务及其操作的资源。管理员使用 IAM 执行角色向 A SageMaker I 授予这些权限。有关 IAM 角色的更多信息，请参阅 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。以下策略定义演示了如何授予所需的合作伙伴 AI 应用程序权限。可将此策略添加到用户配置文件的执行角色中。  有关更多信息，请参阅 [如何使用 SageMaker AI 执行角色](sagemaker-roles.md)。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:DescribePartnerApp",
                   "sagemaker:ListPartnerApps",
                   "sagemaker:CreatePartnerAppPresignedUrl"
               ],
               "Resource": "arn:aws:sagemaker:*:*:partner-app/app-*"
           }
       ]
   }
   ```

------

1.  （可选）如果从 Studio 启动合作伙伴 AI 应用程序，请将 `sts:TagSession` 信任策略添加到用于启动 Studio 的角色，或直接将该策略添加到合作伙伴 AI 应用程序中，如下所示。这将确保身份能够正常传播。

   ```
   {
       "Effect": "Allow",
       "Principal": {
           "Service": "sagemaker.amazonaws.com"
       },
       "Action": [
                   "sts:AssumeRole",
                   "sts:TagSession"
                ]
   }
   ```

1.  （可选）如果使用合作伙伴 AI 应用程序的 SDK 来访问 SageMaker AI 中的功能，请向用于运行 SDK 代码的角色添加以下`CallPartnerAppApi`权限。如果从 Studio 运行 SDK 代码，请向 Studio 执行角色添加权限。如果从 Studio 以外的任何其他位置运行代码，请向笔记本中使用的 IAM 角色添加权限。这可让用户从合作伙伴 AI 应用程序 SDK 访问合作伙伴 AI 应用程序的功能。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Statement1",
               "Effect": "Allow",
               "Action": [
                   "sagemaker:CallPartnerAppApi"
               ],
               "Resource": [
                   "arn:aws:sagemaker:us-east-1:111122223333:partner-app/app"
               ]
           }
       ]
   }
   ```

------

### 管理用户授权和身份验证
<a name="partner-app-onboard-user-auth"></a>

要向其团队成员提供对合作伙伴 AI 应用程序的访问权限，管理员必须确保其用户的身份正常传播到合作伙伴 AI 应用程序。此传播确保用户能够正常访问合作伙伴 AI 应用程序的用户界面，并执行授权的合作伙伴 AI 应用程序操作。

 合作伙伴 AI 应用程序支持以下身份来源：
+  AWS IAM Identity Center 
+  外部身份提供商 (IdPs)  
+  基于 IAM 会话的身份 

 以下各部分提供了有关合作伙伴 AI 应用程序支持的身份来源的信息，以及与该身份源相关的重要详细信息。

#### IAM Identity Center
<a name="partner-app-onboard-user-auth-idc"></a>

如果用户通过 IAM Identity Center 的身份验证后登录到 Studio，并从 Studio 启动应用程序，则 IAM Identity Center `UserName` 会自动以合作伙伴 AI 应用程序的用户身份传播。如果用户直接使用 `CreatePartnerAppPresignedUrl` API 启动合作伙伴 AI 应用程序，则情况并非如此。

#### 外部身份提供商 (IdPs)
<a name="partner-app-onboard-user-auth-idps"></a>

如果使用 SAML 进行 AWS 账户 联合，则管理员有两种选择可以将 IdP 身份作为合作伙伴 AI 应用程序的用户身份保留。有关设置 AWS 账户 联合的信息，请参阅[如何为联合身份验证配置 SAML 2.0](https://saml-doc.okta.com/SAML_Docs/How-to-Configure-SAML-2.0-for-Amazon-Web-Service)。 AWS 账户   
+ Princip@@ **al 标签** — 管理员可以配置特定于 IDP 的 IAM Identity Center 应用程序，使其使用`PrincipalTag`具有以下属性的会话传递登录 AWS 会话中的身份信息。`Name`在使用 SAML 时，登录角色会话会使用 IAM 角色。要使用 `PrincipalTag`，管理员必须将 `sts:TagSession` 权限添加至该登录角色以及 Studio 执行角色。有关 `PrincipalTag` 的更多信息，请参阅[为身份验证响应配置 SAML 断言](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html#saml_role-session-tags)。

  ```
  https://aws.amazon.com/SAML/Attributes/PrincipalTag:SageMakerPartnerAppUser
  ```
+ **登录会话名称** – 管理员可以将登录会话名称作为合作伙伴 AI 应用程序的身份进行传播。为此，他们必须为每个合作伙伴 AI 应用程序设置 `EnableIamSessionBasedIdentity` 选择加入标志。有关更多信息，请参阅 [`EnableIamSessionBasedIdentity`](#partner-app-onboard-user-iam-session)。

#### 基于 IAM 会话的身份
<a name="partner-app-onboard-user-auth-iam"></a>

**重要**  
我们建议不将此方法用于生产账户。对于生产账户，请使用身份提供者以提高安全性。

 SageMaker 在使用基于 IAM 会话的身份时，AI 支持以下身份传播选项。除了使用带有的会话标签外 AWS STS，所有选项都需要为每个应用程序设置`EnableIamSessionBasedIdentity`选择加入标志。有关更多信息，请参阅 [`EnableIamSessionBasedIdentity`](#partner-app-onboard-user-iam-session)。

传播身份时， SageMaker AI 会验证是否正在使用 AWS STS 会话标签。如果未使用，则 SageMaker AI 会传播 IAM 用户名或 AWS STS 会话名称。
+  **AWS STS 会话标签**-管理员可以为启动器 IAM `SageMakerPartnerAppUser` 会话设置会话标签。当管理员使用 AI 控制台或启动合作伙伴 SageMaker AI 应用程序时 AWS CLI，`SageMakerPartnerAppUser`会话标签会自动作为合作伙伴 AI 应用程序的用户身份传递。以下示例说明如何使用 AWS CLI设置 `SageMakerPartnerAppUser` 会话标签。键值将作为主体标签添加。

  ```
  aws sts assume-role \
      --role-arn arn:aws:iam::account:role/iam-role-used-to-launch-partner-ai-app \
      --role-session-name session_name \
      --tags Key=SageMakerPartnerAppUser,Value=user-name
  ```

   当使用 `CreatePartnerAppPresignedUrl` 授予用户访问合作伙伴 AI 应用程序的权限时，我们建议您验证 `SageMakerPartnerAppUser` 键的值。这有助于防止对合作伙伴 AI 应用程序资源的意外访问。以下信任策略可验证会话标签是否与关联的 IAM 用户完全匹配。管理员可使用任意主体标签来实现此目的。应在启动 Studio 的角色或合作伙伴 AI 应用程序上进行此项配置。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "RoleTrustPolicyRequireUsernameForSessionName",
              "Effect": "Allow",
              "Action": [
                  "sts:AssumeRole",
                  "sts:TagSession"
              ],
              "Principal": {
                  "AWS": "arn:aws:iam::111122223333:root"
              },
              "Condition": {
                  "StringLike": {
                      "aws:RequestTag/SageMakerPartnerAppUser": "prefix${aws:username}"
                  }
              }
          }
      ]
  }
  ```

------
+  **经过身份验证的 IAM 用户** – 用户的用户名将自动作为合作伙伴 AI 应用程序用户进行传播。
+  **AWS STS 会话名称**-如果在使用时未配置`SageMakerPartnerAppUser`会话标签 AWS STS，则当用户启动合作伙伴 SageMaker AI 应用程序时，AI 会返回错误。要避免此错误，管理员必须为每个合作伙伴 AI 应用程序设置 `EnableIamSessionBasedIdentity` 选择加入标志。有关更多信息，请参阅 [`EnableIamSessionBasedIdentity`](#partner-app-onboard-user-iam-session)。

   启用 `EnableIamSessionBasedIdentity` 选择加入标志后，可使用 [IAM 角色信任策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_rolesessionname)确保 IAM 会话名称是 IAM 用户名或包含 IAM 用户名。这可确保用户无法通过冒充其他用户来获取访问权限。以下信任策略可验证会话名称是否与关联的 IAM 用户完全匹配。管理员可使用任意主体标签来实现此目的。应在启动 Studio 的角色或合作伙伴 AI 应用程序上进行此项配置。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "RoleTrustPolicyRequireUsernameForSessionName",
              "Effect": "Allow",
              "Action": "sts:AssumeRole",
              "Principal": {
                  "AWS": "arn:aws:iam::111122223333:root"
              },
              "Condition": {
                  "StringEquals": {
                      "sts:RoleSessionName": "${aws:username}"
                  }
              }
          }
      ]
  }
  ```

------

  管理员还必须将 `sts:TagSession` 信任策略添加到启动 Studio 的角色或合作伙伴 AI 应用程序中。这将确保身份能够正常传播。

  ```
  {
      "Effect": "Allow",
      "Principal": {
          "Service": "sagemaker.amazonaws.com"
      },
      "Action": [
                  "sts:AssumeRole",
                  "sts:TagSession"
               ]
  }
  ```

 设置凭证后，管理员可以分别 AWS CLI 使用或 API 调用向其用户授予访问 Studio `CreatePresignedDomainUrl` 或 Partner A `CreatePartnerAppPresignedUrl` I 应用程序的权限。

然后，用户还可以从 SageMaker AI 控制台启动 Studio，并从 Studio 启动合作伙伴 AI 应用程序。

### `EnableIamSessionBasedIdentity`
<a name="partner-app-onboard-user-iam-session"></a>

`EnableIamSessionBasedIdentity` 是一个选择加入标志。设置该`EnableIamSessionBasedIdentity`标志后，A SageMaker I 会将 IAM 会话信息作为合作伙伴 AI 应用程序用户身份传递。有关 AWS STS 会话的更多信息，请参阅在[AWS 资源中使用临时证书](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)。

### 访问控制
<a name="partner-app-onboard-user-access"></a>

 要控制对合作伙伴 AI 应用程序的访问权限，请使用附加到用户配置文件的执行角色的 IAM 策略。要直接从 Studio 或使用启动合作伙伴 AI 应用程序 AWS CLI，则用户个人资料的执行角色必须具有授予 `CreatePartnerAppPresignedUrl` API 权限的策略。从用户配置文件的执行角色中移除此权限，以确保他们无法启动合作伙伴 AI 应用程序。

### 根管理员用户
<a name="partner-app-onboard-user-root"></a>

 Comet 和 Fiddler 合作伙伴 AI 应用程序需要至少一个根管理员用户。根管理员用户有权添加普通用户和管理员用户以及管理资源。作为根管理员用户提供的用户名必须与身份来源的用户名一致。

 虽然根管理员用户保留在 SageMaker AI 中，但在合作伙伴 AI 应用程序终止之前，普通管理员用户不是，并且仅存在于合作伙伴 AI 应用程序中。

 管理员可以使用 `UpdatePartnerApp` API 调用更新根管理员用户。在更新根管理员用户后，更新后的根管理员用户列表将传递给合作伙伴 AI 应用程序。合作伙伴 AI 应用程序可确保列表中的所有用户名都被授予根管理员权限。如果从列表中移除某个根管理员用户，则该用户仍会保留普通管理员权限，直到：
+ 从应用程序中移除该用户。
+ 另一个管理员用户撤销了该用户的管理员权限。

**注意**  
Fiddler 不支持更新管理员用户。仅 Comet 支持对根管理员用户进行更新。  

 要删除根管理员用户，必须先使用 `UpdatePartnerApp` API 更新根管理员用户的列表。然后，通过合作伙伴 AI 应用程序的用户界面移除或撤销管理员权限。

 如果您在未使用 `UpdatePartnerApp` API 更新根管理员用户列表的情况下，从合作伙伴 AI 应用程序的用户界面中移除一个根管理员用户，则此更改为临时更改。当 SageMaker AI 发送下一个合作伙伴 AI 应用程序更新请求时， SageMaker AI 会将仍包含该用户的根管理员列表发送到合作伙伴 AI 应用程序。这会覆盖从合作伙伴 AI 应用程序用户界面中完成的删除操作。