Criar um perfil vinculado ao serviço
Uma função vinculada ao serviço é um tipo exclusivo de função do IAM vinculado diretamente a um serviço da AWS. As funções vinculadas a serviços são predefinidas pelo serviço e incluem todas as permissões que o serviço requer para chamar outros serviços da AWS em seu nome. O serviço vinculado também define como criar, modificar e excluir uma função vinculada a serviço. Um serviço pode criar ou excluir a função automaticamente. Ele pode permitir que você crie, modifique ou exclua a função como parte de um assistente ou processo no serviço. Ou pode exigir que você use o IAM para criar ou excluir a função. Independente do método, as funções vinculadas a serviço simplificam o processo de configurar um serviço da , pois você não precisa adicionar manualmente as permissões para o serviço concluir as ações em seu nome.
nota
Lembre-se de que perfis de serviço são diferentes de perfis vinculados a serviços. O perfil de serviço é um perfil do IAM que um serviço assume para realizar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir um perfil de serviço do IAM. Para obter mais informações, consulte Criação de um perfil para delegar permissões a um AWS service (Serviço da AWS) no Guia do Usuário do IAM. Um perfil vinculado ao serviço é um tipo de perfil de serviço vinculado a um AWS service (Serviço da AWS). O serviço pode presumir a função de executar uma ação em seu nome. Os perfis vinculados ao serviço aparecem em sua Conta da AWS e pertencem ao serviço. Um administrador do IAM pode visualizar, mas não editar as permissões para perfis vinculados ao serviço.
O serviço vinculado define as permissões de suas funções vinculadas ao serviço e, a menos que definido em contrário, somente aquele serviço pode assumir as 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.
Para poder excluir as funções, você deve primeiroexcluir os recursos relacionados a eles. Isso protege seus recursos do , pois você não pode remover por engano as permissões para acessar os recursos.
dica
Para obter informações sobre quais serviços oferecem suporte a funções vinculadas a serviços, consulte Serviços da AWS que funcionam com o IAM e procure os serviços que têm Sim na coluna Função vinculada ao serviço. 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
Configure as permissões para que uma entidade do IAM (usuário ou função) permita que o usuário ou a função crie ou edite a função vinculada ao serviço.
nota
O ARN de uma função vinculada ao serviço inclui uma entidade principal do serviço que é indicada nas políticas abaixo como
. Não tente adivinhar a entidade principal do serviço, pois ela faz distinção entre maiúsculas e minúsculas, e o formato pode variar entre os serviços da AWS. Para visualizar a entidade principal do serviço, consulte a documentação do perfil vinculado ao serviço.SERVICE-NAME
.amazonaws.com
Para permitir que uma entidade do IAM; crie uma função vinculada ao serviço
Adicione a seguinte política à entidade do IAM que precisa criar a função vinculada ao serviço.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/
SERVICE-NAME
.amazonaws.com/SERVICE-LINKED-ROLE-NAME-PREFIX
*", "Condition": {"StringLike": {"iam:AWSServiceName": "SERVICE-NAME
.amazonaws.com"}} }, { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/aws-service-role/SERVICE-NAME
.amazonaws.com/SERVICE-LINKED-ROLE-NAME-PREFIX
*" } ] }
Para permitir que uma entidade do IAM crie qualquer função vinculada ao serviço
Adicione a seguinte instrução à política de permissões da entidade do IAM que precisa criar uma função vinculada ao serviço ou qualquer função de serviço que inclua as políticas necessárias. Esta declaração de política não permite que a entidade do IAM anexe uma política à função.
{ "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/*" }
Para permitir que uma entidade do IAM edite a descrição de todas as funções de serviço
Adicione a seguinte instrução à política de permissões da entidade do IAM que precisa editar uma descrição de uma função vinculada ao serviço ou qualquer função de serviço.
{ "Effect": "Allow", "Action": "iam:UpdateRoleDescription", "Resource": "arn:aws:iam::*:role/aws-service-role/*" }
Para permitir que uma entidade do IAM exclua uma função vinculada ao serviço específica
Adicione a seguinte instrução à política de permissões para a entidade do IAM que precisa excluir a função vinculada ao serviço.
{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/
SERVICE-NAME
.amazonaws.com/SERVICE-LINKED-ROLE-NAME-PREFIX
*" }
Para permitir que uma entidade do IAM exclua qualquer função vinculada ao serviço
Adicione a seguinte instrução à política de permissões da entidade do IAM que precisa excluir uma função vinculada ao serviço, mas não a função de serviço.
{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/*" }
Para permitir que uma entidade do IAM transmita uma função existente para o serviço
Alguns serviços do AWS permitem que você transmita uma função existente para o serviço, ao invés de criar uma nova função vinculada ao serviço. Para fazer isso, um usuário deve ter permissões para transmitir a função para o serviço. Adicione a seguinte instrução à política de permissões para a entidade do IAM necessária para transmitir a função. Esta declaração de política também permite que a entidade visualize uma lista de funções a partir da qual elas podem escolher a função a ser transmitida. Para ter mais informações, consulte Conceda permissões a um usuário para passar um perfil para um serviço da AWS.
{ "Sid": "PolicyStatementToAllowUserToListRoles", "Effect": "Allow", "Action": ["iam:ListRoles"], "Resource": "*" }, { "Sid": "PolicyStatementToAllowUserToPassOneSpecificRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::
account-id
:role/my-role-for-XYZ
" }
Permissões indiretas com funções vinculadas a serviços
As permissões concedidas por uma função vinculada a um serviço podem ser transferidas indiretamente para outros usuários e funções. Quando uma função vinculada ao serviço é usada por um serviço da AWS, essa função vinculada ao serviço pode usar suas próprias permissões para chamar outros serviços da AWS. Isso significa que usuários e funções com permissões para chamar um serviço que usa uma função vinculada ao serviço podem ter acesso indireto aos serviços acessíveis por essa função vinculada ao serviço.
Por exemplo, quando você cria uma instância de banco de dados do Amazon RDS, uma função vinculada ao serviço para o RDS será criada automaticamente se ainda não houver uma. Essa função permite que o RDS chame o Amazon EC2, o Amazon SNS, o Amazon CloudWatch Logs e o Amazon Kinesis em seu nome. Se você permitir que usuários e perfis em sua conta modifiquem ou criem bancos de dados do RDS, eles poderão interagir indiretamente com o Amazon EC2, o Amazon SNS, os logs do Amazon CloudWatch Logs e os recursos do Amazon Kinesis por meio de chamadas ao RDS, pois o RDS usaria sua função vinculada ao serviço para acessar esses recursos.
Criar uma função vinculada ao serviço
O método que você usa para criar uma função vinculada ao serviço depende do serviço. Em alguns casos, você não precisa criar manualmente uma função vinculada ao serviço. Por exemplo, quando você conclui uma ação específica (como a criação de um recurso) no serviço, o serviço pode criar a função vinculada ao serviço para você. Ou, se você estava usando um serviço antes que ele começou a oferecer suporte a funções vinculadas ao serviço, o serviço pode ter criado automaticamente a função na sua conta. Para saber mais, consulte Uma nova função apareceu na minha conta da AWS.
Em outros casos, o serviço pode oferecer suporte à criação de uma função vinculada ao serviço manualmente usando o console, API ou CLI do serviço. Para obter informações sobre quais serviços oferecem suporte a funções vinculadas a serviços, consulte Serviços da AWS que funcionam com o IAM e procure os serviços que têm Sim na coluna Função vinculada ao serviço. Para saber se o serviço oferece suporte para criar a função vinculada ao serviço, escolha o link Sim para visualizar a documentação da função vinculada a esse serviço.
Se o serviço não for compatível com a criação da função, você poderá usar o IAM para criar a função vinculada ao serviço.
Importante
Perfis vinculados a serviço contam para o limite dos seus perfis do IAM em uma Conta da AWS, mas, se você tiver atingido seu limite, ainda poderá criar perfis vinculados a serviço na sua conta. Somente as funções vinculadas ao serviço podem exceder o limite.
Criar uma função vinculada ao serviço (console)
Antes de criar uma função vinculada ao serviço no IAM, descubra se o serviço vinculado cria automaticamente funções vinculadas ao serviço. Além disso, saiba se você pode criar a função no console, na API ou na CLI do serviço.
Para criar uma função vinculada ao serviço (console)
Faça login em AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação do console do IAM, escolha Perfis. Depois, escolha Create role (Criar perfil).
-
Escolha o tipo de função AWS Service (Service).
-
Escolha o caso de uso para o seu serviço. Casos de uso são definidos pelo serviço para incluir a política de confiança exigida pelo serviço. Em seguida, escolha Próximo.
-
Escolha uma ou mais políticas de permissões a serem anexadas à função. Dependendo do caso de uso que você selecionou, o serviço pode executar uma das seguintes ações:
-
Defina as permissões usadas pela função.
-
Permita que você escolha um conjunto limitado de permissões.
-
Permita que você escolha entre todas as permissões.
-
Permitir que você opte por não selecionar nenhuma política no momento, criar políticas mais tarde e, em seguida, anexá-las à função.
Marque a caixa de seleção ao lado da política que atribui as permissões que você deseja que o perfil tenha e escolha Próximo.
nota
As permissões que você especificar estarão disponíveis para qualquer entidade que usar a função. Por padrão, uma função não tem nenhuma permissões.
-
-
Para Nome do perfil, o grau de personalização do nome do perfil é definido pelo serviço. Se o serviço define o nome da função, essa opção não é editável. Em outros casos, o serviço pode definir um prefixo para a função e permitir que você insira um sufixo opcional.
Se possível, insira um sufixo de nome de função a ser adicionado ao nome padrão. O sufixo ajuda a identificar a finalidade dessa função. Os nomes de função devem ser exclusivos em sua conta AWS. Eles não são diferenciados por letras maiúsculas e minúsculas. Por exemplo, não é possível criar perfis denominados
<service-linked-role-name>_SAMPLE
e<service-linked-role-name>_sample
. Como várias entidades podem fazer referência à função, não é possível editar o nome da função depois que ela é criada. -
(Opcional) Em Description (Descrição), edite a descrição para a nova função vinculado ao serviço.
-
Você não pode anexar tags para funções vinculadas ao serviço durante a criação. Para obter mais informações sobre como usar tags no IAM, consulte Tags para recursos do AWS Identity and Access Management.
-
Revise o perfil e escolha Criar perfil.
Criar uma função vinculada ao serviço (AWS CLI)
Antes de criar uma função vinculada ao serviço no IAM, descubra se o serviço vinculado cria automaticamente as funções vinculadas ao serviço e se você pode criar a função na CLI do serviço. Se a CLI do serviço não for compatível, você poderá usar comandos do IAM para criar uma função vinculada ao serviço com a política de confiança e políticas em linha de que o serviço precisa assumir a função.
Para criar uma função vinculada ao serviço (AWS CLI)
Execute o seguinte comando:
aws iam create-service-linked-role --aws-service-name
SERVICE-NAME
.amazonaws.com
Criar uma função vinculada ao serviço (API da AWS)
Antes de criar uma função vinculada ao serviço no IAM, descubra se o serviço vinculado cria automaticamente as funções vinculadas ao serviço e se você pode criar a função na API do serviço. Se a API do serviço não for suportada, você pode usar a API do AWS para criar uma função vinculada ao serviço com a política de confiança e 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 da AWS)
Use a chamada de API CreateServiceLinkedRole. Na solicitação, especifique o nome do serviço na forma de
. SERVICE_NAME_URL
.amazonaws.com
Por exemplo, para criar a função vinculada ao serviço Lex Bots, use lex.amazonaws.com
.