AWS AppSync GraphQL API 공유 - AWS AppSync GraphQL

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS AppSync GraphQL API 공유

AWS AppSync는 AWS Resource Access Manager(AWS RAM)와 통합되어 리소스 공유를 활성화합니다. AWS RAM은 AWS AppSync GraphQL API에서 간접 호출 작업(쿼리, 변형 및 구독 작업 및 실시간 WebSocket 엔드포인트에 요청 연결)을 다른 AWS 계정과 공유하거나 AWS Organizations를 통해 공유할 수 있는 서비스입니다. AWS RAM(을)를 사용하면 리소스 공유를 생성하여 내 소유의 리소스를 공유할 수 있습니다. 리소스 공유는 공유할 리소스와 공유 대상 소비자를 지정합니다. 소비자에는 다음이 포함될 수 있습니다.

  • AWS 계정의 조직 내부 또는 외부의 특정 AWS Organizations.

  • AWS Organizations 내 조직 내부의 조직 단위

  • AWS Organizations의 전체 조직

AWS RAM에 대한 추가 정보는 AWS Resource Access Manager 사용 설명서를 참조하세요.

AWS AppSync GraphQL API 공유를 위한 전제 조건

AWS AppSync GraphQL API 공유에는 다음과 같은 전제 조건이 있습니다.

  • AWS AppSync GraphQL API를 공유하려면 AWS 계정에서 해당 API를 소유해야 합니다. 즉, 계정에서 AWS AppSync GraphQL API를 할당하거나 프로비저닝해야 합니다.

  • AWS Organizations 내 조직 또는 조직 단위와 AWS AppSync GraphQL API를 공유하려면, AWS Organizations와의 공유를 활성화해야 합니다. 자세한 내용은 ‭AWS Resource Access Manager 사용 설명서의 ‭‬‭AWS Organizations 내 리소스 공유 활성화‭를 참조하세요.

AWS AppSync GraphQL API 공유

AWS AppSync GraphQL API를 공유하려면 먼저 AWS Resource Access Manager를 사용하여 리소스 공유를 생성합니다. 리소스 공유는 공유할 리소스와 공유 대상 소비자 그리고 보안 주체가 수행할 수 있는 작업을 지정합니다. 소유한 AWS AppSync GraphQL API를 다른 AWS 계정과 공유하면 해당 계정이 AWS 계정에서 해당 AWS AppSync API를 직접 호출할 수 있습니다.

AWS Organizations의 조직에 속해 있고 조직 내에서 공유를 사용하는 경우, 공유 리소스에 대한 액세스 권한이 조직의 소비자에게 자동으로 부여됩니다. 그렇지 않으면 소비자는 리소스 공유에 가입하라는 초대장을 받고 초대를 수락한 후 공유된 리소스의 액세스 권한을 받습니다.

공유 고려 사항

  • 이벤트 API 같은 다른 API 유형은 제외하고 AWS AppSync GraphQL API만 공유할 수 있습니다.

  • API에 구성된 권한 부여 모드 중 AWS_IAM 하나가 있는 AWS AppSync GraphQL API만 공유할 수 있습니다.

    AWS_IAM이 공유 AppSync GraphQL API의 권한 부여 모드 목록에서 제거되었지만 리소스 공유가 여전히 존재할 수 있는 경우 비효율적으로 렌더링됩니다.

  • 퍼블릭 및 프라이빗 AWS AppSync GraphQL API 모두 공유할 수 있습니다.

  • 프라이빗 AWS AppSync GraphQL API는 오리진 AWS 계정의 VPC에서 VPC 엔드포인트를 통해 항상 액세스할 수 있으며, AWS_IAM뿐만 아니라 모든 권한 부여 모드가 지원됩니다.

  • 공유 AWS AppSync GraphQL API의 경우 권한은 API 리소스에 대해서만 관리되며 필드 및 유형과 필드 리소스에 대한 세분화된 권한을 지원하지 않습니다. API를 공유하면 API ARN과 모든 유형 및 필드에 대한 ARN을 공유합니다.

AWS RAM 콘솔을 사용하여 소유하고 있는 리소스 공유의 생성

AWS AppSync GraphQL API를 공유하려면 RAM 권한 이름 AWSRAMPermissionAppSyncGraphQLApiInvokeAccess를 사용하여 AWS Resource Access Manager 사용 설명서리소스 공유 생성 섹션에 설명된 절차를 사용합니다.

AWS RAM 콘솔을 사용하여 고객 관리형 권한을 생성하고 사용하여 프라이빗 AWS AppSync GraphQL API 공유

프라이빗 AWS AppSync GraphQL API를 공유하려면 AWS Resource Access Manager 사용 설명서고객 관리형 권한 생성 및 사용 섹션에 설명된 절차를 사용하여 고객 관리형 권한을 생성합니다.

예를 들어 계정 A의 소유자는 계정 B의 위탁자에게 VPCE-B(계정 B가 소유한 VPC 엔드포인트)를 통해 이루어진 직접 호출에 대해 프라이빗 AWS AppSync GraphQL API(PrivateApiA)에 액세스할 수 있는 권한을 부여하려고 합니다. 이 경우 계정 A의 소유자는 다음과 같이 AWS RAM 고객 관리형 권한을 생성해야 합니다.

{ "Effect": "Allow", "Action": ["appsync:GraphQL"], "Condition": { "StringEqualsIgnoreCase": { "aws:SourceVpce": [ "VPCE-B" ] } } }

이 새 고객 관리형 AWS RAM 권한의 이름이 private-api-A-access-via-vpce-b라고 가정합니다.

VPCE-B를 통해 PrivateApiA에 대한 교차 계정 액세스를 활성화하기 위해 고객은 이전 예제에서 다음 파라미터와 고객 관리형 권한을 사용하여 AWS RAM 리소스 공유를 생성할 수 있습니다.

  • 리소스 유형: appsync:Apis

  • 리소스: arn:aws:appsync:us-west-2:A:apis/PrivateApiA

  • 권한: private-api-A-access-via-vpce-b (고객 관리형 권한)

  • 위탁자: Account: B

AWS CLI를 사용하여 소유하고 있는 리소스 공유의 생성

AWS CLI를 사용하여 AWS AppSync GraphQL API를 공유하려면 create-resource-share 명령을 arn:aws:ram::aws:permission/AWSRAMPermissionAppSyncApiInvokeAccess와 함께 --permission-arns 스위치 값으로 사용합니다.

사용 가능한 AWS RAM 명령의 전체 목록은 AWS RAM CLI 참조 섹션을 참조하세요.

AWS AppSync GraphQL API 공유 중지

소유한 AWS AppSync GraphQL API 공유를 중지하려면 리소스 공유를 삭제하거나 리소스를 공유한 위탁자를 업데이트해야 합니다. 수행하려는 작업은 다음 섹션의 설명서를 참조하세요.

AWS RAM 콘솔을 사용하여 소유하고 있는 리소스의 공유를 중지하는 방법

AWS Resource Access Manager 사용 설명서리소스 공유 업데이트를 참조하세요.

AWS CLI를 사용하여 소유하고 있는리소스의 공유를 중지하는 방법

disassociate-resource-share 명령을 사용합니다.

AWS RAM 콘솔을 사용하여 소유하고 있는 리소스 공유를 삭제하는 방법

AWS Resource Access Manager 사용 설명서리소스 공유 삭제 섹션을 참조하세요.

AWS CLI를 사용하여 소유하고 있는 리소스 공유를 삭제하는 방법

delete-resource-share 명령을 사용합니다.

사용 가능한 AWS RAM 명령의 전체 목록은 AWS RAM CLI 참조 섹션을 참조하세요.

교차 계정 이벤트

교차 계정 AWS AppSync GraphQL API DataPlane 활동을 모니터링하고 감사하기 위해 AWS CloudTrail 데이터 이벤트 로깅을 옵트인할 수 있습니다. 자세한 내용을 알아보려면 AWS CloudTrail 사용 설명서데이터 이벤트 로깅을 참조하세요.