View a markdown version of this page

Controllo degli accessi per Marketplace AWS Catalogo API - 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à.

Controllo degli accessi per Marketplace AWS Catalogo API

Puoi utilizzarla AWS Marketplace Catalog API per gestire un prodotto da venditore Marketplace AWS o un'esperienza in un marketplace privato. Tuttavia, assicurati innanzitutto che il tuo utente o ruolo possa accedere alla funzionalità API che desideri chiamare.

Utilizza AWS Identity and Access Management (IAM) per creare utenti e ruoli e assegnare policy che concedano autorizzazioni limitate agli utenti finali. Le policy definiscono le azioni che l'utente o il ruolo possono intraprendere sulle risorse tramite. AWS Marketplace Catalog API

Ad esempio, è possibile definire ruoli quali ingegneria, marketing e determinazione dei prezzi. Quindi, puoi aggiungere un utente della tua organizzazione al ruolo tecnico. In quel ruolo, gli potrebbero essere concesse le autorizzazioni per avviare una richiesta di modifica per pubblicare una nuova versione del tuo prodotto venditore. Tuttavia, il ruolo tecnico non consente all'utente di elencare tutti i set di modifiche.

Nota

Per vendere prodotti Marketplace AWS, Account AWS devi essere configurato come Account venditore. Per maggiori dettagli su come diventare Marketplace AWS venditore, consulta la sezione Guida introduttiva al Marketplace AWS venditore.

Puoi utilizzare le politiche AWS gestite oppure puoi creare le tue politiche IAM per avere un controllo più granulare rispetto a quello disponibile nelle politiche AWS gestite. Per i dettagli su questi approcci, consulta i seguenti argomenti.

Consentire azioni con AWS policy gestite

Puoi utilizzare le politiche gestite da AWS per concedere le autorizzazioni al tuo utente o ruolo.

Per lavorare con i prodotti su cui vendi Marketplace AWS, puoi utilizzare la policy gestita da AWSMarketplaceSellerFullAccess IAM, che ha pieno accesso alle AWS Marketplace Catalog API altre autorizzazioni oltre alle altre. Puoi concedere l'accesso in sola lettura all'API Catalog con la policy. AWSMarketplaceSellerProductsReadOnly Per ulteriori informazioni, consulta Controlling access to Portale di gestione Marketplace AWS, Marketplace AWS Policies and permissions for seller e AWS managed policies for Marketplace AWS sellers nella Marketplace AWS Seller Guide.

Per gestire un marketplace privato, puoi utilizzare la policy gestita da AWSPrivateMarketplaceAdminFullAccess IAM, che ha pieno accesso alla creazione e alla modifica del marketplace privato per il tuo account o la tua organizzazione. AWS Per ulteriori informazioni, consulta Controllare l'accesso agli Marketplace AWS abbonamenti, Creare un amministratore privato del marketplace e Politiche gestite da AWS per Marketplace AWS gli acquirenti nella Guida Marketplace AWS all'acquisto.

In alternativa, puoi creare le tue policy IAM per avere un controllo più granulare rispetto a quello disponibile nelle policy AWS gestite. Utilizza i seguenti argomenti per creare le tue policy IAM.

Consentire azioni su tutte le risorse

Le risorse sono oggetti su cui le azioni possono agire. Non tutti i tipi di risorsa possono essere specificati con ogni operazione. Alcuni tipi di risorse funzionano solo con determinate operazioni. Per ulteriori informazioni, vedere Azioni, risorse e chiavi di condizione per il Marketplace AWS catalogo nel Service Authorization Reference.

Esistono due tipi di risorse nell'API Catalog:

  • Entità: un'entità è un venditore, un prodotto Marketplace AWS o un'esperienza in un mercato privato.

  • ChangeSet— Viene restituito un set di modifiche ogni volta che si utilizza l'API Catalog per apportare modifiche a un'entità. Il set di modifiche descrive le modifiche richieste e il relativo stato. Un set di modifiche può essere annullato se lo stato è nello PREPARING stato.

Per consentire a un utente o a un ruolo il permesso di apportare modifiche a tutte le entità di un utente o ruolo Account AWS, puoi aggiungere la seguente politica IAM. Con questa policy, l'utente o il ruolo può utilizzare l'StartChangeSetazione su tutte le risorse ("*").

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:StartChangeSet" ], "Resource": "*" } ] }

Per informazioni su tutte le azioni disponibili per l'API Catalog, consulta Azioni, risorse e chiavi di condizione per Marketplace AWS Catalog nel Service Authorization Reference.

Consentire azioni su risorse specifiche

Nota

Resource-level le autorizzazioni e le chiavi di contesto delle condizioni per l'StartChangeSetazione sono supportate solo se utilizzate con l'API Catalog. Non sono supportati se utilizzati con. Portale di gestione Marketplace AWS

Invece di consentire modifiche a tutte le risorse, è possibile utilizzare le autorizzazioni a livello di risorsa per consentire modifiche a risorse specifiche.

Ad esempio, puoi consentire modifiche a uno specifico prodotto del venditore Account AWS anziché a tutti i prodotti del venditore. A tale scopo, specifichi l'Amazon Resource Name (ARN) del prodotto del venditore Resource nella politica IAM.

Nota

Per specificare autorizzazioni granulari a livello di risorsa con azioni che creano nuovi set di modifiche, è necessario includere anche un ARN ChangeSet nell'elenco delle risorse. L'ChangeSetARN deve includere il carattere jolly (/*) per corrispondere a qualsiasi nuovo ID del set di modifiche creato come mostrato.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:StartChangeSet" ], "Resource": [ "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example1-abcd-1234-5ef6-7890abcdef12", "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/*" ] } ] }

Per un altro esempio, puoi consentire modifiche a un'esperienza specifica in un marketplace privato anziché a tutte le esperienze. A tale scopo, è necessario specificare l'ARN dell'esperienza Resource nella policy IAM.

Nota

Per specificare autorizzazioni granulari a livello di risorsa con azioni che creano nuovi set di modifiche, è necessario includere anche un ARN ChangeSet nell'elenco delle risorse. L'ChangeSetARN deve includere il carattere jolly (/*) per corrispondere a qualsiasi nuovo ID del set di modifiche creato come mostrato.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:StartChangeSet" ], "Resource": [ "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Experience/exp-example12345", "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/*" ] } ] }

Consentire azioni con specifiche ChangeType chiave di condizione

Nota

Resource-level le autorizzazioni e le chiavi di contesto delle condizioni per l'StartChangeSetazione sono supportate solo se utilizzate con l'API Catalog. Non sono supportati se utilizzati con. Portale di gestione Marketplace AWS

L'azione dell'API Catalog StartChangeSet presenta diversi tipi di modifica. È possibile consentire l'accesso solo a tipi di modifiche specifici.

Ad esempio, potresti voler consentire solo la modifica dei metadati del prodotto del venditore, come il titolo del prodotto, e non consentire l'aggiunta di nuove versioni del prodotto. In questo esempio, il tipo di modifica UpdateInformation consente di modificare i metadati di un prodotto venditore, incluso il titolo. Per ulteriori informazioni sui diversi tipi di modifica, consulta Lavorare con i prodotti del venditore e Lavorare con un marketplace privato nella pagina AWS Marketplace Catalog API di riferimento.

Per limitare l'azione a uno o più tipi di modifica, specificali ChangeType nelle chiavi di condizione. Nel seguente esempio di politica IAM, l'operatore condition StringEquals specifica che l'azione è consentita solo se ChangeType corrispondeUpdateInformation. Per ulteriori informazioni sulle chiavi di condizione, consulta Condition operators nella AWS Identity and Access Management User Guide.

Nota

Per specificare autorizzazioni granulari a livello di risorsa con azioni che creano nuovi set di modifiche, è necessario includere anche un ARN ChangeSet nell'elenco delle risorse. L'ChangeSetARN deve includere il carattere jolly (/*) per corrispondere a qualsiasi nuovo ID del set di modifiche creato come mostrato.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:StartChangeSet" ], "Resource": [ "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example1-abcd-1234-5ef6-7890abcdef12", "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/*" ], "Condition": { "StringEquals": { "catalog:ChangeType": "UpdateInformation" } } } ] }

Consentire azioni con specifiche leggi: ResourceTag chiave di condizione

Nota

Resource-level le autorizzazioni e le chiavi di contesto delle condizioni per l'StartChangeSetazione sono supportate solo se utilizzate con l'API Catalog. Non sono supportati se utilizzati con. Portale di gestione Marketplace AWS

È possibile consentire azioni su un gruppo di entità senza dover aggiornare continuamente la policy e specificare un elenco potenzialmente crescente di ARN di entità. È possibile farlo con l'etichettatura delle risorse. L'aggiunta di tag alle risorse consente di controllare l'accesso a tali risorse in base ai relativi tag. Ad esempio, potresti voler consentire la descrizione di un gruppo di prodotti del venditore senza specificare ARN individuali per ogni prodotto del venditore.

Ad esempio, la seguente policy IAM consente l'DescribeEntityazione su qualsiasi risorsa di entità ("*") con una chiave di tag product-team e un valore di tag pari a. team-xyz

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:DescribeEntity" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/product-team": "team-xyz" } } } ] }

Puoi anche consentire la descrizione e l'annullamento dei set di modifiche creati con tag specifici.

Ad esempio, la seguente policy IAM consente le CancelChangeSet azioni DescribeChangeSet e su qualsiasi risorsa del set di modifiche ("*") con una chiave di tag product-team e un valore di tag pari a. team-xyz

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:DescribeChangeSet", "aws-marketplace:CancelChangeSet" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/product-team": "team-xyz" } } } ] }

Inoltre, puoi consentire l'avvio di set di modifiche sulle entità solo quando tali entità hanno tag specifici. Ad esempio, puoi consentire modifiche ai prodotti del venditore con tag specifici.

Ad esempio, la seguente politica IAM consente l'StartChangeSetazione su qualsiasi risorsa di entità ("*") con una chiave di tag product-team e un valore di tag pari ateam-xyz. Inoltre, l'TagResourceazione è necessaria in modo che quando il set di modifiche viene creato, venga etichettato con la stessa chiave e lo stesso valore di tag.

Nota

Se la politica che consente l'StartChangeSetazione include una condizione che deve corrispondere a tag specifici, la stessa politica deve includere anche l'TagResourceazione. Questo perché la condizione della policy deve corrispondere sia al tag sull'entità che al tag sul set di modifiche appena creato risultante dalla richiesta di modifica. Pertanto, richiede che l'utente o il ruolo disponga anche dell'autorizzazione per taggare il set di modifiche appena creato. Per un esempio di avvio di un set di modifiche e di etichettatura del set di modifiche, vedereEsempio: aggiunta di tag a un'entità e modifica del set durante la creazione.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:StartChangeSet", "aws-marketplace:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/product-team": "team-xyz" } } } ] }

Creazione di un ruolo IAM personalizzato

I clienti che desiderano utilizzare un'autorizzazione alla rivendita ChangeType o un CPPO ChangeType devono creare un ruolo personalizzato AWS Identity and Access Management (IAM). Ciò supporterà la creazione del ciclo di vita del prodotto Resale Authorization.

Per creare un ruolo IAM personalizzato
  1. Accedi alla console IAM (). https://console.aws.amazon.com/iam/

  2. In Gestione accessi scegli Policy.

  3. Seleziona Create Policy (Crea policy).

  4. Per la fase 1: Specificare le autorizzazioni,

    1. Nell'editor delle politiche, seleziona il pulsante JSON, quindi aggiungi la seguente politica:

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowResaleAuthorizationShareActionsRAMCreate", "Effect": "Allow", "Action": [ "ram:CreateResourceShare", "ram:AssociateResourceShare" ], "Resource": [ "arn:aws:ram:*:*:*" ], "Condition": { "ArnLikeIfExists": { "ram:ResourceArn": "arn:aws:aws-marketplace:*:*:AWSMarketplace/ResaleAuthorization/*" }, "StringEqualsIfExists": { "ram:RequestedResourceType": "aws-marketplace:Entity" } } }, { "Sid": "AllowResaleAuthorizationShareActionsRAMAccept", "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:GetResourceShareInvitations", "ram:GetResourcePolicies", "ram:GetResourceShareAssociations" ], "Resource": [ "arn:aws:ram:*:*:*" ] }, { "Sid": "AllowResaleAuthorizationShareActionsMarketplace", "Effect": "Allow", "Action": [ "aws-marketplace:PutResourcePolicy", "aws-marketplace:GetResourcePolicy", "aws-marketplace:DescribeEntity" ], "Resource": "arn:aws:aws-marketplace:*:*:AWSMarketplace/ResaleAuthorization/*" } ] }
    2. Scegli Next (Successivo).

  5. Per la fase 2: revisione e creazione,

    1. Per i dettagli della politica, inserisci FullResaleAuthorizationAccess in Nome della politica e inserisci una descrizione opzionale.

    2. Rivedi le autorizzazioni definite in questa politica.

    3. Per Aggiungi tag, aggiungi tag (opzionale).

    4. Scegli Crea policy.

      Hai creato la FullResaleAuthorizationAccess politica.

  6. In Access management (Gestione accessi), scegli Roles (Ruoli).

  7. Scegli Crea ruolo.

  8. Per la Fase 1: Seleziona un'entità affidabile,

    1. Per Trusted entity type (Tipo di entità attendibile), scegli Custom trust policy (Policy di attendibilità personalizzata).

    2. Copia e incolla la seguente politica di fiducia personalizzata nell'editor JSON.

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "resale-authorization.marketplace.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    3. Scegli Next (Successivo).

  9. Per il passaggio 2: aggiungere le autorizzazioni,

    1. Inserire FullResaleAuthorizationAccess nella barra di ricerca.

    2. Seleziona la politica di FullResaleAuthorizationAccessautorizzazione, quindi scegli Avanti.

  10. Per la Fase 3: Denominazione, revisione e creazione,

  1. Per i dettagli del ruolo, inserisci FullResaleAuthorizationAccess come nome del ruolo e inserisci una descrizione opzionale.

  2. Nella Fase 1: Seleziona le entità attendibili, assicurati che il nome della policy che hai scelto sia associato al ruolo.

  3. Nella Fase 2: Aggiungere le autorizzazioni, rivedi il nome della Policy.

  4. Nella Fase 3: Aggiungere tag, aggiungere tag (opzionale).

  5. Scegli Crea ruolo.

    Hai creato il FullResaleAuthorizationAccess ruolo.

Gestione dei tag sulle risorse

È possibile aggiungere, elencare e rimuovere tag da entità esistenti o set di modifiche.

Aggiunge tag a risorse

Per aggiungere tag a un'entità o modificare un set, utilizza l'azione TagResource API.

Richiesta

POST /TagResource HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ResourceArn": "string", "Tags": [ { "Key": "string", "Value": "string" } ... ] }

I parametri della richiesta includono:

  • Catalog (String) — (Obbligatorio) Deve essereAWSMarketplace.

  • ResourceArn (String) — (Obbligatorio) ARN del set di modifiche o dell'entità. Un set di modifiche descrive le modifiche apportate con l'API Catalog. Un'entità può essere un venditore, un prodotto Marketplace AWS o un'esperienza in un marketplace privato.

  • Tag (matrice di oggetti) — (Obbligatorio) Un elenco di oggetti che specificano la chiave e il valore di ogni tag. Numero di oggetti consentiti: 1—50.

    • Chiave (stringa) — (Obbligatorio) Nome del tag.

      • Schema Regex — ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$

      • Lunghezza dei caratteri: 1—128

    • Valore (stringa) — (Obbligatorio) Valore del tag.

      • Modello Regex: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$

      • Lunghezza dei caratteri: 0—256

Risposta

{}

Rimuove i tag dalle risorse

Per rimuovere un tag o un elenco di tag da un'entità o da un set di modifiche, utilizza l'azione UntagResource API.

Richiesta

POST /UntagResource HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ResourceArn": "string", "TagKeys": [ "string" ... ] }

I parametri della richiesta includono:

  • Catalog (String) — (Obbligatorio) Deve essereAWSMarketplace.

  • ResourceArn (String) — (Obbligatorio) ARN del set di modifiche o dell'entità. Un set di modifiche descrive le modifiche apportate con l'API Catalog. Un'entità può essere un venditore, un prodotto Marketplace AWS o un'esperienza in un marketplace privato.

  • Tag (matrice di oggetti) — (Obbligatorio) Un elenco di nomi chiave dei tag da rimuovere. Numero di stringhe consentite: 0—256.

Risposta

{}

Elenca tutti i tag su una risorsa

Per elencare tutti i tag che sono stati aggiunti e non ancora rimossi da un set di modifiche o da un'entità, utilizza l'azione ListTagsForResource API.

Richiesta

POST /ListTagsForResource HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ResourceArn": "string" }

I parametri della richiesta includono:

Risposta

{ "ResourceArn": "string", "Tags": [ { "Key": "string", "Value": "string" } ... ] }

Gestione dei tag quando si richiedono modifiche alle risorse

È possibile aggiungere tag quando vengono create entità o set di modifiche.

Esempio: aggiunta di tag a un set di modifiche durante la creazione di un set di modifiche

Di seguito è riportato un esempio di StartChangeSet richiesta che aggiorna i metadati del prodotto per un prodotto venditore. Questa richiesta aggiunge un tag al set di modifiche creato con questa richiesta includendo il tag nella ChangeSetTags proprietà.

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType":"UpdateInformation", "Entity": { "Identifier":"example1-abcd-1234-5ef6-7890abcdef12", "Type":"AmiProduct@1.0" }, "Details": "{\"ProductTitle\":\"My updated title\"}" } ], "ChangeSetTags": [ { "Key": "product-team", "Value": "team-xyz" } ] }

Per maggiori informazioni sulla gestione dei prodotti dei venditori, consulta Lavorare con i prodotti del venditore nella sezione AWS Marketplace Catalog API di riferimento.

Esempio: aggiunta di tag a un'entità e modifica del set durante la creazione

Di seguito è riportato un esempio di StartChangeSet richiesta che crea un'entità privata per l'esperienza di mercato. La richiesta aggiunge tag sia alla risorsa dell'entità che alla risorsa del set di modifiche creata con questa richiesta includendo i tag nelle ChangeSetTags proprietà EntityTags and. Con questi tag, è possibile specificare la politica di autorizzazione di un utente o di un ruolo per consentire solo la descrizione o l'annullamento del set di modifiche creato da questa richiesta o per consentire solo la creazione di ulteriori set di modifiche sull'entità creata da questa richiesta. Per ulteriori informazioni, consulta Concedere l'autorizzazione a creare entità e modificare set solo con tag.

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "CreateExperience", "Entity": { "Type": "Experience@1.0" }, "Details": "{\"Name\": \"ExamplePrivateMarketplace\"}", "EntityTags": [ { "Key": "product-team", "Value": "team-xyz" } ] } ], "ChangeSetTags": [ { "Key": "product-team", "Value": "team-xyz" } ] }

Per ulteriori informazioni sulla gestione di un marketplace privato, consulta Lavorare con un marketplace privato nella Guida di riferimento.AWS Marketplace Catalog API

Concessione dell'autorizzazione a gestire i tag sulle risorse

Per consentire a un utente o a un ruolo di aggiungere, rimuovere ed elencare tag su tutte le entità o i set di modifiche, ha bisogno della seguente politica IAM.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:TagResource", "aws-marketplace:UntagResource", "aws-marketplace:ListTagsForResource" ], "Resource": "*" } ] }

Concedere l'autorizzazione a gestire i tag sulle risorse solo quando tali risorse hanno tag specifici

È possibile consentire a un utente o a un ruolo di aggiungere, rimuovere ed elencare tag su entità o modificare i set con tag specifici. La seguente policy IAM consente tali azioni su qualsiasi entità risorsa ("*") con una chiave di tag product-team e un valore di tag pari ateam-xyz.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:TagResource", "aws-marketplace:UntagResource", "aws-marketplace:ListTagsForResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/product-team": "team-xyz" } } } ] }

Concedere l'autorizzazione a creare entità e modificare set solo con tag

Nota

Resource-level le autorizzazioni e le chiavi di contesto delle condizioni per l'StartChangeSetazione sono supportate solo se utilizzate con l'API Catalog. Non sono supportati se utilizzati con. Portale di gestione Marketplace AWS

È possibile applicare l'etichettatura quando vengono create entità o set di modifiche. Aggiungi la seguente politica per consentire StartChangeSet e le TagResource azioni, con una condizione che specifica le corrispondenze delle chiavi dei tag product-team e le corrispondenze dei valori del tag. team-xyz Questa condizione politica deve corrispondere sia al tag sull'entità appena creata che al tag sul set di modifiche appena creato risultante dalla richiesta di creazione. Per un esempio di etichettatura di un'entità al momento della creazione, vediEsempio: aggiunta di tag a un'entità e modifica del set durante la creazione.

Per le entità esistenti, questa politica applica anche l'etichettatura dei set di modifiche quando si richiedono modifiche a tali entità. Ciò richiede inoltre che l'entità esistente disponga di questo tag esistente. Questo perché la condizione della policy deve corrispondere sia al tag sull'entità esistente sia al set di modifiche appena creato risultante dalla richiesta di modifica. Per un esempio di aggiunta di tag alle richieste di modifica, consultaEsempio: aggiunta di tag a un set di modifiche durante la creazione di un set di modifiche.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:StartChangeSet", "aws-marketplace:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/product-team": "team-xyz" } } } ] }