Usar perfis vinculados ao serviço para o MemoryDB
O MemoryDB usa perfis vinculados ao serviço do AWS Identity and Access Management (IAM). Um perfil vinculado ao serviço é um tipo exclusivo de perfil do IAM vinculado diretamente a um serviço da AWS, como o MemoryDB. Os perfis vinculados ao serviço do MemoryDB são predefinidos pelo MemoryDB. Elas incluem todas as permissões que o serviço exige para chamar os serviços da AWS em nome dos seus clusters.
Um perfil vinculado ao serviço facilita a configuração do MemoryDB, já que você não precisa adicionar as permissões necessárias manualmente. Os perfis existem na conta da AWS, mas estão vinculados aos casos de uso do MemoryDB e têm permissões predefinidas. Somente o MemoryDB pode assumir esses perfis e somente esses perfis podem usar a política de permissões predefinidas. Você pode excluir os perfis somente depois de primeiro excluir seus recursos relacionados. Isso protege os recursos do MemoryDB, já que não é possível remover por engano as permissões necessárias para acessar os recursos.
Consulte informações sobre outros serviços compatíveis com perfis vinculados ao serviço em Serviços da AWS que funcionam com o IAM e procure os serviços que apresentarem Sim na coluna Perfil vinculado ao serviço. Escolha um Sim com um link para visualizar a documentação do perfil vinculado para esse serviço.
Sumário
Permissões de perfil vinculado ao serviço para o MemoryDB
O MemoryDB usa o perfil vinculado ao serviço chamado AWSServiceRoleForMemoryDB. Essa política permite que o MemoryDB gerencie recursos da AWS em seu nome, conforme necessário para gerenciar os clusters.
A política de permissões do perfil vinculado ao serviço AWSServiceRoleForMemoryDB possibilita que o MemoryDB conclua as seguintes ações nos recursos especificados:
Para obter mais informações, consulte Política gerenciada pela AWS: MemoryDBServiceRolePolicy.
Para permitir que uma entidade IAM crie funções vinculadas ao serviço AWSServiceRoleForMemoryDB
Adicione a seguinte declaração de política às permissões dessa entidade IAM:
{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/aws-service-role/memorydb.amazonaws.com/AWSServiceRoleForMemoryDB*", "Condition": {"StringLike": {"iam:AWSServiceName": "memorydb.amazonaws.com"}} }
Para permitir que uma entidade IAM exclua funções vinculadas ao serviço AWSServiceRoleForMemoryDB
Adicione a seguinte declaração de política às permissões dessa entidade IAM:
{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/memorydb.amazonaws.com/AWSServiceRoleForMemoryDB*", "Condition": {"StringLike": {"iam:AWSServiceName": "memorydb.amazonaws.com"}} }
Como alternativa, você pode usar uma política gerenciada pela AWS para fornecer acesso completo ao MemoryDB.
Criação de uma função vinculada ao serviço (IAM)
Você pode criar uma função vinculada ao serviço usando o console do IAM, a CLI ou a API.
Criação de uma função vinculada ao serviço (console do IAM)
Você pode usar o console do IAM para criar uma função vinculada ao serviço.
Para criar uma função vinculada ao serviço (console)
Faça login no Console de gerenciamento da AWS e abra o console do IAM, em https://console.aws.amazon.com/iam/
. -
No painel de navegação esquerdo do console IAM, escolha Funções. Em seguida, escolha Criar nova função.
-
Em Selecionar tipo de entidade confiável, selecione Serviço da AWS.
-
Em Ou selecione um serviço para visualizar seus casos de uso, escolha MemoryDB.
Escolha Próximo: permissões.
Em Nome da política, observe que
MemoryDBServiceRolePolicyé necessário para esta função. Escolha Próximo: tags.Observe que não há suporte para as tags para funções vinculadas ao serviço. Escolha Próximo: análise.
-
(Opcional) Em Descrição da função, edite a descrição para a nova função vinculada ao serviço.
-
Revise a função e escolha Criar função.
Criação de uma função vinculada ao serviço (CLI do IAM)
Você pode usar operações do IAM na AWS Command Line Interface para excluir uma função vinculada ao serviço. Essa função pode incluir a política de confiança e as políticas em linha de que o serviço precisa para assumir a função.
Para criar uma função vinculada ao serviço (CLI)
Use a seguinte operação:
$aws iam create-service-linked-role --aws-service-namememorydb.amazonaws.com
Criação de uma função vinculada ao serviço (API do IAM)
Você pode usar a API do IAM para excluir uma função vinculada ao serviço. Essa função pode conter a política de confiança e as políticas em linha de que o serviço precisa para assumir a função.
Para criar uma função vinculada ao serviço (API)
Use a chamada da API CreateServiceLinkedRole. Na solicitação, especifique o nome do serviço na forma de memorydb.amazonaws.com.
Editar a descrição de um perfil vinculado ao serviço para o MemoryDB
O MemoryDB não permite que você edite o perfil vinculado ao serviço AWSServiceRoleForMemoryDB. Depois que criar um perfil vinculado ao serviço, você não poderá alterar o nome do perfil, pois várias entidades podem fazer referência a ele. No entanto, será possível editar a descrição do perfil usando o IAM.
Edição da descrição de uma função vinculada ao serviço (console do IAM)
Também é possível usar o console do IAM para editar a descrição de uma função vinculada ao serviço.
Para editar a descrição de uma função vinculada ao serviço (console)
-
No painel de navegação esquerdo do console IAM, escolha Funções.
-
Escolha o nome da função a ser modificada.
-
No extremo direito da Descrição da função, escolha Editar.
-
Insira uma nova descrição na caixa e escolha Salvar.
Edição da descrição de uma função vinculada ao serviço (CLI do IAM)
Você pode usar operações do IAM na AWS Command Line Interface para editar a descrição de uma função vinculada ao serviço.
Para alterar a descrição de uma função (CLI)
-
(Opcional) Para visualizar a descrição atual de uma função, use a AWS CLI para a operação do IAM
get-role.$aws iam get-role --role-name AWSServiceRoleForMemoryDBUse o nome da função, não o nome de recurso da Amazon (ARN), para fazer referência às funções com as operações da CLI. Por exemplo, se uma função tiver o seguinte nome de recurso da Amazon (ARN):
arn:aws:iam::123456789012:role/myrole, você fará referência à função comomyrole. -
Para atualizar a descrição de uma função vinculada ao serviço, use a AWS CLIpara a operação do IAM
update-role-description.Para Linux, macOS ou Unix:
$aws iam update-role-description \ --role-name AWSServiceRoleForMemoryDB \ --description "new description"Para Windows:
$aws iam update-role-description ^ --role-name AWSServiceRoleForMemoryDB ^ --description "new description"
Edição da descrição de uma função vinculada ao serviço (API do IAM)
Você pode usar a API do IAM para editar uma descrição de função vinculada ao serviço.
Para alterar a descrição de uma função (API)
-
(Opcional) Para visualizar a descrição atual de uma função, use a operação da API do IAM GetRole.
https://iam.amazonaws.com/ ?Action=GetRole &RoleName=AWSServiceRoleForMemoryDB&Version=2010-05-08 &AUTHPARAMS -
Para atualizar uma descrição de função, use a operação da API do IAM UpdateRoleDescription.
https://iam.amazonaws.com/ ?Action=UpdateRoleDescription &RoleName=AWSServiceRoleForMemoryDB&Version=2010-05-08 &Description="New description"
Excluir um perfil vinculado ao serviço para o MemoryDB
Se você não precisar mais usar um recurso ou serviço que requer um perfil vinculado ao serviço, é recomendável excluí-lo. Dessa forma, você não tem uma entidade não utilizada que não seja monitorada ativamente ou mantida. No entanto, você deve limpar sua função vinculada ao serviço antes de excluí-la.
O MemoryDB não exclui o perfil vinculado ao serviço para você.
Limpar uma função vinculada ao serviço
Antes de usar o IAM para excluir uma função vinculada a um serviço, primeiro confirme se a função não tem recursos (clusters) associados a ela.
Para verificar se a função vinculada ao serviço tem uma sessão ativa no console do IAM
Faça login no Console de gerenciamento da AWS e abra o console do IAM, em https://console.aws.amazon.com/iam/
. -
No painel de navegação esquerdo do console IAM, escolha Funções. A seguir, escolha o nome (não a caixa de seleção) da função AWSServiceRoleForMemoryDB.
-
Na página Resumo para a função selecionada, escolha a guia Consultor de Acesso.
-
Na guia Consultor de Acesso, revise a atividade recente para a função vinculada ao serviço.
Como excluir recursos do MemoryDB que exigem AWSServiceRoleForMemoryDB (console)
-
Para excluir um cluster, consulte o seguinte:
Exclusão de uma função vinculada ao serviço (console do IAM)
É possível usar o console do IAM para excluir uma função vinculada ao serviço.
Para excluir uma função vinculada ao serviço (console)
Faça login no Console de gerenciamento da AWS e abra o console do IAM, em https://console.aws.amazon.com/iam/
. -
No painel de navegação esquerdo do console IAM, escolha Funções. Selecione a caixa de marcação ao lado do nome da função que você deseja excluir, não o nome ou a linha em si.
-
Em ações de Função na parte superior da página, escolha a função Excluir.
-
Na página de confirmação, revise os dados do último acesso ao serviço, que mostram quando cada uma das funções selecionadas acessou um serviço AWS pela última vez. Isso ajuda você a confirmar se a função está ativo no momento. Se quiser prosseguir, escolha Sim, Excluir para enviar a função vinculada ao serviço para exclusão.
-
Monitore as notificações do console do IAM para progresso da exclusão da função vinculada ao serviço. Como a exclusão da função vinculada ao serviço do IAM é assíncrona, depois de enviar a função para exclusão, a tarefa pode ou não ser bem-sucedida. Se a tarefa obtiver êxito, você poderá escolher Visualizar Detalhes ou Visualizar Recursos a partir das notificações para saber por que a exclusão falhou.
Exclusão de uma função vinculada ao serviço (CLI do IAM)
Você pode usar operações do IAM na AWS Command Line Interface para excluir uma função vinculada ao serviço.
Para excluir uma função vinculado ao serviço (CLI)
-
Se você não souber o nome da função vinculada ao serviço que deseja excluir, insira o seguinte comando. Esse comando lista as funções e os nomes de recursos da Amazon (ARNs) em sua conta.
$aws iam get-role --role-namerole-nameUse o nome da função, não o nome de recurso da Amazon (ARN), para fazer referência às funções com as operações da CLI. Por exemplo, se uma função tiver o ARN
arn:aws:iam::123456789012:role/myrole, você fará referência à função comomyrole. -
Como uma função vinculada ao serviço não podem ser excluída se estiver sendo usada ou tiver recursos associados, você deverá enviar uma solicitação de exclusão. Essa solicitação poderá ser negada se essas condições não forem atendidas. Você deve capturar o
deletion-task-idda resposta para verificar o status da tarefa de exclusão. Insira o seguinte para enviar uma solicitação de exclusão de função vinculada ao serviço.$aws iam delete-service-linked-role --role-namerole-name -
Insita o seguinte para verificar o estado da tarefa de exclusão.
$aws iam get-service-linked-role-deletion-status --deletion-task-iddeletion-task-idO status da tarefa de exclusão pode ser
NOT_STARTED,IN_PROGRESS,SUCCEEDED, ouFAILED. Se a exclusão falhar, a chamada informará o motivo de falha para que você possa solucionar o problema.
Exclusã de uma função vinculada ao serviço (API do IAM)
É possível usar a API do IAM para excluir uma função vinculada ao serviço.
Para excluir uma função vinculada ao serviço (API)
-
Para enviar uma solicitação de exclusão de um roll vinculada ao serviço, chame DeleteServiceLinkedRole. Na solicitação, especifique o nome da função.
Como uma função vinculada ao serviço não podem ser excluída se estiver sendo usada ou tiver recursos associados, você deverá enviar uma solicitação de exclusão. Essa solicitação poderá ser negada se essas condições não forem atendidas. Você deve capturar o
DeletionTaskIdda resposta para verificar o status da tarefa de exclusão. -
Para verificar o status da exclusão, chame GetServiceLinkedRoleDeletionStatus. Na solicitação, especifique o
DeletionTaskId.O status da tarefa de exclusão pode ser
NOT_STARTED,IN_PROGRESS,SUCCEEDED, ouFAILED. Se a exclusão falhar, a chamada informará o motivo de falha para que você possa solucionar o problema.