Validação de permissões para API chamadas do Application Auto Scaling nos recursos de destino - Application Auto Scaling

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Validação de permissões para API chamadas do Application Auto Scaling nos recursos de destino

Fazer solicitações autorizadas para API ações do Application Auto Scaling exige que o API chamador tenha permissões para acessar AWS recursos no serviço de destino e no. CloudWatch O Application Auto Scaling valida as permissões para solicitações associadas ao serviço de destino e CloudWatch antes de prosseguir com a solicitação. Para fazer isso, emitimos uma série de chamadas para validar as IAM permissões nos recursos de destino. Quando uma resposta é retornada, ela é lida pelo Application Auto Scaling. Se as IAM permissões não permitirem uma determinada ação, o Application Auto Scaling falhará na solicitação e retornará um erro ao usuário contendo informações sobre a permissão ausente. Isso garante que a configuração de escalabilidade que o usuário deseja implantar funcione conforme pretendido e que um erro útil seja retornado se a solicitação falhar.

Como exemplo de como isso funciona, as informações a seguir fornecem detalhes sobre como o Application Auto Scaling realiza validações de permissões com Aurora e. CloudWatch

Quando um usuário chama o RegisterScalableTarget API em um cluster de banco de dados Aurora, o Application Auto Scaling executa todas as verificações a seguir para verificar se o usuário tem as permissões necessárias (em negrito).

  • RDS:c reateDBInstance: Para determinar se o usuário tem essa permissão, enviamos uma solicitação para a CreateDBInstance API operação, tentando criar uma instância de banco de dados com parâmetros inválidos (ID de instância vazia) no cluster de banco de dados Aurora especificado pelo usuário. Para um usuário autorizado, ele API retorna uma resposta InvalidParameterValue de código de erro depois de auditar a solicitação. No entanto, para um usuário não autorizado, obtemos um erro AccessDenied e a solicitação do Application Auto Scaling falha, com um erro ValidationExceptionpara o usuário que lista as permissões ausentes.

  • rds:d eleteDBInstance: Enviamos um ID de instância vazio para a operação. DeleteDBInstance API Para um usuário autorizado, essa solicitação resulta em um erro InvalidParameterValue. Para um usuário não autorizado, isso resulta em AccessDenied e envia uma exceção de validação para o usuário (mesmo tratamento descrito no primeiro marcador).

  • rds:AddTagsToResource: Como a AddTagsToResource API operação exige um nome de recurso da Amazon (ARN), é necessário especificar um recurso “fictício” usando um ID de conta inválido (12345) e um ID de instância fictício () para construir o (non-existing-db). ARN arn:aws:rds:us-east-1:12345:db:non-existing-db Para um usuário autorizado, essa solicitação resulta em um erro InvalidParameterValue. Para um usuário não autorizado, isso resulta em AccessDenied e envia uma exceção de validação para o usuário.

  • RDS:d escribeDBCluster: Descrevemos o nome do cluster do recurso que está sendo registrado para escalonamento automático. Para um usuário autorizado, obtemos um resultado de descrição válido. Para um usuário não autorizado, isso resulta em AccessDenied e envia uma exceção de validação para o usuário.

  • RDS: D. escribeDBInstance Chamamos o DescribeDBInstance API com um db-cluster-id filtro que filtra o nome do cluster fornecido pelo usuário para registrar o destino escalável. Para um usuário autorizado, temos permissão para descrever todas as instâncias de banco de dados no cluster do banco de dados. Para um usuário não autorizado, essa chamada resulta em AccessDenied e envia uma exceção de validação para o usuário.

  • cloudwatch:PutMetricAlarm: Chamamos o PutMetricAlarm API sem nenhum parâmetro. Como o nome do alarme está ausente, a solicitação resulta em ValidationError para um usuário autorizado. Para um usuário não autorizado, isso resulta em AccessDenied e envia uma exceção de validação para o usuário.

  • cloudwatch:DescribeAlarms: Chamamos o DescribeAlarms API com o valor do número máximo de registros definido como 1. Para um usuário autorizado, esperamos informações sobre um alarme na resposta. Para um usuário não autorizado, essa chamada resulta em AccessDenied e envia uma exceção de validação para o usuário.

  • cloudwatch:DeleteAlarms: Semelhante ao PutMetricAlarm descrito acima, não fornecemos parâmetros para DeleteAlarms solicitar. Como o nome do alarme está ausente da solicitação, essa chamada falhará com um ValidationError para um usuário autorizado. Para um usuário não autorizado, isso resulta em AccessDenied e envia uma exceção de validação para o usuário.

Sempre que qualquer um desses erros de validação ocorrer, ele será registrado. Você pode tomar medidas para identificar manualmente quais chamadas falharam na validação usando AWS CloudTrail. Para obter mais informações, consulte o Guia do usuário do AWS CloudTrail.

nota

Se você receber alertas sobre o uso de eventos do Application Auto Scaling CloudTrail, esses alertas incluirão as chamadas do Application Auto Scaling para validar as permissões do usuário por padrão. Para filtrar esses alertas, use o campo invokedBy, que conterá application-autoscaling.amazonaws.com para essas verificações de validação.