

A referência da API do AWS Marketplace foi reestruturada. Para obter mais informações sobre as operações de API suportadas, consulte a [Referência de API do AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Controle de acesso para o AWS Marketplace API Discovery
<a name="discovery-api-access-control"></a>

A API Discovery usa AWS Identity and Access Management (IAM) para autenticação e autorização. Qualquer AWS cliente pode chamar a API Discovery configurando as permissões apropriadas do IAM.

Os usuários devem ter as seguintes permissões para chamar as operações da API Discovery:
+ `GetListing`— Concede permissão para recuperar informações sobre um anúncio.
+ `GetProduct`— Concede permissão para recuperar informações sobre um produto.
+ `GetOffer`— Concede permissão para recuperar informações sobre uma oferta.
+ `GetOfferTerms`— Concede permissão para recuperar os termos de uma oferta.
+ `GetOfferSet`— Concede permissão para recuperar informações sobre um conjunto de ofertas.
+ `ListPurchaseOptions`— Concede permissão para listar as opções de compra disponíveis para o comprador.
+ `ListFulfillmentOptions`— Concede permissão para listar as opções de atendimento de um produto.
+ `SearchListings`— Concede permissão para pesquisar listagens de produtos.
+ `SearchFacets`— Concede permissão para recuperar valores de facetas para filtrar listagens.

## Permissões do IAM
<a name="discovery-iam-permissions"></a>

Para chamar as operações da API Discovery, o diretor do IAM (usuário ou função) deve ter as `aws-marketplace` permissões apropriadas. A API Discovery oferece suporte a permissões em nível de recurso, para que você possa definir o escopo do acesso a tipos de recursos específicos em suas políticas do IAM.

A política do IAM a seguir concede acesso a todas as operações da API Discovery com escopo em nível de recurso:

```
{
    "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/*"
            ]
        }
    ]
}
```

`<catalog-name>`Substitua pelo identificador de catálogo apropriado (por exemplo,`AWSMarketplace`).

### Formatos de ARN de recursos
<a name="discovery-resource-arn-formats"></a>

A tabela a seguir mostra os tipos de recursos e seus formatos ARN usados pelas operações da API Discovery:


| Tipo de atributo | Formato ARN | Used by (Usado por) | 
| --- | --- | --- | 
| Produto | arn:aws:aws-marketplace:::catalog/{{catalog-name}}/product/{{product-id}} | GetProduct, ListFulfillmentOptions | 
| Listagem | arn:aws:aws-marketplace:::catalog/{{catalog-name}}/listing/{{listing-id}} | GetListing, SearchListings, SearchFacets | 
| Oferta | arn:aws:aws-marketplace:::catalog/{{catalog-name}}/offer/{{offer-id}} | GetOffer, GetOfferTerms | 
| Conjunto de ofertas | arn:aws:aws-marketplace:::catalog/{{catalog-name}}/offerSet/{{offerSet-id}} | GetOfferSet | 
| Opção de compra | arn:aws:aws-marketplace:::catalog/{{catalog-name}}/purchaseOption/{{purchaseOption-id}} | ListPurchaseOptions | 

### Definindo o escopo das operações para recursos específicos
<a name="discovery-scoping-get-operations"></a>

Para as operações Get (GetListing, GetProduct, GetOffer, GetOfferTerms, GetOfferSet) e a ListFulfillmentOptions operação, você pode restringir o acesso a IDs de recursos específicos em vez de usar um caractere curinga. Por exemplo, para restringir o acesso a um único anúncio:

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

Esse padrão funciona para qualquer operação Get ListFulfillmentOptions e. Substitua o tipo e o ID do recurso adequadamente:
+ `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}}`

As ListPurchaseOptions operações SearchListings SearchFacets,, e não oferecem suporte ao escopo de um único recurso porque elas operam em vários itens. Use os seguintes padrões de ARN curinga para essas operações:
+ Para SearchListings e SearchFacets: `arn:aws:aws-marketplace:::catalog/{{catalog-name}}/listing/*`
+ Para ListPurchaseOptions: `arn:aws:aws-marketplace:::catalog/{{catalog-name}}/purchaseOption/*`

## Service-linked funções
<a name="discovery-service-linked-roles"></a>

A API Discovery não usa funções vinculadas a serviços. Todo o acesso é controlado por meio de políticas padrão do IAM.

## Cross-account acesso
<a name="discovery-cross-account-access"></a>

Você pode conceder acesso entre contas à API Discovery usando funções do IAM. Crie uma função na conta de destino com as permissões apropriadas da API Discovery e, em seguida, assuma a função na conta de origem.