

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

# 使用来源配置文件进行跨账户访问
<a name="source-profile"></a>

来源配置文件使 SAP 系统能够通过链接 IAM 角色假设来访问多个账户的 AWS 资源。一个配置文件扮演一个角色，然后扮演另一个角色，依此类推，类似于 AWS CLI 中的`source_profile`参数。这对于需要遍历多个账户才能到达目标资源的跨 AWS 账户访问场景非常有用。

**示例：**你的 SAP 系统在账户 A (111111111111) 中运行，需要访问账户 C (333333333333) 中的亚马逊 S3 存储桶。您可以配置三个配置文件：

1. `DEV_BASE`从 Amazon EC2 实例元数据中获取基本凭证并担任账户 A 中的角色 P

1. `SHARED_SERVICES`使用`DEV_BASE`凭据担任账户 B 中的角色 Q (222222222222)

1. `PROD_S3_ACCESS`使用`SHARED_SERVICES`凭证在账户 C 中扮演角色 R

当您的应用程序使用时`PROD_S3_ACCESS`，SDK 会自动执行链：从实例元数据获取凭证 → 扮演角色 P → 扮演角色 Q → 担任角色 R

## 先决条件
<a name="source-profile-prerequisites"></a>

在配置源配置文件之前，必须满足以下先决条件：
+ 链中每个步骤的 IAM 角色必须由 IAM 管理员创建。每个角色必须具有：
  + 拨打所需电话的权限 AWS 服务
  + 信任关系配置为允许链中的前一个角色担任该角色

  有关更多信息，请参阅 [IAM 安全最佳实践](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/best-practices.html)。
+ 创建授权以运行 `/AWS1/IMG` 事务。有关更多信息，请参阅[针对配置的授权](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/authorizations.html#configuration-authorizations)。
+ 用户必须`/AWS1/SESS`获得链中所有配置文件的授权，包括中间配置文件。

## 过程
<a name="source-profile-procedure"></a>

按照以下说明配置来源配置文件。

**Topics**
+ [步骤 1-配置基本配置文件](#step1-base-profile)
+ [步骤 2-配置链式配置文件](#step2-chained-profiles)

### 步骤 1-配置基本配置文件
<a name="step1-base-profile"></a>

基本配置文件是链中的第一个配置文件，必须使用标准的身份验证方法。

1. 运行`/n/AWS1/IMG`事务以启动 适用于 SAP ABAP 的 AWS SDK 实施指南 (IMG)。

1. 选择 **AWS SAP 的 SDK ABAP 设置** > **应用程序配置** > **SDK 配置文件**。

1. 选择 “新建**条目”，然后输入个人资料名称和描述，即可创建新的**个人资料以用作基本个人资料。选择**保存**。
**注意**  
如果您使用的现有配置文件已经配置了标准身份验证方法（INST、SSF 或 RLA），则可以跳过本节的其余步骤，直接继续。[步骤 2-配置链式配置文件](#step2-chained-profiles)

1. 选择您创建的配置文件，然后选择 “**身份验证和设置”** > “**新建条目**”，然后输入以下详细信息：
   + **SID**：SAP 系统的系统 ID
   + **客户**：SAP 系统的客户端
   + **方案 ID**：选择由您的 Basis 管理员创建的`DEFAULT`方案
   + **AWS AWS 区域**：您要拨打电话的区域
   + **身份验证方法**：选择以下选项之一：
     + **通过元数据为在 Amazon EC2 上运行的 SAP 系统设置实例角色**
     + **来自本地或其他云系统的 SSF 存储凭证**
     + **IAM 角色随处可**用，用于基于证书的身份验证

   选择**保存**。

1. 选择 **IAM 角色映射** > **新条目**，然后输入：
   + **序列号**：1
   + **逻辑 IAM 角色**：描述性名称（例如）`DEV_BASE_ROLE`
   + **IAM 角色 ARN**：第一个账户中 IAM 角色的 ARN（例如）`arn:aws:iam::111111111111:role/DevBaseRole`

   选择**保存**。

### 步骤 2-配置链式配置文件
<a name="step2-chained-profiles"></a>

配置链中的每个中间和最终配置文件。

**对于`SHARED_SERVICES`个人资料（来自的连锁店`DEV_BASE`）：**

1. 运行`/n/AWS1/IMG`交易。

1. 选择 **AWS SAP 的 SDK ABAP 设置** > **应用程序配置** > **SDK 配置文件**。

1. 选择**新建条目**。输入配置文件名称（例如`SHARED_SERVICES`）和描述。选择**保存**。

1. 选择您创建的配置文件，然后选择 “**身份验证和设置”** > “**新建条目**”，并输入以下详细信息：
   + **SID**：SAP 系统的系统 ID
   + **客户**：SAP 系统的客户端
   + **方案 ID**：选择由您的 Basis 管理员创建的`DEFAULT`方案
   + **AWS AWS 区域**：您要拨打电话的区域
   + **身份验证方法**：从下拉列表中选择 “**来源配置文件**”
   + **来源配置文件 ID**：输入基本配置文件的配置文件 ID（例如`DEV_BASE`）

   选择**保存**。

1. 选择 **IAM 角色映射** > **新条目**，然后输入：
   + **序列号**：1
   + **逻辑 IAM 角色**：描述性名称（例如）`SHARED_ROLE`
   + **IAM 角色 ARN**：`arn:aws:iam::222222222222:role/SharedServicesRole`

   选择**保存**。

**对于`PROD_S3_ACCESS`个人资料（来自的连锁店`SHARED_SERVICES`）：**

重复与以下步骤相同的步骤`SHARED_SERVICES`，但是：
+ `PROD_S3_ACCESS`用作名字
+ 将 “**来源配置文件 ID”** 设置为 `SHARED_SERVICES`
+ `arn:aws:iam::333333333333:role/ProdS3AccessRole`在 IAM 角色映射中使用`PROD_S3_ROLE`和

有关安全最佳实践，包括 IAM 角色管理、信任策略配置和授权要求，请参阅 [IAM 安全最佳实践](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/best-practices.html)。