• 使用 IAM 策略模拟器测试 IAM 策略


    使用 IAM 策略模拟器,您可以通过以下方式对 IAM 和基于资源的策略进行测试和问题排查:

    • 测试附加到您 AWS 账户中的 IAM 用户、组或角色的策略。如果多个策略附加到用户、组或角色,您可以测试所有策略,也可以选择单个策略进行测试。您可以测试为特定资源所选的策略允许或拒绝哪些操作。

    • 测试附加到 AWS 资源(如 Amazon S3 存储桶、Amazon SQS 队列、Amazon SNS 主题或 Amazon S3 Glacier 文件库)的策略。

    • 如果您的 AWS 账户是 AWS Organizations 中的组织的成员,则您可以测试服务控制策略 (SCP) 对您的 IAM 策略和资源策略的影响。

    • 通过将尚未附加到用户、组或角色的新策略键入或复制到模拟器中,对这些新策略进行测试。这些仅在模拟中使用,不会保存。请注意:您不能将基于资源的策略键入或者复制到模拟器中。要在模拟器中使用基于资源的策略,您必须将相关资源包含在模拟中,并且选中复选框将该资源的策略包含在模拟中。

    • 使用所选服务、操作和资源测试策略。例如,您可以通过测试确保策略允许某个实体在 Amazon S3 服务中对特定存储桶执行 ListAllMyBucketsCreateBucket 和 DeleteBucket 操作。

    • 通过提供上下文键 (如 IP 地址或日期,包含在被测试策略的 Condition 元素中) 模拟真实方案。

    • 识别策略中导致允许或拒绝访问特定资源或操作的特定语句。

    • IAM 策略模拟器的工作方式

      模拟器评估您选择的策略,为您指定的每项操作确定有效权限。模拟器使用真实 AWS 服务请求期间所用的同一策略评估引擎。只是在以下几方面与真实 AWS 环境不同:

      • 模拟器不发出真实 AWS 服务请求,因此,您可以安全地测试在真实 AWS 环境中会进行不需要的更改的请求。

      • 因为模拟器不模拟运行所选操作,所以它不能报告对模拟请求的任何响应。返回的唯一结果是请求的操作是被允许还是被拒绝。

      • 如果您在模拟器内编辑策略,所做的更改只影响模拟器。您的 AWS 账户中的相应策略保持不变。

      使用 IAM 策略模拟器(AWS CLI 和 AWS API)

      策略模拟器命令通常需要调用 API 操作以执行两项操作:

      1. 评估策略并返回策略引用的上下文键的列表。您需要了解引用了哪些上下文键,以便在下一个步骤中提供它们的值。

      2. 模拟策略,在模拟过程中提供操作、资源和上下文键的列表。

      出于安全原因,API 操作已分为两个组:

      在这两种情况下,API 操作都将模拟一个或多个策略对操作和资源的列表的影响。每个操作都与每个资源配对,模拟将确定策略对该资源是允许还是拒绝该操作。您还可以为您的策略引用的任何上下文键提供值。通过首先调用GetContextKeysForCustomPolicy 或 GetContextKeysForPrincipalPolicy,可以获取策略引用的上下文密钥的列表。如果不提供上下文键值,模拟仍会运行。但结果可能不可靠,这是因为模拟器无法在评估中包含该上下文键。

      获取上下文密钥的列表(AWS CLI、AWS API)

      使用以下命令评估策略列表,返回策略中使用的上下文键的列表。

  • 相关阅读:
    Multi ingress controller
    Obtain file system information
    What is the difference between “inode size” and “Bytes per inode”
    Build and install fluent-bit on CentOS7
    Failed to initialize NVML: Driver/library version mismatch.
    利用multiprocessing.managers开发跨进程生产者消费者模型
    [算法] 举一反三之n重复数组中找唯一m重复异类数
    HBase Thrift过滤语法
    kubernetes pod infra container网络原理
    CentOS7上手动部署入门级kubernetes
  • 原文地址:https://www.cnblogs.com/cloudrivers/p/11620790.html
Copyright © 2020-2023  润新知