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.
Tópicos
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.
Tópicos
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 é chamada 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
-
Siga as etapas em Ativar e desativar o monitoramento aprimorado.
-
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 Guia do usuário do IAM.
Como criar uma função do IAM para o monitoramento avançado do Amazon RDS
-
Abra o Console do IAM
em https://console.aws.amazon.com . -
No painel de navegação, escolha Roles.
-
Escolha Criar Perfil.
-
Escolha a guia Serviço da AWS e, em seguida, RDS na lista de serviços.
-
Escolha RDS - Enhanced Monitoring (RDS: monitoramento aprimorado) e Next (Próximo).
-
A página Permissions policies (Políticas de permissões) deve mostrar AmazonRDSEnhancedMonitoringRole. Escolha Next (Próximo).
-
Em Role name (Nome da função), digite um nome para sua função. Por exemplo, digite
emaccess
.A entidade confiável para sua função é o serviço da AWS monitoring.rds.amazonaws.com.
-
Escolha Criar Perfil.
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 um 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
-
Role até Additional configuration (Configuração adicional).
-
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).
-
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
. -
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
ou60
.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.
-
create-db-cluster (cluster de banco de dados multi-AZ)
-
modify-db-cluster (cluster de banco de dados multi-AZ)
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-interval30
\ --monitoring-role-arnarn:aws:iam::123456789012:role/emaccess
Para Windows:
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --monitoring-interval30
^ --monitoring-role-arnarn: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-interval30
\ --monitoring-role-arnarn:aws:iam::123456789012:role/emaccess
Para Windows:
aws rds modify-db-cluster ^ --db-cluster-identifier
mydbcluster
^ --monitoring-interval30
^ --monitoring-role-arnarn: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:
-
CreateDBCluster (cluster de banco de dados multi-AZ)
-
ModifyDBCluster (cluster de banco de dados multi-AZ)
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 de "confused deputy" é uma questão 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. Na 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": "monitoring.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
" } } } ] }