O Amazon API Gateway usa funções vinculadas ao serviço do AWS Identity and Access Management (IAM). A função vinculada ao serviço é um tipo exclusivo de função do IAM vinculada diretamente ao API Gateway. As funções vinculadas a serviços são predefinidas pelo API Gateway 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 a configuração do API Gateway, já que não é preciso adicionar as permissões necessárias manualmente. O API Gateway define as permissões das funções vinculadas a serviços e, exceto se definido de outra forma, somente o API Gateway 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 uma função vinculada ao serviço somente depois de excluir os recursos relacionados da Isso protege os recursos do API Gateway, pois não é possível remover por engano as permissões para acessar os recursos.
Para obter informações sobre outros produtos que oferecem suporte às funções vinculadas a serviços, consulte Serviços da AWS compatíveis com o IAM e procure os serviços que apresentam Yes (Sim) na coluna Service-Linked Role (Função vinculada a serviço). Escolha um Sim com um link para exibir a documentação da função vinculada a serviço desse serviço.
Permissões de função vinculada ao serviço para o API Gateway
O API Gateway usa o perfil vinculado ao serviço chamado AWSServiceRoleForAPIGateway: permite que o API Gateway acesse o Elastic Load Balancing, o Amazon Data Firehose e outros recursos de serviços em seu nome.
A função vinculada ao serviço AWSServiceRoleForAPIGateway confia nos seguintes serviços para assumir a função:
-
ops.apigateway.amazonaws.com
A política de permissões da função permite que o API Gateway conclua as seguintes ações nos recursos especificados:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"elasticloadbalancing:AddListenerCertificates",
"elasticloadbalancing:RemoveListenerCertificates",
"elasticloadbalancing:ModifyListener",
"elasticloadbalancing:DescribeListeners",
"elasticloadbalancing:DescribeLoadBalancers",
"xray:PutTraceSegments",
"xray:PutTelemetryRecords",
"xray:GetSamplingTargets",
"xray:GetSamplingRules",
"logs:CreateLogDelivery",
"logs:GetLogDelivery",
"logs:UpdateLogDelivery",
"logs:DeleteLogDelivery",
"logs:ListLogDeliveries",
"servicediscovery:DiscoverInstances"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Action": [
"firehose:DescribeDeliveryStream",
"firehose:PutRecord",
"firehose:PutRecordBatch"
],
"Resource": "arn:aws:firehose:*:*:deliverystream/amazon-apigateway-*"
},
{
"Effect": "Allow",
"Action": [
"acm:DescribeCertificate",
"acm:GetCertificate"
],
"Resource": "arn:aws:acm:*:*:certificate/*"
},
{
"Effect": "Allow",
"Action": "ec2:CreateNetworkInterfacePermission",
"Resource": "arn:aws:ec2:*:*:network-interface/*"
},
{
"Effect": "Allow",
"Action": "ec2:CreateTags",
"Resource": "arn:aws:ec2:*:*:network-interface/*",
"Condition": {
"ForAllValues:StringEquals": {
"aws:TagKeys": [
"Owner",
"VpcLinkId"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:ModifyNetworkInterfaceAttribute",
"ec2:DeleteNetworkInterface",
"ec2:AssignPrivateIpAddresses",
"ec2:CreateNetworkInterface",
"ec2:DeleteNetworkInterfacePermission",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeNetworkInterfaceAttribute",
"ec2:DescribeVpcs",
"ec2:DescribeNetworkInterfacePermissions",
"ec2:UnassignPrivateIpAddresses",
"ec2:DescribeSubnets",
"ec2:DescribeRouteTables",
"ec2:DescribeSecurityGroups"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "servicediscovery:GetNamespace",
"Resource": "arn:aws:servicediscovery:*:*:namespace/*"
},
{
"Effect": "Allow",
"Action": "servicediscovery:GetService",
"Resource": "arn:aws:servicediscovery:*:*:service/*"
}
]
}
Você deve 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. Para mais informações, consulte Permissões de perfil vinculado ao serviço no Guia do usuário do IAM.
Criar uma função vinculada ao serviço para o API Gateway
Você não precisa criar manualmente uma função vinculada a serviço. Quando você cria uma API, um nome de domínio personalizado ou um link de VPC no AWS Management Console, a AWS CLI ou a API da AWS, o API Gateway cria a função vinculada ao serviço para você.
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. Quando você cria uma API, um nome de domínio personalizado ou um link de VPC, o API Gateway cria a função vinculada ao serviço para você novamente.
Editar uma função vinculada ao serviço para o API Gateway
O API Gateway não permite que você edite a função vinculada ao serviço AWSServiceRoleForAPIGateway. Depois que você criar uma função vinculada a serviço, não poderá alterar o nome da função, pois várias entidades podem fazer referência à função. No entanto, você poderá editar a descrição do perfil usando o IAM. Para obter 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 API Gateway
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. No entanto, você deve limpar os recursos de sua função vinculada ao serviço antes de exclui-la manualmente.
nota
Se o serviço API Gateway estiver usando a função quando você tentar excluir os recursos, a exclusão poderá falhar. Se isso acontecer, espere alguns minutos e tente a operação novamente.
Como excluir recursos do API Gateway usados pela AWSServiceRoleForAPIGateway
-
Abra o console do API Gateway em https://console.aws.amazon.com/apigateway/
. -
Navegue para a API, o nome de domínio personalizado ou o link da VPC que usa a função vinculada ao serviço.
-
Use o console para excluir o recurso.
-
Repita o procedimento para excluir todas as APIs, nomes de domínio personalizados ou links de VPC que usam a função vinculada ao serviço.
Como excluir manualmente a função vinculada a serviço usando o IAM
Use o console do IAM, a AWS CLI ou a API da AWS para excluir a função vinculada ao serviço AWSServiceRoleForAPIGateway. Para obter mais informações, consulte Excluir uma função vinculada ao serviço no Guia do usuário do IAM.
Regiões compatíveis com funções vinculadas a serviços do API Gateway
O API Gateway oferece suporte a funções vinculadas a serviços em todas as regiões em que o serviço está disponível. Para obter mais informações, consulte Endpoints de serviço do AWS.
Atualizações do API Gateway para políticas gerenciadas da AWS
Visualize detalhes sobre atualizações em políticas gerenciadas pela AWS para o API Gateway desde que este serviço começou a rastrear essas alterações. Para obter alertas automáticos sobre alterações feitas nesta página, inscreva-se no feed RSS na página Histórico de documentos do API Gateway.
Alteração | Descrição | Data |
---|---|---|
Adição de suporte |
A política |
12 de julho de 2021 |
API Gateway começou a controlar as alterações |
API Gateway começou a controlar alterações para suas políticas gerenciadas da AWS. |
12 de julho de 2021 |