本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
IAM 安全最佳实践
IAM 管理员将负责以下三个关键领域的安全。
-
确保 SAP 系统可使用 Amazon EC2 元数据或密钥凭证自行验证身份。
-
确保 SAP 系统具有提升
sts:assumeRole所需的权限。 -
为 SAP 用户创建 IAM 逻辑角色,其具有执行业务职能所需的权限(如执行 Amazon S3、DynamoDB 或其他服务所需的权限)。这些都是 SAP 用户将会代入的角色。
有关更多信息,请参阅 SAP Lens: Amazon Well-Architected Framework 中的安全一章。
适用于 Amazon EC2 实例配置文件的最佳实践
为您运行 SAP 系统的 Amazon EC2 实例具有一组基于其实例配置文件的权限。这类实例配置文件通常只需要具有调用 sts:assumeRole 的权限,即可允许 SAP 系统按需代入业务特定的 IAM 角色。提升其他角色可确保 ABAP 程序代入角色,向用户授予履职所需的最低权限。例如,实例配置文件可能包含以下声明。
前面的示例允许 SAP 系统担任 CFO、审计员或报告用户的 IAM 角色。 Amazon SDK 将根据用户在 SAP 中的 PFCG 角色为用户选择正确的 IAM 角色。
Amazon EC2 实例配置文件也适用于其他功能。
这些解决方案可能还需要特定于备份或失效转移的 sts:assumeRole 角色的权限,或者需要直接分配给实例配置文件的权限。
适用于 SAP 用户的 IAM 角色
ABAP 程序需要权限才能执行用户的工作:读取 DynamoDB 表、在 Amazon S3 中的 PDF 对象上调用 Amazon Textract、运行函数。 Amazon Lambda 所有产品都使用相同的安全模型 Amazon SDKs。您可以使用另一个 Amazon SDK 所用的现有 IAM 角色。
SAP 业务分析师将针对每个所需的逻辑角色,向 IAM 管理员要求 IAM 角色的 arn:aws:。例如,业务分析师会在财务场景中定义以下 IAM 逻辑角色。
-
CFO -
AUDITOR -
REPORTING
IAM 管理员将为每个 IAM 逻辑角色定义 IAM 角色。
CFO
-
arn:aws:iam::0123456789:role/finance-cfo -
Amazon S3 存储桶的读写权限
-
DynamoDB 数据库的读写权限
AUDITOR
-
arn:aws:iam::0123456789:role/finance-auditor -
Amazon S3 存储桶的读取权限
-
DynamoDB 数据库的读取权限
REPORTING
-
arn:aws:iam::0123456789:role/finance-reporting -
DynamoDB 数据库的读取权限
-
取消 Amazon S3 存储桶的权限
业务分析师将 IAM 角色输入映射表,实现 IAM 逻辑角色与 IAM 物理角色的映射。
SAP 用户的 IAM 角色需允许可信主体执行 sts:assumeRole 操作。根据 SAP 系统在 Amazon上的身份验证方式,可信主体有所不同。有关更多信息,请参阅指定主体。
以下列举了部分最常见的 SAP 场景示例:
-
运行在 Amazon EC2 上且具有实例配置文件的 SAP 系统:此系统会为 IAM 角色附加 Amazon EC2 实例配置文件。
-
运行在 Amazon EC2 上但没有实例配置文件的 SAP 系统:Amazon EC2 会代入适用于 SAP 用户的角色。
-
本地运行的 SAP 系统:本地运行的 SAP 系统只能使用秘密访问密钥验证身份。有关更多信息,请参阅在 Amazon上验证 SAP 系统。
SAP 用户必须与其代入的所有 IAM 角色建立信任关系。
来源配置文件安全注意事项
使用来源配置文件时:
IAM 角色管理
关键:必须严格管理来源配置文件链中的 IAM 角色,以防止未经授权的访问和权限升级:
-
应用最低权限原则-仅授予每个角色特定目的所需的最低权限
-
定期审核角色权限-每季度或在需求发生变化时审查和更新角色策略
-
监控角色使用情况-用于跟踪 AssumeRole API 调用并识别异常模式
-
限制信任关系-将每个角色的委托人限制为只有那些绝对需要访问权限的委托人
-
在信任策略中使用条件-根据需要添加源 IP、MFA 要求或基于时间的限制等条件
-
记录角色用途-清晰记录每个角色的预期用例和所需权限
授权和访问控制
-
确保链中的所有中间配置文件都配置了适当的信任策略
-
用户必须
/AWS1/SESS获得链中所有配置文件的授权,包括中间配置文件 -
每个 IAM 角色都必须明确信任链中的前一个角色
技术保障
-
SDK 强制执行的最大链深度为 5 个配置文件,以防止过多的 STS API 调用
-
自动检测和防止循环引用
-
基本配置文件身份验证方法经过验证,以确保其使用标准方法(INST、SSF 或 RLA)
有关配置来源配置文件的更多信息,请参阅使用来源配置文件进行跨账户访问。