View a markdown version of this page

Utilizzo di Marketplace AWS API per condividere risorse - Marketplace AWS

L'AWS Marketplace API Reference è stato ristrutturato. Per ulteriori informazioni sulle operazioni API supportate, consulta l'AWS Marketplace API Reference.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di Marketplace AWS API per condividere risorse

AWS Marketplace Catalog API si integra con AWS Resource Access Manager (AWS RAM) per abilitare la condivisione delle risorse. Una risorsa è un'entità con cui gli utenti possono lavorare Marketplace AWS, ad esempio un prodotto, un'offerta o un'autorizzazione alla rivendita. Con AWS RAM, puoi condividere alcune AWS Marketplace Catalog API risorse con altri Account AWS. Puoi condividere le risorse di tua proprietà creando una condivisione di risorse. Una condivisione di risorse specifica le risorse che desideri condividere e i consumatori con cui condividerle.

Prerequisiti per la condivisione Marketplace AWS Entità

Prima di condividere le entità AWS Marketplace Catalog API, è necessario soddisfare i seguenti prerequisiti:

  • È possibile allegare una sola politica delle risorse all' Marketplace AWS entità.

  • Per condividere un' Marketplace AWS entità, devi possederla nel tuo Account AWS. Questo requisito significa che l'entità deve essere allocata o fornita nel tuo account. Non puoi condividere un' Marketplace AWS entità che è stata condivisa con te.

Condividi un Marketplace AWS entity

Con la condivisione Marketplace AWS delle risorse, i proprietari delle entità possono condividere le proprie entità con altri Account AWS utenti Marketplace AWS. Entity-owners possono essere ISV e partner di canale. Le entità che possono essere condivise sono prodotti, offerte e autorizzazioni di rivendita.

Nota

Al momento, puoi condividere solo entità. Le entità in Marketplace AWS includono AmiProduct AudienceBrandingSettings,ContainerProduct,Experience, eProcurementPolicy.

Per ulteriori informazioni in merito AWS RAM, consulta la Guida AWS RAM per l'utente. Per ulteriori informazioni sulla gestione delle risorse condivise, vedere Utilizzo AWS delle risorse condivise nella Guida per l'AWS RAM utente.

Come account di condivisione, puoi impostare la sola lettura o read/write entrambe le risorse che desideri condividere. Queste autorizzazioni determinano le operazioni che un account utente può eseguire sulle risorse condivise con lui.

  • Account di condivisione: la risorsa condivisa e in cui l' AWS RAM amministratore crea la condivisione di AWS risorse utilizzando AWS RAM.

  • Account di consumo: Account AWS la risorsa con cui viene condivisa una risorsa. La condivisione delle risorse può specificare un intero account come principale o, per alcuni tipi di risorse, singoli ruoli o utenti dell'account.

Per condividere un' Marketplace AWS entità, è necessario aggiungerla a una condivisione di risorse. Una condivisione di risorse è una risorsa AWS RAM che consente di condividere le risorse tra Account AWS. Una condivisione di risorse specifica le risorse da condividere e i consumatori con cui sono condivise. Quando condividi un'entità utilizzando la Marketplace AWS console, la aggiungi a una condivisione di risorse esistente. Per aggiungere l' Marketplace AWS entità a una nuova condivisione di risorse, devi prima creare la condivisione di risorse utilizzando la AWS RAM console.

Puoi condividere un' Marketplace AWS entità di tua proprietà utilizzando la Marketplace AWS console, la AWS RAM console o AWS Command Line Interface (AWS CLI).

Per condividere un Marketplace AWS entità che possiedi utilizzando il AWS RAM console

Consulta Creazione di una condivisione di risorse in Guida per l'utente di AWS RAM .

Per condividere un Marketplace AWS entità che possiedi utilizzando il AWS CLI

Utilizza il comando create-resource-share.

Nota

Per i tipi di risorse, ad esempio le entità che supportano le politiche basate sulle risorse, è possibile utilizzare AWS RAM per condividere le risorse per utilizzare funzionalità aggiuntive. AWS RAM Per ulteriori informazioni, consulta la Resource-based policy nella Guida per l'AWS RAM utente. AWS RAM utilizza il AWS Marketplace Catalog API per costruire automaticamente la politica delle risorse in base alle autorizzazioni in una condivisione di risorse e gestisce tale politica per conto dell'utente.

Per informazioni su come impostare, visualizzare o eliminare le politiche AWS basate sulle risorse sulla tua Marketplace AWS entità tramite AWS RAM, consulta Consentire azioni su tutte le risorse nella Guida per l'utente. AWS RAM

Differenze tra la condivisione di un'entità tramite AWS RAM e il AWS Marketplace Catalog API

Oltre a condividere la tua entità tramite AWS RAM, puoi anche impostare, visualizzare o eliminare le politiche AWS basate sulle risorse relative alle tue entità tramite. AWS Marketplace Catalog API Tuttavia, ci sono alcune differenze tra la condivisione dell'entità tramite AWS RAM e tramite. AWS Marketplace Catalog API

Quando condividi un'entità tramite AWS RAM:

  • Se condividi la tua entità con account esterni AWS Organizations, l'account consumatore deve prima accettare la tua richiesta di condivisione prima che l'entità venga condivisa.

  • L'account consumatore può scoprire l'entità condivisa ListEntities tramite OwnershipType set toSHARED.

  • È necessario rispettare diverse quote di risorse. Per maggiori informazioni, consulta Service Quotas di AWS RAM nella Guida per l’utente di AWS RAM .

Quando condividi un'entità tramite: AWS Marketplace Catalog API

  • La tua entità verrà condivisa non appena la PutResourcePolicy richiesta avrà esito positivo senza alcun input da parte dell'account consumatore.

  • L'account utente non può scoprire l'entità condivisa ListEntities tramite OwnershipType set toSHARED. Il proprietario dell'account di condivisione deve invece comunicare all'account consumatore l'ID dell'entità condivisa.

Nota

Se il tuo caso d'uso richiede la condivisione di risorse che potrebbero superare le quote di AWS RAM servizio o se desideri condividere risorse senza l'input diretto dell'account utente, valuta la possibilità di condividerle tramite. AWS Marketplace Catalog API Per tutti gli altri casi d'uso, prendi in considerazione l'utilizzo AWS RAM per condividere Marketplace AWS le risorse.

Le seguenti sezioni descrivono in dettaglio come impostare, visualizzare o eliminare le politiche AWS basate sulle risorse sulle entità tramite. AWS Marketplace Catalog API

Allega una politica di sola lettura alla tua risorsa

Puoi creare una politica basata su risorse di sola lettura sulla tua risorsa condivisa utilizzando un account di condivisione. Con questa politica, il responsabile può solo visualizzare i dettagli della risorsa condivisa con lui.

Richiesta

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" ] } } }

Risposta

HTTP/1.1 200 Content-type: application/json {}

Allega la politica di lettura e scrittura delle risorse alla tua risorsa

Come account di condivisione, puoi creare una politica di lettura e scrittura basata sulle risorse sulla tua risorsa condivisa. Grazie a questa politica, il responsabile può visualizzare i dettagli ed eseguire operazioni di scrittura sulla risorsa condivisa con lui.

Richiesta

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" ] } } }

Risposta

HTTP/1.1 200 Content-type: application/json {}

Visualizza la politica delle risorse impostata sulla tua risorsa

Come account di condivisione, puoi visualizzare la politica delle risorse impostata sulla tua risorsa condivisa.

Richiesta

POST /GetResourcePolicy HTTP/1.1 Content-type: application/json { "ResourceArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example2-abcd-1234-5ef6" }

Risposta

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" ] } } }

Elimina la politica relativa alle risorse sulla tua risorsa

Come account di condivisione, puoi eliminare la politica delle risorse impostata sulla risorsa condivisa.

Richiesta

POST /DeleteResourcePolicy HTTP/1.1 Content-type: application/json { "ResourceArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example2-abcd-1234-5ef6" }

Risposta

HTTP/1.1 200 Content-type: application/json {}

Visualizza tutte le risorse di tua proprietà e condivise con te

In qualità di account utente, puoi visualizzare le risorse condivise con te.

Nota

Puoi visualizzare le risorse condivise con te solo se le risorse sono state condivise tramite AWS RAM.

Richiesta

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

Risposta

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": "" }