Configurar e habilitar o monitoramento avançado - Amazon Relational Database Service

Configurar e habilitar o monitoramento avançado

Para usar o monitoramento avançado, você deve criar uma função do IAM e habilitar o monitoramento avançado.

Criar uma função do IAM para o monitoramento avançado

O Monitoramento avançado requer permissão para agir em seu nome para enviar informações de métricas do SO ao CloudWatch Logs. Você concede as permissões ao monitoramento avançado usando uma função do AWS Identity and Access Management (IAM). Você pode criar essa função ao ativar o monitoramento aprimorado ou criá-la de antemão.

Criar a função do IAM ao habilitar o Monitoramento Avançado

Quando você habilita o Monitoramento Avançado no console do RDS, o Amazon RDS pode criar a função do IAM necessária para você. A função é nomeada como rds-monitoring-role. O RDS usa essa função para a instância de banco de dados especificada, réplica de leitura ou cluster de banco de dados multi-AZ.

Para criar a função do IAM ao habilitar o Monitoramento Avançado

  1. Siga as etapas em Ativar e desativar o monitoramento aprimorado.

  2. Defina a Monitoring Role (Função de monitoramento) como Default (Padrão) na etapa em que você escolhe uma função.

Criar a função do IAM antes de ativar o Monitoramento Avançado

Você pode criar a função necessária antes de habilitar o Monitoramento Avançado. Ao habilitar o Monitoramento Avançado, especifique o nome da nova função. Você deverá criar essa função necessária se habilitar o Monitoramento avançado usando a AWS CLI ou a API do RDS.

O usuário que habilita o monitoramento aprimorado precisa receber a permissão PassRole. Para obter mais informações, consulte o Exemplo 2 em Conceder permissões ao usuário para transmitir uma função para um serviço da AWS no Manual do usuário do IAM.

Como criar uma função do IAM para o monitoramento avançado do Amazon RDS

  1. Abra o Console do IAM em https://console.aws.amazon.com.

  2. No painel de navegação, selecione Roles.

  3. Selecione Create role.

  4. Escolha a guia AWS service (Serviço da AWS) e, em seguida, escolha RDS na lista de serviços.

  5. Escolha RDS - Enhanced Monitoring e selecione Next: Permissions.

  6. Certifique-se de que a página Attached permissions policy (Política de permissões anexada), mostre AmazonRDSEnhancedMonitoringRole e, em seguida, escolha Next: Tags (Próximo: Tags).

  7. Na página Add tags (Adicionar tags), escolha Next: Review(Próximo: Revisar).

  8. Em Role Name (Nome da função), digite um nome para a função. Por exemplo, digite emaccess.

    A entidade confiável para sua função é o serviço da AWS monitoring.rds.amazonaws.com.

  9. Selecione Create role (Criar função).

Ativar e desativar o monitoramento aprimorado

Você pode ativar e desativar o monitoramento aprimorado usando o AWS Management Console, a AWS CLI ou a API do RDS. Você escolhe as instâncias de banco de dados do RDS nas quais deseja habilitar o monitoramento aprimorado. Você pode definir detalhamentos diferentes para a coleta de métricas em cada instância de banco de dados.

É possível ativar o monitoramento avançado ao criar uma instância de banco de dados, um cluster de banco de dados multi-AZ ou uma réplica de leitura, ou ao modificar uma instância de banco de dados ou cluster de banco de dados multi-AZ. Se você modificar uma instância de banco de dados para ativar o monitoramento avançado, não será necessário reinicializar sua instância de banco de dados para que a alteração entre em vigor.

Você pode ativar o monitoramento aprimorado no console do RDS ao realizar uma das seguintes ações na página Databases (Banco de dados):

  • “Create a DB instance or Multi-AZ DB cluster” (Criar uma instância de banco de dados ou cluster de banco de dados multi-AZ): escolha Create database (Criar banco de dados).

  • Create a read replica (Criar uma réplica de leitura) — Escolha Actions (Ações) e depois Create read replica (Criar réplica de leitura).

  • Modify a DB instance or Multi-AZ DB cluster (Modificar uma instância de banco de dados ou um cluster de banco de dados multi-AZ): escolha Modify (Modificar).

Para ativar ou desativar o monitoramento aprimorado no console do RDS

  1. Role até Additional configuration (Configuração adicional).

  2. Em Monitoring (Monitoramento), escolha Enable Enhanced Monitoring (Habilitar monitoramento aprimorado) para sua instância de banco de dados ou réplica de leitura. Para desativar o monitoramento aprimorado, escolha Disable enhanced monitoring (Desabilitar monitoramento aprimorado).

  3. Defina a propriedade Monitoring Role (Função de monitoramento) como a função do IAM que você criou para permitir que o Amazon RDS se comunique com o Amazon CloudWatch Logs por você. Ou escolha Default (Padrão) para que o RDS crie uma função para você chamada rds-monitoring-role.

  4. Defina a propriedade Granularity (Granularidade) como o intervalo, em segundos, entre pontos quando as métricas são coletadas para a sua instância de banco de dados ou réplica de leitura. A propriedade Granularity (Granularidade) pode ser definida como um dos seguintes valores: 1, 5, 10, 15, 30 ou 60.

    A frequência de atualização mais rápida do console do RDS é a cada 5 segundos. Se você definir a granularidade como 1 segundo no console do RDS, ainda verá as métricas atualizadas apenas a cada 5 segundos. É possível recuperar atualizações de métricas de 1 segundo usando a CloudWatch Logs.

Para ativar o monitoramento avançado usando a AWS CLI, defina a opção --monitoring-interval nos comandos a seguir como um valor diferente de 0 e defina a opção --monitoring-role-arn para a função criada em Criar uma função do IAM para o monitoramento avançado.

A opção --monitoring-interval especifica o intervalo, em segundos, entre pontos quando as métricas de monitoramento avançado são coletadas. Os valores válidos para a opção são 0, 1, 5, 10, 15, 30 e 60.

Para desativar o monitoramento aprimorado usando a AWS CLI, defina a opção --monitoring-interval para 0 nestes comandos.

exemplo

O seguinte exemplo ativa o monitoramento avançado para uma instância de banco de dados:

Para Linux, macOS ou Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --monitoring-interval 30 \ --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess

Para Windows:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --monitoring-interval 30 ^ --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess

exemplo

O seguinte exemplo ativa o monitoramento avançado para um cluster de banco de dados multi-AZ:

Para Linux, macOS ou Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --monitoring-interval 30 \ --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess

Para Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --monitoring-interval 30 ^ --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess

Para ativar o monitoramento aprimorado usando a API do RDS, defina o parâmetro MonitoringInterval como um valor diferente de 0 e defina o parâmetro MonitoringRoleArn para a função criada em Criar uma função do IAM para o monitoramento avançado. Defina esses parâmetros nas seguintes ações:

O parâmetro MonitoringInterval especifica o intervalo, em segundos, entre pontos quando as métricas de monitoramento avançado são coletadas. Os valores válidos são 0, 1, 5, 10, 15, 30 e 60.

Para desativar o monitoramento aprimorado usando a API do RDS, defina MonitoringInterval como 0.

Proteção contra o problema do substituto confuso

O problema ‘confused deputy’ é um problema de segurança em que uma entidade que não tem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executá-la. Em AWS, a personificação entre serviços pode resultar no problema do ‘confused deputy’. A personificação entre serviços pode ocorrer quando um serviço (o serviço de chamada) chama outro serviço (o serviço chamado). O serviço de chamada pode ser manipulado de modo a usar suas permissões para atuar nos recursos de outro cliente de uma forma na qual ele não deveria ter permissão para acessar. Para evitar isso, a AWS fornece ferramentas que ajudam você a proteger seus dados para todos os serviços com entidades principais de serviço que receberam acesso aos recursos em sua conta. Para obter mais informações, consulte O problema do substituto confuso.

Para limitar as permissões ao recurso que o Amazon RDS pode fornecer a outro serviço, recomendamos usar as chaves de contexto de condição global aws:SourceArn e aws:SourceAccount em uma política de confiança para sua função de monitoramento aprimorado. Se você usar as duas chaves de contexto de condição global, elas deverão usar o mesmo ID de conta.

A maneira mais eficaz de se proteger contra o problema do substituto confuso é usar a chave de contexto de condição global aws:SourceArn com o ARN completo do recurso. Para o Amazon RDS, defina aws:SourceArn como arn:aws:rds:Region:my-account-id:db/dbname.

O exemplo a seguir usa as chaves de contexto de condição global aws:SourceArn e aws:SourceAccount em uma política de confiança para evitar o problema de substituto confuso.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:rds:Region:my-account-id:db:dbname" }, "StringEquals": { "aws:SourceAccount": "my-account-id" } } } ] }