

Se reestructuró la referencia de API de AWS Marketplace. Para obtener más información sobre las operaciones de API compatibles, consulte la [referencia de API de AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Control de acceso para AWS Marketplace API de descubrimiento
<a name="discovery-api-access-control"></a>

La API Discovery usa AWS Identity and Access Management (IAM) para la autenticación y la autorización. Cualquier AWS cliente puede llamar a la API Discovery configurando los permisos de IAM adecuados.

Los usuarios deben tener los siguientes permisos para llamar a las operaciones de la API de Discovery:
+ `GetListing`— Otorga permiso para recuperar información sobre un anuncio.
+ `GetProduct`— Otorga permiso para recuperar información sobre un producto.
+ `GetOffer`— Otorga permiso para recuperar información sobre una oferta.
+ `GetOfferTerms`— Otorga permiso para recuperar las condiciones de una oferta.
+ `GetOfferSet`— Otorga permiso para recuperar información sobre un conjunto de ofertas.
+ `ListPurchaseOptions`— Otorga permiso para enumerar las opciones de compra disponibles para el comprador.
+ `ListFulfillmentOptions`— Otorga permiso para publicar las opciones de gestión logística de un producto.
+ `SearchListings`— Otorga permiso para buscar listados de productos.
+ `SearchFacets`— Otorga permiso para recuperar los valores de las facetas para filtrar los listados.

## Permisos de IAM
<a name="discovery-iam-permissions"></a>

Para llamar a las operaciones de la API de Discovery, el director de IAM (usuario o rol) debe tener los permisos adecuados`aws-marketplace`. La API Discovery admite permisos a nivel de recursos, por lo que puede limitar el acceso a tipos de recursos específicos en sus políticas de IAM.

La siguiente política de IAM otorga acceso a todas las operaciones de la API de Discovery con un alcance a nivel de recursos:

```
{
    "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>`Sustitúyalo por el identificador de catálogo adecuado (por ejemplo,). `AWSMarketplace`

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

En la siguiente tabla se muestran los tipos de recursos y sus formatos de ARN que utilizan las operaciones de la API de Discovery:


| Tipo de recurso | Formato de ARN | Utilizado por | 
| --- | --- | --- | 
| Producto | arn:aws:aws-marketplace:::catalog/{{catalog-name}}/product/{{product-id}} | GetProduct, ListFulfillmentOptions | 
| Lista | 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 | 
| Set de ofertas | arn:aws:aws-marketplace:::catalog/{{catalog-name}}/offerSet/{{offerSet-id}} | GetOfferSet | 
| Opción de compra | arn:aws:aws-marketplace:::catalog/{{catalog-name}}/purchaseOption/{{purchaseOption-id}} | ListPurchaseOptions | 

### Limitar el alcance de las operaciones a recursos específicos
<a name="discovery-scoping-get-operations"></a>

Para las operaciones Get (GetListing, GetProduct, GetOffer, GetOfferTerms, GetOfferSet) y la ListFulfillmentOptions operación, puedes limitar el acceso a identificadores de recursos específicos en lugar de usar un comodín. Por ejemplo, para restringir el acceso a una sola lista:

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

Este patrón funciona para cualquier operación Get y ListFulfillmentOptions. Sustituya el tipo de recurso y el identificador según corresponda:
+ `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}}`

Las ListPurchaseOptions operaciones SearchListings SearchFacets, y no permiten establecer el alcance de un solo recurso porque funcionan con varios elementos. Utilice los siguientes patrones de ARN comodín para estas operaciones:
+ Para SearchListings y: SearchFacets `arn:aws:aws-marketplace:::catalog/{{catalog-name}}/listing/*`
+ Para ListPurchaseOptions: `arn:aws:aws-marketplace:::catalog/{{catalog-name}}/purchaseOption/*`

## Service-linked roles
<a name="discovery-service-linked-roles"></a>

La API Discovery no usa roles vinculados a servicios. Todo el acceso se controla mediante políticas de IAM estándar.

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

Puede conceder acceso multicuenta a la API de Discovery mediante funciones de IAM. Cree un rol en la cuenta de destino con los permisos de la API de Discovery adecuados y, a continuación, asuma el rol desde la cuenta de origen.