Alterar uma política do AWS KMS para o Insights de Performance
O Performance Insights usa uma AWS KMS key para criptografar dados sigilosos. Ao habilitar o Performance Insights por meio da API ou do console, você poderá seguir um destes procedimentos:
-
Escolha o padrão Chave gerenciada pela AWS.
O Amazon RDS usa a Chave gerenciada pela AWS para a sua nova instância de banco de dados. O Amazon RDS cria uma Chave gerenciada pela AWS para a sua Conta da AWS. A sua Conta da AWS tem uma Chave gerenciada pela AWS diferente para o Amazon RDS para cada Região da AWS.
-
Escolha uma chave gerenciada pelo cliente.
Se você especificar uma chave gerenciada pelo cliente, os usuários em sua conta que chamam a API do Performance Insights precisarão das permissões
kms:Decryptekms:GenerateDataKeyna chave do KMS. Você pode configurar essas permissões por meio de políticas do IAM. No entanto, recomendamos que você gerencie essas permissões por meio da política de chaves do KMS. Para obter mais informações, consulte Políticas de chaves no AWS KMS no Guia do desenvolvedor do AWS Key Management Service.
O exemplo a seguir mostra como adicionar instruções à sua política da chaves do KMS. Essas instruções permitem acesso ao Performance Insights. Dependendo de como você usa a chave KMS, talvez você queira alterar algumas restrições. Antes de adicionar instruções à política, remova todos os comentários.
Como o Insights de Performance usa a chave do AWS KMS gerenciada pelo cliente
O Insights de Performance usa chaves gerenciadas pelo cliente para criptografar dados sigilosos. Ao ativar o Insights de Performance, você pode fornecer uma chave do AWS KMS por meio da API. O Insights de Performance cria permissões do AWS KMS nessa chave. Ele usa a chave e executa as operações necessárias para processar dados sigilosos. Os dados sigilosos incluem campos como usuário, banco de dados, aplicação e texto de consulta SQL. O Insights de Performance garante que os dados permaneçam criptografados tanto em repouso quanto em trânsito.
Como o Insights de Performance e o IAM funcionam com o AWS KMS
O IAM concede permissões para APIs específicas. O Insights de Performance tem as seguintes APIs públicas, que você pode restringir usando políticas do IAM:
DescribeDimensionKeysGetDimensionKeyDetailsGetResourceMetadataGetResourceMetricsListAvailableResourceDimensionsListAvailableResourceMetrics
Você pode usar as solicitações de API a seguir para obter dados sigilosos.
DescribeDimensionKeysGetDimensionKeyDetailsGetResourceMetrics
Quando você usa a API para obter dados sigilosos, o Insights de Performance utiliza as credenciais do chamador. Essa verificação garante que o acesso a dados sigilosos seja limitado àqueles com acesso à chave do KMS.
Ao chamar essas APIs, você precisa de permissões para chamar a API por meio da política do IAM e de permissões para invocar a ação kms:decrypt por meio da política de chave AWS KMS.
A API GetResourceMetrics pode retornar dados sigilosos e não sigilosos. Os parâmetros da solicitação determinam se a resposta deve incluir dados sigilosos. A API retorna dados sigilosos quando a solicitação inclui uma dimensão confidencial nos parâmetros filtrar ou agrupar por.
Para obter mais informações sobre as dimensões que você pode usar com a API GetResourceMetrics, consulte DimensionGroup.
exemplo Exemplos
O seguinte exemplo solicita dados sigilosos para o grupo db.user:
POST / HTTP/1.1 Host: <Hostname> Accept-Encoding: identity X-Amz-Target: PerformanceInsightsv20180227.GetResourceMetrics Content-Type: application/x-amz-json-1.1 User-Agent: <UserAgentString> X-Amz-Date: <Date> Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature> Content-Length: <PayloadSizeBytes> { "ServiceType": "RDS", "Identifier": "db-ABC1DEFGHIJKL2MNOPQRSTUV3W", "MetricQueries": [ { "Metric": "db.load.avg", "GroupBy": { "Group": "db.user", "Limit": 2 } } ], "StartTime": 1693872000, "EndTime": 1694044800, "PeriodInSeconds": 86400 }
O seguinte exemplo solicita dados não sigilosos para o grupo db.load.avg:
POST / HTTP/1.1 Host: <Hostname> Accept-Encoding: identity X-Amz-Target: PerformanceInsightsv20180227.GetResourceMetrics Content-Type: application/x-amz-json-1.1 User-Agent: <UserAgentString> X-Amz-Date: <Date> Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature> Content-Length: <PayloadSizeBytes> { "ServiceType": "RDS", "Identifier": "db-ABC1DEFGHIJKL2MNOPQRSTUV3W", "MetricQueries": [ { "Metric": "db.load.avg" } ], "StartTime": 1693872000, "EndTime": 1694044800, "PeriodInSeconds": 86400 }