API Gateway에 서비스 연결 역할 사용
Amazon API Gateway는 AWS Identity and Access Management(IAM) 서비스 연결 역할을 사용합니다. 서비스 연결 역할은 API Gateway에 직접 연결된 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 API Gateway에서 사전 정의하며, 서비스에서 사용자를 대신하여 다른 AWS 서비스를 호출하기 위해 필요한 모든 권한을 포함합니다.
서비스 연결 역할을 사용하면 필요한 권한을 수동으로 추가할 필요가 없으므로 API Gateway를 더 쉽게 설정할 수 있습니다. API Gateway에서 서비스 연결 역할의 권한을 정의하므로 다르게 정의되지 않은 한, API Gateway만 해당 역할을 수임할 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며, 이 권한 정책은 다른 IAM 엔터티에 연결할 수 없습니다.
먼저 관련 리소스를 삭제한 후에만 서비스 연결 역할을 삭제할 수 있습니다. 이렇게 하면 리소스에 대한 액세스 권한을 실수로 삭제할 수 없기 때문에 API Gateway 리소스가 보호됩니다.
서비스 연결 역할을 지원하는 기타 서비스에 대한 자세한 내용은 AWS IAM과 작동하는 서비스를 참조하고 서비스 연결 역할(Service-Linked Role) 열에 예(Yes)가 있는 서비스를 찾아보세요. 해당 서비스에 대한 서비스 연결 역할 설명서를 보려면 예 링크를 선택합니다.
API Gateway에 대한 서비스 연결 역할 권한
API Gateway는 AWSServiceRoleForAPIGateway라는 서비스 연결 역할을 사용합니다. 이 역할을 사용하면 API Gateway가 사용자를 대신하여 Elastic Load Balancing, Amazon Data Firehose 및 기타 서비스 리소스에 액세스할 수 있습니다.
AWSServiceRoleForAPIGateway 서비스 연결 역할은 역할을 수임하기 위해 다음 서비스를 신뢰합니다.
-
ops.apigateway.amazonaws.com
역할 권한 정책은 API Gateway가 지정된 리소스에서 다음 작업을 완료하도록 허용합니다.
{ "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/*" } ] }
IAM 개체(사용자, 그룹, 역할 등)가 서비스 연결 역할을 작성하고 편집하거나 삭제할 수 있도록 권한을 구성할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 서비스 연결 역할 권한을 참조하세요.
API Gateway에 대한 서비스 연결 역할 생성
서비스 연결 역할은 수동으로 생성할 필요가 없습니다. AWS Management Console, AWS CLI 또는 AWS API에서 API, 사용자 지정 도메인 이름 또는 VPC 링크를 생성하면 API Gateway가 서비스 연결 역할을 자동으로 생성합니다.
이 서비스 연결 역할을 삭제한 다음 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다. API, 사용자 지정 도메인 이름 또는 VPC 링크를 생성하면 API Gateway가 서비스 연결 역할을 자동으로 다시 생성합니다.
API Gateway에 대한 서비스 연결 역할 편집
API Gateway에서는 AWSServiceRoleForAPIGateway 서비스 연결 역할을 편집할 수 없습니다. 서비스 연결 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 서비스 연결 역할 편집을 참조하세요.
API Gateway에 대한 서비스 연결 역할 삭제
서비스 연결 역할이 필요한 기능 또는 서비스가 더 이상 필요 없는 경우에는 해당 역할을 삭제할 것을 권합니다. 이렇게 하면 적극적으로 모니터링하거나 유지 관리하지 않은 미사용 엔터티가 없습니다. 단, 서비스 연결 역할에 대한 리소스를 먼저 정리해야 수동으로 삭제할 수 있습니다.
참고
리소스를 삭제하려고 할 때 API Gateway 서비스가 역할을 사용 중이면 삭제에 실패할 수 있습니다. 이 문제가 발생하면 몇 분 기다렸다가 작업을 다시 시도하십시오.
AWSServiceRoleForAPIGateway에서 사용하는 API Gateway 리소스를 삭제하려면
-
https://console.aws.amazon.com/apigateway/
에서 Amazon API Gateway 콘솔을 엽니다. -
서비스 연결 역할을 사용하는 API, 사용자 지정 도메인 이름 또는 VPC 링크로 이동합니다.
-
콘솔을 사용하여 리소스를 삭제합니다.
-
이 절차를 반복하여 서비스 연결 역할을 사용하는 모든 API, 사용자 지정 도메인 이름 또는 VPC 링크를 삭제합니다.
IAM을 사용하여 수동으로 서비스 링크 역할을 삭제하려면
AWS CLI 또는 AWS API를 사용하여 AWSServiceRoleForAPIGateway 서비스 연결 역할을 삭제합니다. 자세한 내용은 IAM 사용 설명서의 서비스 연결 역할 삭제를 참조하십시오.
API Gateway 서비스 연결 역할이 지원되는 리전
API Gateway는 서비스가 제공되는 모든 리전에서 서비스 연결 역할을 사용할 수 있도록 지원합니다. 자세한 내용은 AWS 서비스 엔드포인트를 참조하십시오.
API Gateway를 AWS 관리형 정책으로 업데이트
이 서비스가 해당 변경 사항을 추적하기 시작한 이후 API Gateway용 AWS 관리형 정책 업데이트에 대한 세부 정보를 확인합니다. 이 페이지의 변경 사항에 대한 자동 알림을 받아보려면 API Gateway 문서 기록 페이지에서 RSS 피드를 구독하세요.
변경 사항 | 설명 | 날짜 |
---|---|---|
|
이 |
2021년 7월 12일 |
API Gateway 변경 내용 추적 시작 |
API Gateway가 AWS 관리형 정책에 대한 변경 내용 추적을 시작했습니다. |
2021년 7월 12일 |