

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

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

# AWS Marketplace Discovery API에 대한 액세스 제어
<a name="discovery-api-access-control"></a>

Discovery API는 인증 및 권한 부여에 AWS Identity and Access Management (IAM)을 사용합니다. 모든 AWS 고객은 적절한 IAM 권한을 구성하여 Discovery API를 호출할 수 있습니다.

Discovery API 작업을 호출하려면 사용자에게 다음 권한이 있어야 합니다.
+ `GetListing` - 목록에 대한 정보를 검색할 수 있는 권한을 부여합니다.
+ `GetProduct` - 제품에 대한 정보를 검색할 수 있는 권한을 부여합니다.
+ `GetOffer` - 제안에 대한 정보를 검색할 수 있는 권한을 부여합니다.
+ `GetOfferTerms` - 제안에 대한 조건을 검색할 수 있는 권한을 부여합니다.
+ `GetOfferSet` - 제안 세트에 대한 정보를 검색할 수 있는 권한을 부여합니다.
+ `ListPurchaseOptions` - 구매자가 사용할 수 있는 구매 옵션을 나열할 수 있는 권한을 부여합니다.
+ `ListFulfillmentOptions` - 제품의 이행 옵션을 나열할 수 있는 권한을 부여합니다.
+ `SearchListings` - 제품 목록을 검색할 수 있는 권한을 부여합니다.
+ `SearchFacets` - 필터링 목록에 대한 패싯 값을 검색할 수 있는 권한을 부여합니다.

## IAM 권한
<a name="discovery-iam-permissions"></a>

Discovery API 작업을 호출하려면 IAM 보안 주체(사용자 또는 역할)에 적절한 `aws-marketplace` 권한이 있어야 합니다. Discovery API는 리소스 수준 권한을 지원하므로 IAM 정책의 특정 리소스 유형에 대한 액세스 범위를 지정할 수 있습니다.

다음 IAM 정책은 리소스 수준 범위를 지정하여 모든 Discovery API 작업에 대한 액세스 권한을 부여합니다.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "aws-marketplace:GetListing",
                "aws-marketplace:GetProduct",
                "aws-marketplace:GetOffer",
                "aws-marketplace:GetOfferTerms",
                "aws-marketplace:GetOfferSet",
                "aws-marketplace:ListPurchaseOptions",
                "aws-marketplace:ListFulfillmentOptions",
                "aws-marketplace:SearchFacets",
                "aws-marketplace:SearchListings"
            ],
            "Resource": [
                "arn:aws:aws-marketplace:::catalog/<catalog-name>/product/*",
                "arn:aws:aws-marketplace:::catalog/<catalog-name>/listing/*",
                "arn:aws:aws-marketplace:::catalog/<catalog-name>/offer/*",
                "arn:aws:aws-marketplace:::catalog/<catalog-name>/offerSet/*",
                "arn:aws:aws-marketplace:::catalog/<catalog-name>/purchaseOption/*"
            ]
        }
    ]
}
```

를 적절한 카탈로그 식별자(예: `AWSMarketplace`)`<catalog-name>`로 바꿉니다.

### 리소스 ARN 형식
<a name="discovery-resource-arn-formats"></a>

다음 표에는 Discovery API 작업에 사용되는 리소스 유형과 해당 ARN 형식이 나와 있습니다.


| 리소스 유형 | ARN 형식 | 사용처 | 
| --- | --- | --- | 
| 제품 | arn:aws:aws-marketplace:::catalog/{{catalog-name}}/product/{{product-id}} | GetProduct, ListFulfillmentOptions | 
| 목록 | arn:aws:aws-marketplace:::catalog/{{catalog-name}}/listing/{{listing-id}} | GetListing, SearchListings, SearchFacets | 
| 제안 | arn:aws:aws-marketplace:::catalog/{{catalog-name}}/offer/{{offer-id}} | GetOffer, GetOfferTerms | 
| 제안 세트 | arn:aws:aws-marketplace:::catalog/{{catalog-name}}/offerSet/{{offerSet-id}} | GetOfferSet | 
| 구매 옵션 | arn:aws:aws-marketplace:::catalog/{{catalog-name}}/purchaseOption/{{purchaseOption-id}} | ListPurchaseOptions | 

### 특정 리소스로 작업 범위 지정
<a name="discovery-scoping-get-operations"></a>

Get 작업(GetListing, GetProduct, GetOffer, GetOfferTerms, GetOfferSet) 및 ListFulfillmentOptions 작업의 경우 와일드카드를 사용하는 대신 특정 리소스 IDs로 액세스 범위를 축소할 수 있습니다. 예를 들어 단일 목록으로 액세스를 제한하려면

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "aws-marketplace:GetListing",
            "Resource": "arn:aws:aws-marketplace:::catalog/AWSMarketplace/listing/{{listing-id}}"
        }
    ]
}
```

이 패턴은 모든 Get 작업 및 ListFulfillmentOptions에서 작동합니다. 리소스 유형과 ID를 적절히 바꿉니다.
+ `arn:aws:aws-marketplace:::catalog/{{catalog-name}}/product/{{product-id}}`
+ `arn:aws:aws-marketplace:::catalog/{{catalog-name}}/listing/{{listing-id}}`
+ `arn:aws:aws-marketplace:::catalog/{{catalog-name}}/offer/{{offer-id}}`
+ `arn:aws:aws-marketplace:::catalog/{{catalog-name}}/offerSet/{{offerSet-id}}`

SearchListings, SearchFacets 및 ListPurchaseOptions 작업은 여러 항목에서 작동하므로 단일 리소스로의 범위 조정을 지원하지 않습니다. 이러한 작업에는 다음 와일드카드 ARN 패턴을 사용합니다.
+ SearchListings 및 SearchFacets의 경우: `arn:aws:aws-marketplace:::catalog/{{catalog-name}}/listing/*`
+ ListPurchaseOptions의 경우: `arn:aws:aws-marketplace:::catalog/{{catalog-name}}/purchaseOption/*`

## 서비스 연결 역할
<a name="discovery-service-linked-roles"></a>

Discovery API는 서비스 연결 역할을 사용하지 않습니다. 모든 액세스는 표준 IAM 정책을 통해 제어됩니다.

## 크로스 계정 액세스
<a name="discovery-cross-account-access"></a>

IAM 역할을 사용하여 Discovery API에 대한 교차 계정 액세스 권한을 부여할 수 있습니다. 적절한 Discovery API 권한을 사용하여 대상 계정에서 역할을 생성한 다음 소스 계정에서 역할을 수임합니다.