

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

# Sharing AWS AppSync GraphQL APIs
<a name="sharing-graphql-apis"></a>

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

에 대한 자세한 내용은 [AWS Resource Access Manager 사용 설명서를](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html) AWS RAM참조하세요.

**Topics**
+ [AWS AppSync GraphQL APIs 공유를 위한 사전 조건](#prerequisites-sharing-apis)
+ [Share AWS AppSync GraphQL APIs](#share_graphal_apis)
+ [AWS AppSync GraphQL APIs 공유 중지](#stop-sharing-apis)
+ [교차 계정 이벤트](#cross-account-events)

## AWS AppSync GraphQL APIs 공유를 위한 사전 조건
<a name="prerequisites-sharing-apis"></a>

Sharing AWS AppSync GraphQL APIs에는 다음과 같은 사전 조건이 있습니다.
+ an AWS AppSync GraphQL API를 공유하려면에서 해당 API를 소유해야 합니다 AWS 계정. 즉, AWS AppSync GraphQL API를 계정에 할당하거나 프로비저닝해야 합니다.
+ 조직 또는의 조직 단위와 an AWS AppSync GraphQL API를 공유하려면 와의 공유를 활성화 AWS Organizations해야 합니다 AWS Organizations. 자세한 내용은 ‭*AWS Resource Access Manager 사용 설명서*의 ‭‬‭[AWS Organizations내 리소스 공유 활성화‭](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs)를 참조하세요.

## Share AWS AppSync GraphQL APIs
<a name="share_graphal_apis"></a>

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

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

**공유 고려 사항**
+ 이벤트 APIs 같은 다른 API 유형은 제외하고 AWS AppSync GraphQL APIs.
+ APIs에 구성된 권한 부여 모드 중 `AWS_IAM` 하나가 있는 AWS AppSync GraphQL API만 공유할 수 있습니다.

  `AWS_IAM`이 공유 AppSync GraphQL API의 권한 부여 모드 목록에서 제거되었지만 리소스 공유가 여전히 존재할 수 있는 경우 비효율적으로 렌더링됩니다.
+ 퍼블릭 API와 프라이빗 AWS AppSync GraphQL APIs.
+ Private AWS AppSync GraphQL APIs VPC에서 VPCs 엔드포인트를 통해 항상 액세스할 수 AWS 계정있으며, 뿐만 아니라 모든 권한 부여 모드가 지원됩니다`AWS_IAM`.
+ shared AWS AppSync GraphQL APIs 경우 권한은 API 리소스에 대해서만 관리되며 필드 및 유형과 필드 리소스에 대한 세분화된 권한을 지원하지 않습니다. API를 공유하면 API ARN과 모든 유형 및 필드에 대한 ARN을 공유합니다.

### AWS RAM 콘솔을 사용하여 소유하고 있는 리소스 공유 생성
<a name="create-resource-share-owned"></a>

an AWS AppSync GraphQL API를 공유하려면 RAM 권한 이름를 사용하여 *AWS Resource Access Manager 사용 설명서*의 [리소스 공유 생성](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html)에 설명된 절차를 사용합니다`AWSRAMPermissionAppSyncGraphQLApiInvokeAccess`.

### AWS RAM 콘솔을 사용하여 고객 관리형 권한을 생성하고 사용하여 Private AWS AppSync GraphQL API 공유
<a name="create-resource-share-managed-permission"></a>

Private AWS AppSync GraphQL API를 공유하려면 *AWS Resource Access Manager 사용 설명서*의 고객 관리형 권한 [생성 및 사용에 설명된 절차를 사용하여 고객 관리형 권한을](https://docs.aws.amazon.com/ram/latest/userguide/create-customer-managed-permissions.html) 생성합니다.

예를 들어 계정 A의 소유자는 계정 B의 보안 주체에게 VPCE-B(계정 B가 소유한 VPC 엔드포인트)를 통해 이루어진 호출에 대해 Private 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`.

를 `PrivateApiA` 통해에 대한 교차 계정 액세스를 활성화하기 위해 `VPCE-B`고객은 이전 예제에서 다음 파라미터와 고객 관리형 권한을 사용하여 AWS RAM 리소스 공유를 생성할 수 있습니다.
+ **리소스 유형:** `appsync:Apis`
+ **리소스:** `arn:aws:appsync:us-west-2:A:apis/PrivateApiA`
+ **권한: ** `private-api-A-access-via-vpce-b `(고객 관리형 권한)
+ **위탁자:** `Account: B`

### 를 사용하여 소유하고 있는 리소스 공유 생성 AWS CLI
<a name="create-resource-share-owned-cli"></a>

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

사용 가능한 명령의 전체 목록은 [AWS RAM CLI 참조](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ram/index.html)를 AWS RAM참조하세요.

## AWS AppSync GraphQL APIs 공유 중지
<a name="stop-sharing-apis"></a>

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

** AWS RAM 콘솔을 사용하여 소유한 리소스 공유를 중지하려면**  
*AWS Resource Access Manager 사용 설명서*의 [리소스 공유 업데이트](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html)를 참조하세요.

**를 사용하여 소유한 리소스 공유를 중지하려면 AWS CLI**  
[disassociate-resource-share](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ram/disassociate-resource-share.html) 명령을 사용합니다.

** AWS RAM 콘솔을 사용하여 소유하고 있는 리소스 공유를 삭제하려면**  
*AWS Resource Access Manager 사용 설명서*의 [리소스 공유 삭제](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-delete.html) 섹션을 참조하세요.

**를 사용하여 소유하고 있는 리소스 공유를 삭제하려면 AWS CLI**  
[delete-resource-share](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ram/delete-resource-share.html) 명령을 사용합니다.

사용 가능한 명령의 전체 목록은 [AWS RAM CLI 참조](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ram/index.html)를 AWS RAM참조하세요.

## 교차 계정 이벤트
<a name="cross-account-events"></a>

교차 계정 AWS AppSync GraphQL API AWS CloudTrail DataPlane 활동을 모니터링하고 감사하기 위해 데이터 이벤트 로깅을 옵트인할 수 있습니다. 자세한 내용을 알아보려면 *AWS CloudTrail 사용 설명서*의 [데이터 이벤트 로깅](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html)을 참조하세요.