

AWS Marketplace API 참조가 재구성되었습니다. 지원되는 API 작업에 대한 자세한 내용은 [AWS Marketplace API 참조](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html)를 참조하세요.

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

# AWS Marketplace API를 사용하여 리소스 공유
<a name="use-apis-to-share-resources"></a>

AWS Marketplace Catalog API 는 AWS Resource Access Manager (AWS RAM)와 통합되어 리소스 공유를 활성화합니다. *리소스*는 제품 AWS Marketplace, 제안 또는 재판매 권한 부여와 같이 사용자가 작업할 수 있는 엔터티입니다. AWS RAM를 사용하면 일부 AWS Marketplace Catalog API 리소스를 다른 리소스와 공유할 수 있습니다 AWS 계정. *리소스 공유*를 생성하여 소유한 리소스를 공유할 수 있습니다. 리소스 공유는 공유할 리소스와 공유할 소비자를 지정합니다.

**Topics**
+ [AWS Marketplace 엔터티를 공유하기 위한 사전 조건](#sharing-prereqs)
+ [AWS Marketplace 개체 공유](#share-marketplace-entity)

## AWS Marketplace 엔터티를 공유하기 위한 사전 조건
<a name="sharing-prereqs"></a>

에서 엔터티를 공유 AWS Marketplace Catalog API하기 전에 다음 사전 조건을 충족해야 합니다.
+  AWS Marketplace 엔터티에 하나의 리소스 정책만 연결할 수 있습니다.
+ 개체를 공유하려면에서 해당 AWS Marketplace 개체를 소유해야 합니다 AWS 계정. 이 요구 사항은 계정에 엔터티를 할당하거나 프로비저닝해야 함을 의미합니다. 공유된 AWS Marketplace 엔터티는 공유할 수 없습니다.

## AWS Marketplace 개체 공유
<a name="share-marketplace-entity"></a>

 AWS Marketplace 리소스 공유를 통해 엔터티 소유자는 AWS 계정 의 다른 엔터티와 엔터티를 공유할 수 있습니다 AWS Marketplace. 개체 소유자는 ISVs 및 채널 파트너일 수 있습니다. 공유할 수 있는 엔터티는 제품, 제안 및 재판매 권한 부여입니다.

**참고**  
현재 엔터티만 공유할 수 있습니다. 의 개체에는 `AmiProduct`, `Audience`, `BrandingSettings`, `ContainerProduct`, 및 `Experience`가 AWS Marketplace 포함됩니다`ProcurementPolicy`.

에 대한 자세한 내용은 [AWS RAM 사용 설명서를](https://docs.aws.amazon.com/ram/latest/userguide/) AWS RAM참조하세요. 공유 리소스 관리에 대한 자세한 내용은 *AWS RAM 사용 설명서*의 [공유 AWS 리소스 사용을](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-shared.html) 참조하세요.

*공유 계정*은 공유하려는 리소스에 대해 읽기 전용 또는 읽기/쓰기를 모두 설정할 수 있습니다. 이러한 권한은 *소비 계정이 * 공유되는 리소스에 대해 수행할 수 있는 작업을 결정합니다.
+ **공유 계정** - 공유되고 AWS RAM 관리자가를 사용하여 리소스 공유를 생성하는 AWS 리소스입니다 AWS RAM.
+ **계정 사용 **- 리소스가 공유되는 AWS 계정 입니다. 리소스 공유에는 계정 전체를 보안 주체로 지정하거나, 일부 리소스 유형의 경우 계정의 개별 역할 또는 사용자를 주체로 지정할 수 있습니다.

 AWS Marketplace 개체를 공유하려면 리소스 공유에 추가해야 합니다. 리소스 공유는 AWS 계정전반에서 리소스를 공유할 수 있게 해주는 AWS RAM 리소스입니다. 리소스 공유는 공유할 리소스와 공유 대상 소비자를 지정합니다. AWS Marketplace 콘솔을 사용하여 개체를 공유할 때 기존 리소스 공유에 추가합니다. 새 리소스 공유에 AWS Marketplace 개체를 추가하려면 먼저 [AWS RAM 콘솔](https://console.aws.amazon.com/ram)을 사용하여 리소스 공유를 생성해야 합니다.

 AWS Marketplace 콘솔, AWS RAM 콘솔 또는 AWS Command Line Interface ()를 사용하여 소유한 AWS Marketplace 개체를 공유할 수 있습니다AWS CLI.

**AWS RAM 콘솔을 사용하여 소유한 AWS Marketplace 엔터티를 공유하려면**  
*AWS RAM 사용 설명서*의 [리소스 공유 생성](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create)을 참조하세요.

**를 사용하여 소유한 AWS Marketplace 엔터티를 공유하려면 AWS CLI**  
[https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) 명령을 사용합니다.

**참고**  
리소스 기반 정책을 지원하는 엔터티와 같은 리소스 유형의 경우 AWS RAM 를 사용하여 리소스를 공유하여 추가 AWS RAM 기능을 사용할 수 있습니다. 자세한 내용은 *AWS RAM 사용 설명서*의 [리소스 기반 정책을](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-terms-and-concepts.html#term-resource-based-policy) 참조하세요. AWS RAM 는 AWS Marketplace Catalog API 를 사용하여 리소스 공유의 권한에서 리소스 정책을 자동으로 구성하고 해당 리소스 정책을 관리합니다.

를 통해 AWS Marketplace 엔터티에 대한 AWS 리소스 기반 정책을 설정, 확인 또는 삭제하는 방법에 대한 자세한 내용은 *AWS RAM* *사용 설명서*의 [모든 리소스에 대한 작업 허용](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/api-access-control.html#allowing-actions-on-all-resources)을 AWS RAM참조하세요.

### AWS RAM 와를 통한 엔터티 공유의 차이점 AWS Marketplace Catalog API
<a name="differences-ram-capi"></a>

를 통해 엔터티를 공유하는 것 외에도 AWS RAM를 통해 엔터티에 대한 AWS 리소스 기반 정책을 설정, 확인 또는 삭제할 수도 있습니다 AWS Marketplace Catalog API. 그러나를 통해 개체를 공유하는 AWS RAM 것과를 통해 개체를 공유하는 것에는 몇 가지 차이점이 있습니다 AWS Marketplace Catalog API.

다음을 통해 개체를 공유하는 경우 AWS RAM:
+ 엔터티를 외부에 있는 계정과 공유하는 경우 AWS Organizations소비 계정은 먼저 공유 요청을 수락해야 엔터티가 공유됩니다.
+ 소비 계정은가 `ListEntities`로 `OwnershipType` 설정된를 통해 공유 엔터티를 검색할 수 있습니다`SHARED`.
+ 여러 리소스 할당량을 준수해야 합니다. 자세한 내용은 *AWS RAM 사용 안내서*의 [Service quotas for AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/service-quotas.html)를 참조하세요.

를 통해 개체를 공유하는 경우 AWS Marketplace Catalog API:
+ `PutResourcePolicy` 요청이 성공하는 즉시 소비 계정의 입력 없이 엔터티가 공유됩니다.
+ 소비 계정은가 `ListEntities`로 `OwnershipType` 설정된를 통해 공유 엔터티를 검색할 수 없습니다`SHARED`. 대신 공유 계정 소유자는 소비 계정에 공유 엔터티 ID를 알려야 합니다.

**참고**  
사용 사례에 AWS RAM 서비스 할당량을 초과할 수 있는 리소스 공유가 필요하거나 소비 계정의 직접 입력 없이 리소스를 공유하려는 경우를 통해 공유하는 것이 좋습니다 AWS Marketplace Catalog API. 다른 모든 사용 사례의 경우를 사용하여 AWS Marketplace 리소스를 공유하는 AWS RAM 것이 좋습니다.

다음 섹션에서는를 통해 엔터티에 대한 리소스 기반 정책을 설정, 확인 또는 삭제 AWS 하는 방법을 자세히 설명합니다 AWS Marketplace Catalog API.

**Topics**
+ [AWS RAM 와를 통한 엔터티 공유의 차이점 AWS Marketplace Catalog API](#differences-ram-capi)
+ [리소스에 읽기 전용 정책 연결](#read-only-policy-resource)
+ [리소스에 읽기 및 쓰기 리소스 정책 연결](#read-and-write-resource-policy)
+ [리소스에 설정된 리소스 정책 보기](#view-resource-policy-set)
+ [리소스에서 리소스 정책 삭제](#delete-resource-policy)
+ [사용자가 소유하고 공유한 모든 리소스 보기](#view-entities-owned)

### 리소스에 읽기 전용 정책 연결
<a name="read-only-policy-resource"></a>

공유 계정을 사용하여 공유 리소스에 대한 읽기 전용 리소스 기반 정책을 생성할 수 있습니다. 이 정책을 사용하면 보안 주체는 자신과 공유되는 리소스의 세부 정보만 볼 수 있습니다.

요청

```
POST /PutResourcePolicy HTTP/1.1 
Content-type: application/json

{
   "ResourceArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example2-abcd-1234-5ef6",
   "Policy": { 
        "Version": "2012-10-17",		 	 	 
        "Statement": {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::222233334444:root"
            },
            "Action": [
                "aws-marketplace:DescribeEntity"
            ],
            "Resource": [
                "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example2-abcd-1234-5ef6"
            ]
        }
    }
}
```

응답

```
HTTP/1.1 200
Content-type: application/json

{}
```

### 리소스에 읽기 및 쓰기 리소스 정책 연결
<a name="read-and-write-resource-policy"></a>

공유 계정은 공유 리소스에 대한 읽기 및 쓰기 리소스 기반 정책을 생성할 수 있습니다. 이 정책을 사용하면 보안 주체가 세부 정보를 보고 공유된 리소스에 대한 쓰기 작업을 수행할 수 있습니다.

요청

```
POST /PutResourcePolicy HTTP/1.1 
Content-type: application/json

{
   "ResourceArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example2-abcd-1234-5ef6",
   "Policy": { 
        "Version": "2012-10-17",		 	 	 
        "Statement": {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::222233334444:root"
            },
            "Action": [
                "aws-marketplace:DescribeEntity",
                "aws-marketplace:StartChangeSet"
            ],
            "Resource": [
                "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example2-abcd-1234-5ef6"
            ]
        }
    }
}
```

응답

```
HTTP/1.1 200
Content-type: application/json

{}
```

### 리소스에 설정된 리소스 정책 보기
<a name="view-resource-policy-set"></a>

공유 계정은 공유 리소스에 설정된 리소스 정책을 볼 수 있습니다.

요청

```
POST /GetResourcePolicy HTTP/1.1 
Content-type: application/json

{
   "ResourceArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example2-abcd-1234-5ef6"
}
```

응답

```
HTTP/1.1 200
Content-type: application/json

{
  "Policy": { 
        "Version": "2012-10-17",		 	 	 
        "Statement": {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::222233334444:root"
            },
            "Action": [
                "aws-marketplace:DescribeEntity",
                "aws-marketplace:StartChangeSet"
            ],
            "Resource": [
                "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example2-abcd-1234-5ef6"
            ]
        }
    }
}
```

### 리소스에서 리소스 정책 삭제
<a name="delete-resource-policy"></a>

공유 계정은 공유 리소스에 설정된 리소스 정책을 삭제할 수 있습니다.

요청

```
POST /DeleteResourcePolicy HTTP/1.1 
Content-type: application/json

{
   "ResourceArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example2-abcd-1234-5ef6"
}
```

응답

```
HTTP/1.1 200
Content-type: application/json

{}
```

### 사용자가 소유하고 공유한 모든 리소스 보기
<a name="view-entities-owned"></a>

소비 계정은 공유된 리소스를 볼 수 있습니다.

**참고**  
리소스를 공유한 경우에만 공유된 리소스를 볼 수 있습니다 AWS RAM.

요청

```
POST /ListEntities HTTP/1.1
Content-type: application/json
{
   "Catalog": "AWSMarketplace",
   "EntityType": "AmiProduct",
   "FilterList": [ 
      { 
         "Name": "EntityId",
         "ValueList": [ "example2-abcd-1234-5ef6" ]
      }
   ],
   "OwnershipType": "SHARED"
}
```

응답

```
HTTP/1.1 200
Content-type: application/json

{ 
  "EntitySummaryList": [ 
    { 
      "EntityArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example2-abcd-1234-5ef6",
      "EntityId": "example2-abcd-1234-5ef6",
      "EntityType": "AmiProduct",
      "LastModifiedDate": "2018-02-27T13:45:22Z",
      "Name": "TestProduct",
      "Visibility": "public" 
    } 
  ],
  "NextToken": "" 
}
```