Usar perfis vinculados ao serviço para o MemoryDB - Amazon MemoryDB

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á.

Usar perfis vinculados ao serviço para o MemoryDB

O MemoryDB usa funções vinculadas ao serviço AWS Identity and Access Management (IAM). Uma função vinculada ao serviço é um tipo exclusivo de função do IAM vinculada diretamente a um AWS serviço, 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. As funções já existem na sua AWS conta, mas estão vinculadas 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. É possível excluir as funções 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.

Para obter informações sobre outros serviços compatíveis com perfis vinculados a serviços, consulte Serviços da AWS compatíveis com o IAM e procure os serviços que contenham Sim na coluna Service-Linked Role. Escolha um Sim com um link para visualizar a documentação do perfil vinculado para esse serviço.

Permissões de perfil vinculado ao serviço para o MemoryDB

O MemoryDB usa a função vinculada ao serviço chamada AWSServiceRoleForMemoryDB — Essa política permite que o MemoryDB gerencie AWS recursos em seu nome conforme necessário para gerenciar seus clusters.

A política de permissões de função vinculada ao serviço de AWSService RoleForMemory banco de dados permite que o MemoryDB conclua as seguintes ações nos recursos especificados:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateMemoryDBTagsOnNetworkInterfaces", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateNetworkInterface" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "AmazonMemoryDBManaged" ] } } }, { "Sid": "CreateNetworkInterfaces", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Sid": "DeleteMemoryDBTaggedNetworkInterfaces", "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "ec2:ResourceTag/AmazonMemoryDBManaged": "true" } } }, { "Sid": "DeleteNetworkInterfaces", "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "arn:aws:ec2:*:*:security-group/*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkInterfaces", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Sid": "PutCloudWatchMetricData", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "AWS/MemoryDB" } } }, { "Sid": "ReplicateMemoryDBMultiRegionClusterData", "Effect": "Allow", "Action": [ "memorydb:ReplicateMultiRegionClusterData" ], "Resource": "arn:aws:memorydb:*:*:cluster/*" } ] }

Para obter mais informações, consulte AWS política gerenciada: Memória DBService RolePolicy.

Para permitir que uma entidade do IAM crie funções vinculadas ao serviço de AWSService RoleForMemory banco de dados

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:AWS ServiceName": "memorydb.amazonaws.com"}} }

Para permitir que uma entidade do IAM exclua funções vinculadas ao serviço de AWSService RoleForMemory banco de dados

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:AWS ServiceName": "memorydb.amazonaws.com"}} }

Como alternativa, você pode usar uma política AWS gerenciada para fornecer acesso total 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 um perfil vinculado ao serviço (console)
  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 esquerdo do console IAM, escolha Funções. Em seguida, escolha Criar nova função.

  3. Em Selecionar tipo de entidade confiável, selecione Serviço da AWS .

  4. Em Ou selecione um serviço para visualizar seus casos de uso, escolha MemoryDB.

  5. Escolha Próximo: permissões.

  6. Em Nome da política, observe que MemoryDBServiceRolePolicy é necessário para esta função. Escolha Próximo: tags.

  7. Observe que não há suporte para as tags para funções vinculadas ao serviço. Escolha Próximo: análise.

  8. (Opcional) Em Descrição da função, edite a descrição para a nova função vinculada ao serviço.

  9. 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 as operações do IAM do AWS Command Line Interface para criar 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-name memorydb.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 o comando CreateServiceLinkedRole Chamada de API. 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 a função vinculada ao serviço de AWSService RoleForMemory banco de dados. 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)
  1. No painel de navegação esquerdo do console IAM, escolha Funções.

  2. Escolha o nome da função a ser modificada.

  3. No extremo direito da Descrição da função, escolha Editar.

  4. 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 as operações do IAM do AWS Command Line Interface para editar uma descrição de função vinculada ao serviço.

Para alterar a descrição de uma função (CLI)
  1. (Opcional) Para ver a descrição atual de uma função, use a operação AWS CLI for IAMget-role.

    $ aws iam get-role --role-name AWSServiceRoleForMemoryDB

    Use 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 como myrole.

  2. Para atualizar a descrição de uma função vinculada ao serviço, use a operação AWS CLI for 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)
  1. (Opcional) Para ver a descrição atual de uma função, use a operação da API IAM GetRole.

    https://iam.amazonaws.com/ ?Action=GetRole &RoleName=AWSServiceRoleForMemoryDB &Version=2010-05-08 &AUTHPARAMS
  2. Para atualizar a descrição de um papel, use a operação da API 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 atributo 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. 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
  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 esquerdo do console IAM, escolha Funções. Em seguida, escolha o nome (não a caixa de seleção) da função de AWSService RoleForMemory banco de dados.

  3. Na página Resumo para a função selecionada, escolha a guia Consultor de Acesso.

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

Para excluir recursos do MemoryDB que exigem AWSService RoleForMemory DB (console)

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)
  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 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.

  3. Em ações de Função na parte superior da página, escolha a função Excluir.

  4. 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 AWS serviço 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.

  5. 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 as operações do IAM do AWS Command Line Interface para excluir uma função vinculada ao serviço.

Para excluir uma função vinculado ao serviço (CLI)
  1. 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 seus nomes de recursos da Amazon (ARNs) em sua conta.

    $ aws iam get-role --role-name role-name

    Use 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 como myrole.

  2. 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-id da 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-name role-name
  3. Insita o seguinte para verificar o estado da tarefa de exclusão.

    $ aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    O status da tarefa de exclusão pode ser NOT_STARTED, IN_PROGRESS, SUCCEEDED, ou FAILED. 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)
  1. Para enviar uma solicitação de exclusão de um roll vinculada ao serviço, chame DeleteServiceLinkedRole. Na solicitação, especifique um nome de 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 DeletionTaskId da resposta para verificar o status da tarefa de exclusão.

  2. Para verificar o status da exclusão, chame GetServiceLinkedRoleDeletionStatus. Na solicitação, especifique DeletionTaskId o.

    O status da tarefa de exclusão pode ser NOT_STARTED, IN_PROGRESS, SUCCEEDED, ou FAILED. Se a exclusão falhar, a chamada informará o motivo de falha para que você possa solucionar o problema.