내용으로 건너뛰기

다른 AWS 계정에서 Amazon API Gateway API에 액세스하려면 어떻게 해야 합니까?

2분 분량
0

다른 AWS 계정에서 Amazon API Gateway API에 액세스하고 싶습니다.

해결 방법

퍼블릭 API 엔드포인트

API 스테이지 URL에서 직접 API Gateway 퍼블릭 엔드포인트(리전 또는 엣지 최적화)에 액세스할 수 있습니다. 예를 들어 https://0123456789.execute-api.{region}.amazonaws.com/{stage-name}입니다.

또한 퍼블릭 호스팅 영역에서 사용자 지정 도메인 이름을 사용하여 API Gateway 퍼블릭 엔드포인트에 액세스할 수 있습니다.

자세한 내용은 내 API Gateway API에 사용자 지정 도메인 이름을 설정하려면 어떻게 해야 합니까?를 참조하십시오.

프라이빗 REST API 엔드포인트

인터페이스 VPC 엔드포인트를 사용하여 Amazon Virtual Private Cloud(Amazon VPC)에서 프라이빗 REST API 엔드포인트에 액세스할 수 있습니다.

다른 계정에 있는 프라이빗 REST API에 액세스하려면 리소스 정책을 편집하여 교차 계정 권한을 부여하십시오. 프라이빗 사용자 지정 도메인 이름을 사용하여 VPC 엔드포인트를 다른 계정에 연결할 수도 있습니다.

자세한 내용은 인터페이스 VPC 엔드포인트를 사용하여 다른 계정의 API Gateway 프라이빗 REST API에 액세스하려면 어떻게 해야 합니까?를 참조하십시오.

IAM 인증 사용

AWS Identity and Access Management(IAM) 인증을 사용하는 교차 계정 액세스를 통해 API Gateway API에 액세스하려면 추가 구성이 필요합니다. 소비자 계정의 IAM 개체에 ID 기반 정책을 통해 API를 호출할 권한이 있어야 합니다.

소스 계정의 IAM 역할이 다음과 같이 리소스 정책에서 명시적 액세스를 허용해야 합니다.

REST API

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::CONSUMER-ACCOUNT-ID:user/USERNAME",
                    "CONSUMER-ACCOUNT-ID"
                ]
            },
            "Action": "execute-api:Invoke",
            "Resource": [
                "arn:aws:execute-api:YOUR-REGION:API-OWNER-ACCOUNT-ID:API-ID///*"
            ]
        }
    ]
}

참고: CONSUMER-ACCOUNT-ID, USERNAME, YOUR-REGION, API-OWNER-ACCOUNT-ID, API-ID를 해당하는 변수로 바꾸십시오.

자세한 내용은 API Gateway REST API에 대한 IAM 인증을 활성화하려면 어떻게 해야 합니까?를 참조하십시오.

HTTP API

API Gateway HTTP API에서는 리소스 정책을 사용하여 교차 계정에 IAM 인증을 제공하는 옵션을 사용할 수 없습니다.

sts:AssumeRole API 작업을 사용하여 HTTP API 계정에 역할을 위임할 수 있습니다. 위임된 역할은 다른 계정에서 HTTP API를 호출하는 데 사용할 수 있는 임시 보안 자격 증명을 제공합니다.

자세한 내용은 API Gateway HTTP API에 대한 교차 계정 IAM 권한을 부여하려면 어떻게 해야 합니까?를 참조하십시오.

관련 정보

API 게이트웨이의 프라이빗 REST API

예시: 다른 AWS 계정의 역할이 API를 사용할 수 있도록 허용