为 Performance Insights 配置访问策略 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

为 Performance Insights 配置访问策略

要访问 Performance Insights,您必须拥有 Amazon Identity and Access Management (IAM) 的相应权限。您可以使用以下选项来授予访问权限:

  • AmazonRDSFullAccess 托管策略附加到 IAM 用户或角色。

  • 创建自定义 IAM 策略并将其附加到 IAM 用户或角色。

此外,如果您在启用 Performance Insights 时指定了客户托管 CMK,请确保账户中的用户对 CMK 具有 kms:Decryptkms:GenerateDataKey 权限。

将 AmazonRDSFullAccess 策略附加到 IAM 委托人

AmazonRDSFullAccess 是 Amazon 托管策略,可以授予对所有 Amazon RDS API 操作的访问权限。该策略执行以下操作:

  • 授予对 Amazon RDS 控制台使用的相关服务的访问权限。例如,此策略使用 Amazon SNS 授予对事件通知的访问权限。

  • 授予使用 Performance Insights 所需的权限。

如果将 AmazonRDSFullAccess 附加到 IAM 用户或角色,收件人可以使用 Performance Insights 以及其他控制台功能。

为 Performance Insights 创建自定义 IAM 策略

对于未通过 AmazonRDSFullAccess 策略获得完全访问权限的用户,您可以通过创建或修改用户托管 IAM 策略来授予对 Performance Insights 的访问权限。当您将策略附加到 IAM 用户或角色时,收件人可以使用 Performance Insights。

创建自定义策略

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 Policies

  3. 选择 Create policy

  4. 创建策略页面上,选择“JSON”选项卡。

  5. 复制并粘贴以下内容。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "pi:*", "Resource": "&region-arn;pi:*:*:metrics/rds/*" } ] }
  6. 选择查看策略

  7. 为策略提供名称并可以选择提供描述,然后选择创建策略

现在,可以将策略附加到 IAM 用户或角色。以下过程假设您已经有一个可用于此目的的 IAM 用户。

将策略附加到 IAM 用户

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 Users

  3. 从列表中选择现有用户。

    重要

    要使用 Performance Insights,请确保除了自定义策略之外,您还有权访问 Amazon RDS。例如,AmazonRDSReadOnlyAccess 预定义策略提供了对 Amazon RDS 的只读访问权限。有关更多信息,请参阅使用策略管理访问

  4. Summary (摘要) 页上,选择 Add permissions (添加权限)

  5. 选择直接附加现有策略。对于 Search,键入策略名称的前几个字符,如下所示。

    
							选择一个策略
  6. 选择策略,然后选择 Next: Review

  7. 选择 Add permissions (添加权限)

为 Performance Insights 配置 KMS 策略

Performance Insights 使用 Amazon KMS 客户主密钥 (CMK) 加密敏感数据。当您通过 API 或控制台启用 Performance Insights 时,您可以选择以下选项:

  • 选择默认的 Amazon 托管 CMK

    Amazon RDS 将 Amazon 托管 CMK 用于新的数据库实例。Amazon RDS 为 Amazon 账户创建 Amazon 托管 CMK。您的 Amazon 账户对每个 Amazon 区域都有不同的用于 Amazon RDS 的 Amazon 托管 CMK。

  • 选择客户托管 CMK。

    如果您指定一个客户托管 CMK,则您账户中调用 Performance Insights API 的用户需要在 CMK 上具有 kms:Decryptkms:GenerateDataKey 权限。您可以通过 IAM 策略配置这些权限。但是,我们建议您通过 KMS 密钥策略来管理这些权限。有关更多信息,请参阅在 Amazon KMS 中使用密钥策略

以下示例密钥策略显示了如何将语句添加到 CMK 策略。这些语句可以访问 Performance Insights.。您可能需要更改一些限制,这取决于您使用 KMS 密钥的方式。在将语句添加到您的策略之前,请删除所有注释。

{ "Version" : "2012-10-17", "Id" : "your-policy", "Statement" : [ { //This represents a statement that currently exists in your policy. } ...., //Starting here, add new statement to your policy for Performance Insights. //We recommend that you add one new statement for every RDS instance { "Sid" : "Allow viewing RDS Performance Insights", "Effect": "Allow", "Principal": { "AWS": [ //One or more principals allowed to access Performance Insights "arn:aws-cn:iam::444455556666:role/Role1" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition" : { "StringEquals" : { //Restrict access to only RDS APIs (including Performance Insights). //Replace region with your Amazon Region. //For example, specify us-west-2. "kms:ViaService" : "rds.region.amazonaws.com" }, "ForAnyValue:StringEquals": { //Restrict access to only data encrypted by Performance Insights. "kms:EncryptionContext:aws:pi:service": "rds", "kms:EncryptionContext:service": "pi", //Restrict access to a specific RDS instance. //The value is a DbiResourceId. "kms:EncryptionContext:aws:rds:db-id": "db-AAAAABBBBBCCCCDDDDDEEEEE" } } }