Usar funções vinculadas ao serviço do Amazon RDS - Amazon Relational Database Service

Usar funções vinculadas ao serviço do Amazon RDS

O Amazon RDS usa funções vinculadas ao serviço do AWS Identity and Access Management (IAM). O perfil vinculado ao serviço é um tipo exclusivo de perfil do IAM vinculado diretamente ao Amazon RDS. Os perfis vinculados a serviços são predefinidos pelo Amazon RDS e incluem todas as permissões que o serviço requer para chamar outros serviços da AWS em seu nome.

Uma função vinculada ao serviço facilita o uso do Amazon RDS porque você não precisa adicionar as permissões necessárias manualmente. O Amazon RDS define as permissões das funções vinculadas ao serviço e, exceto se definido de outra forma, somente o Amazon RDS pode assumir suas funções. As permissões definidas incluem a política de confiança e a política de permissões, e essa política não pode ser anexada a nenhuma outra entidade do IAM.

Você pode excluir as funções somente depois de primeiro excluir seus recursos relacionados. Isso protege seus recursos do Amazon RDS, pois você não pode remover por engano as permissões para acessar os recursos.

Para obter informações sobre outros serviços compatíveis com funções vinculadas a serviços, consulte Serviços da AWS compatíveis com o IAM e procure serviços que tenham Sim na coluna de função vinculada ao serviço. Escolha um Sim com um link para visualizar a documentação da função vinculada a serviço desse serviço.

Permissões de função vinculada ao serviço do Amazon RDS

O Amazon RDS utiliza a função vinculada a serviço chamada AWSServiceRoleForRDS para permitir que o Amazon RDS chame serviços da AWS em nome das suas instâncias de banco de dados.

A função vinculada ao serviço AWSServiceRoleForRDS confia nos seguintes serviços para assumir a função:

  • rds.amazonaws.com

Essa função vinculada a serviços tem uma política de permissões anexada a ela, chamada AmazonRDSServiceRolePolicy, que concede permissões para operar na conta. A política de permissões da função permite que o Amazon RDS conclua as seguintes ações nos recursos especificados:

Para ter mais informações sobre essa política, incluindo o documento de política JSON, consulte AmazonRDSServiceRolePolicy no Guia de referência de políticas gerenciadas pela AWS.

nota

É necessário configurar permissões para que uma entidade do IAM (por exemplo, um usuário, grupo ou função) crie, edite ou exclua uma função vinculada ao serviço. Se encontrar a seguinte mensagem de erro:

Impossível criar o recurso. Você se você tem permissão para criar a função vinculada ao serviço. Caso contrário, aguarde e tente novamente mais tarde.

Certifique-se de que você tem as seguintes permissões ativadas:

{ "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS", "Condition": { "StringLike": { "iam:AWSServiceName":"rds.amazonaws.com" } } }

Para ter mais informações, consulte Service-linked role permissions (Permissões de nível vinculado a serviços) no Guia do usuário do IAM.

Criar uma função vinculada ao serviço para o Amazon RDS

Você não precisa criar manualmente uma função vinculada a serviço. Ao criar uma instância de banco de dados, o Amazon RDS cria a função vinculada ao serviço para você.

Importante

Se você já usava o serviço Amazon RDS antes de 1.º de dezembro de 2017, quando ele começou a comportar funções vinculadas a serviços, o Amazon RDS já criou a função AWSServiceRoleForRDS em sua conta. Para saber mais, consulte Uma nova função apareceu na minha conta da AWS.

Se você excluir essa função vinculada ao serviço e precisar criá-la novamente, poderá usar esse mesmo processo para recriar a função em sua conta. Ao criar uma instância de banco de dados, o Amazon RDS cria a função vinculada ao serviço para você novamente.

Editar uma função vinculada ao serviço para o Amazon RDS

O Amazon RDS não permite que você edite a função vinculada ao serviço AWSServiceRoleForRDS. Depois que criar uma função vinculada ao serviço, você não poderá alterar o nome da função, pois várias entidades podem fazer referência a ela. No entanto, será possível editar a descrição da função usando o IAM. Para ter mais informações, consulte Editar uma função vinculada a serviço no Guia do usuário do IAM.

Excluir uma função vinculada ao serviço para o Amazon RDS

Se você não precisar mais usar um recurso ou serviço que requer uma função vinculada a serviço, é recomendável excluí-la. Dessa forma, você não tem uma entidade não utilizada que não seja monitorada ativamente ou mantida. Contudo, você deve excluir todas as suas instâncias de banco de dados antes de poder excluir a função vinculada ao serviço.

Limpar uma função vinculada ao serviço

Antes de você poder usar o IAM para excluir uma função vinculada ao serviço, você deve primeiro confirmar que a função não tem sessões ativas e remover quaisquer recursos usados pela função.

Para verificar se a função vinculada ao serviço tem uma sessão ativa no console do IAM
  1. Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação do console do IAM, escolha Roles (Perfis). A seguir, escolha o nome (não a caixa de seleção) da função AWSServiceRoleForRDS.

  3. Na página Summary Resumo) do perfil escolhido, escolha a guia Access Advisor (Consultor de acesso).

  4. Na guia Consultor de Acesso, revise a atividade recente para a função vinculada ao serviço.

    nota

    Se não tiver certeza se o Amazon RDS está usando a função AWSServiceRoleForRDS, você pode tentar excluir a função. Se o serviço estiver usando a função, a exclusão falhará e você poderá visualizar as regiões da AWS em que a função está sendo usada. Se a função está sendo usada, você deve aguardar a sessão final antes de excluir a função. Você não pode revogar a sessão para uma função vinculada a serviço.

Para remover a função AWSServiceRoleForRDS, primeiro é necessário excluir todas as instâncias de banco de dados.

Exclusão de todas as instâncias

Use um destes procedimentos para excluir cada uma de suas instâncias.

Para excluir uma instância (console)
  1. Abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Databases (Bancos de dados).

  3. Escolha a instância que você deseja excluir.

  4. Em Actions, escolha Delete.

  5. Se for exibido Create final Snapshot? (Criar snapshot final?), escolha Yes (Sim) ou No (Não).

  6. Se você escolher Yes (Sim) na etapa anterior, em Final snapshot name (Nome do snapshot final), digite o nome do snapshot final.

  7. Escolha Delete (Excluir).

Para excluir uma instância (CLI)

Consulte delete-db-instance no AWS CLI Command Reference.

Para excluir uma instância (API)

Consulte DeleteDBInstance no Amazon RDS API Reference.

Também é possível usar o console do IAM, a CLI do IAM ou a API do IAM para excluir a função AWSServiceRoleForRDS vinculada a serviço. Para ter mais informações, consulte Excluir uma função vinculada ao serviço no Guia do usuário do IAM.

Permissões de funções vinculadas a serviços para o Amazon RDS Custom

O Amazon RDS Custom utiliza a função vinculada a serviço chamada AWSServiceRoleForRDSCustom para permitir que o RDS Custom chame serviços da AWS em nome de suas instâncias e clusters de banco de dados.

A função vinculada ao serviço AWSServiceRoleForRDSCustom confia nos seguintes serviços para assumir a função:

  • custom.rds.amazonaws.com

Essa função vinculada a serviços tem uma política de permissões anexada a ela, chamada AmazonRDSCustomServiceRolePolicy, que concede permissões para operar na conta. A política de permissões da função permite que o RDS Custom conclua as seguintes ações nos recursos especificados:

Para ter mais informações sobre essa política, incluindo o documento de política JSON, consulte AmazonRDSCustomServiceRolePolicy no Guia de referência de políticas gerenciadas pela AWS.

O processo de criar, editar ou excluir a função vinculada a serviço para o RDS Custom funciona da mesma maneira do que para o Amazon RDS. Para ter mais informações, consulte Permissões de função vinculada ao serviço do Amazon RDS.

nota

É necessário configurar permissões para que uma entidade do IAM (por exemplo, um usuário, grupo ou função) crie, edite ou exclua uma função vinculada ao serviço. Se encontrar a seguinte mensagem de erro:

Impossível criar o recurso. Você se você tem permissão para criar a função vinculada ao serviço. Caso contrário, aguarde e tente novamente mais tarde.

Certifique-se de que você tem as seguintes permissões ativadas:

{ "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/custom.rds.amazonaws.com/AmazonRDSCustomServiceRolePolicy", "Condition": { "StringLike": { "iam:AWSServiceName":"custom.rds.amazonaws.com" } } }

Para ter mais informações, consulte Service-linked role permissions (Permissões de nível vinculado a serviços) no Guia do usuário do IAM.