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à.
Associazione di licenze a prodotti AMI basati su AWS License Manager
Per i prodotti basati su Amazon Machine Image (AMI) con prezzi contrattuali, puoi utilizzare AWS License Manager per associare le licenze al tuo prodotto. AWS License Manager è uno strumento di gestione delle licenze che consente all'applicazione di tracciare e aggiornare le licenze (note anche come autorizzazioni) acquistate da un cliente. Una volta completata l'integrazione, puoi pubblicare l'elenco dei tuoi prodotti su. Marketplace AWS Le seguenti sezioni forniscono ulteriori informazioni sull'utilizzo AWS License Manager per associare le licenze al prodotto AMI basato sul prodotto.
Per ulteriori informazioni in merito AWS License Manager, consultate la Guida per l'AWS License Manager utente e la AWS License Managersezione del AWS CLI Command Reference.
Nota
-
I clienti non possono lanciare nuove istanze di AMI dopo il periodo di scadenza del contratto. Tuttavia, durante la durata del contratto, possono avviare un numero qualsiasi di istanze. Queste licenze non sono bloccate su nodi o legate a istanze particolari.
-
Creazione di offerte private: i venditori possono generare offerte private per i prodotti utilizzando lo strumento di creazione di offerte private disponibile in. Portale di gestione Marketplace AWS
-
Reporting: puoi configurare i feed di dati configurando un bucket Amazon S3 nella sezione Report del. Portale di gestione Marketplace AWS Per ulteriori informazioni, vedi Report, feed di dati e dashboard per i venditori in Marketplace AWS.
Argomenti
Modelli di licenza
Marketplace AWS integrazione con AWS License Manager supporta due modelli di licenza:
Modello di licenza configurabile
Il modello di licenza configurabile (noto anche come modello di licenza quantificabile) dà diritto a un acquirente a una quantità specifica di risorse dopo che l'acquirente si è procurato una licenza.
Hai impostato una dimensione di prezzo e un prezzo unitario. Quindi, l'acquirente può scegliere la quantità di risorse che desidera acquistare.
Esempio della dimensione dei prezzi e del prezzo unitario
Puoi impostare una dimensione di prezzo (come il backup dei dati) e un prezzo unitario (ad esempio 30 USD per unità)
L'acquirente può scegliere di acquistare 5, 10 o 20 unità.
Il prodotto monitora e misura l'utilizzo per misurare la quantità di risorse consumate.
Con il modello di configurazione, i diritti vengono conteggiati in due modi:
Licenze Drawdown
La licenza viene estratta dal pool di licenze consentite al momento dell'uso. Tale autorizzazione viene verificata in modo permanente e non può essere restituita al pool di licenze.
Esempio di elaborare una quantità limitata di dati
Un utente ha il diritto di elaborare 500 GB di dati. Man mano che continuano a elaborare i dati, la quantità viene prelevata dal pool di 500 GB fino a esaurire tutte le licenze da 500 GB.
Per le licenze drawdown, è possibile utilizzare l'CheckoutLicense
APIoperazione per controllare le unità di licenza utilizzate.
Esempio di backup su S3 per un numero di unità/anno
Disponi di un prodotto di storage che consente il backup su Amazon Simple Storage Service (Amazon S3) per un massimo di 1024 unità di dati per un anno. L'applicazione può essere avviata utilizzando più EC2 istanze Amazon. L'applicazione dispone di un meccanismo per tracciare e aggregare i dati. Il software richiama l'CheckoutLicense
APIoperazione con l'ID del prodotto a ogni backup o a intervalli fissi per aggiornare le quantità consumate.
In questo esempio, il software chiama CheckoutLicense
per effettuare il check-out di 10 unità di dati. Quando la capacità totale raggiunge il limite di backup acquistato dal cliente, la API chiamata non riesce.
Richiesta
linux-machine ~]$ aws license-manager checkout-license\ --product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \ --checkout-type "PERPETUAL" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \ --entitlements "Name=DataConsumption, Value=l0, Unit=Count" \ --client-token "AKIAIOSFODNN7EXAMPLE"
Risposta
{ "CheckoutType": "PERPETUAL", "EntitlementsAllowed": [ { "Name": "DataConsumption", "Count": 10, "Units": "Count", "Value": "Enabled" } }, "Expiration": "2021-04-22Tl9:02: 36", "IssuedAt": "2021-04-22Tl8:02:36", "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...", "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE" }
Licenze fluttuanti
La licenza viene restituita al pool del numero consentito di licenze dopo l'uso.
Esempio del numero di utenti a partire da un limite massimo fisso
Un utente ha diritto a 500 utenti simultanei sull'applicazione. Quando gli utenti accedono e si disconnettono, gli utenti vengono estratti e restituiti al pool di 500 utenti. Tuttavia, l'applicazione non può attirare più di 500 utenti dal pool perché 500 utenti simultanei è il limite massimo fisso.
Per le licenze flottanti, è possibile utilizzare l'CheckInLicense
APIoperazione per restituire le unità di licenza al pool di autorizzazioni.
Esempio del numero di utenti simultanei per un anno
Il prezzo del prodotto è basato sul numero di utenti simultanei. Il cliente acquista una licenza per 10 utenti per un anno. Il cliente avvia il software fornendo le autorizzazioni AWS Identity and Access Management (IAM). Quando un utente accede, l'applicazione richiama l'CheckoutLicense
APIoperazione per ridurre la quantità di 1. Quando l'utente si disconnette, l'applicazione restituisce la licenza al pool richiamando l'CheckInLicense
APIoperazione. Se non si effettua la chiamataCheckInLicense
, l'unità di licenza verrà automaticamente registrata dopo 1 ora.
Nota
Nella richiesta seguente, key-fingerprint
non è un valore segnaposto ma il valore effettivo dell'impronta digitale con cui verranno pubblicate tutte le licenze.
Richiesta
linux-machine ~]$ aws license-manager checkout-license\ --product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \ --checkout-type "PROVISIONAL" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \ --entitlements "Name=ReadOnlyUSers, Value=l0, Unit=Count" \ --client-token "AKIAIOSFODNN7EXAMPLE"
Risposta
{ "CheckoutType": "PROVISIONAL", "EntitlementsAllowed": [ { "Name": "ReadOnlyUsers", "Count": 10, "Units": "Count", "Value": "Enabled" } }, "Expiration": "2021-04-22Tl9:02: 36", "IssuedAt": "2021-04-22Tl8:02:36", "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...", "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE" }
Modello di licenza a più livelli
Il modello di licenza a più livelli dà diritto a un acquirente a un livello o livello specifico di funzionalità dell'applicazione dopo che l'acquirente ha acquistato una licenza.
Puoi creare livelli per il tuo prodotto, come Basic, Intermediate e Premium. L'acquirente seleziona quindi uno dei livelli predefiniti.
L'applicazione non ha bisogno di tracciare o misurare l'utilizzo dell'applicazione.
Con il modello di licenza a più livelli, i diritti non vengono conteggiati, ma indicano invece un livello di servizio acquistato dal cliente.
Se desideri offrire insieme funzionalità in bundle, ti consigliamo di utilizzare il modello di licenza a più livelli.
Esempio dei livelli Basic, Intermediate e Premium
Un cliente può firmare un contratto per uno dei tre possibili livelli del software: Basic, Intermediate o Premium. Ciascuno di questi livelli ha i propri prezzi. Il software è in grado di identificare il livello a cui il cliente si è registrato richiamando l'CheckoutLicense
APIoperazione e specificando tutti i livelli possibili nella richiesta.
La risposta alla richiesta contiene l'autorizzazione corrispondente al livello acquistato dal cliente. Sulla base di queste informazioni, il software può fornire l'esperienza appropriata al cliente.
Richiesta
linux-machine ~]$ aws license-manager checkout-license\ --product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \ --checkout-type "PROVISIONAL" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \ --entitlements "Name=BasicTier, Unit=None" "Name=IntermediateTier, Unit=None" \ "Name=PremiumTier, Unit=None"
Risposta
{ "CheckoutType": "PROVISIONAL", "EntitlementsAllowed": [ { "Name": "IntermediateTier", "Units": "None" } }, "Expiration": "2021-04-22Tl9:02:36", "IssuedAt": "2021-04-22Tl8:02:36", "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...", "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE" }
Workflow di integrazione
I passaggi seguenti mostrano il flusso di lavoro per l'integrazione del AMI prodotto con AWS License Manager:
-
Il venditore crea un prodotto con AWS License Manager integrazione.
-
Il venditore mette in vendita il prodotto su Marketplace AWS.
-
L'acquirente trova il prodotto Marketplace AWS e lo acquista.
-
Una licenza viene inviata all'acquirente nel suo Account AWS.
-
L'acquirente utilizza il software avviando l'istanza Amazon Elastic Compute Cloud EC2 (Amazon), il task Amazon Elastic Container Service (AmazonECS) o il software pod Amazon Elastic Kubernetes Service EKS (Amazon). Il cliente esegue la distribuzione utilizzando un ruolo. IAM
-
Il software legge la licenza nell' AWS License Manager account dell'acquirente, scopre i diritti acquistati e fornisce le funzionalità di conseguenza.
Nota
License Manager non effettua alcun tracciamento o aggiornamento; questo viene fatto dall'applicazione del venditore.
Prerequisiti per l'integrazione con License Manager
Prima di pubblicare il prodotto, è necessario effettuare le seguenti operazioni:
-
Crea un nuovo AMI prodotto in Portale di gestione Marketplace AWS e prendi nota del relativo codice prodotto.
-
Compila il modulo di caricamento del prodotto (PLF) con le informazioni necessarie sul prezzo e inviacelo per l'elaborazione.
-
Utilizzate un IAM ruolo per l'attività o il pod che esegue l'applicazione con IAM le autorizzazioni necessarie per chiamare
CheckoutLicense
ExtendLicenseConsumption
, eCheckInLicense
.Le IAM autorizzazioni richieste sono dettagliate nella seguente IAM politica.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"VisualEditorO", "Effect":"Allow", "Action":[ "license-manager:CheckoutLicense", "license-manager:GetLicense", "license-manager:CheckInLicense", "license-manager:ExtendLicenseConsumption", "license-manager:ListReceivedLicenses" ], "Resource":"*" } ] }
-
Effettua una chiamata di prova all'
RegisterUsage
APIoperazione con un record per tutte le dimensioni di prezzo che hai definito.
Integrazione di un prodotto basato con AMI AWS License Manager
È possibile integrare il prodotto AMI basato su licenza con License Manager utilizzando il AWS License ManagerAPI. Avvia le EC2 istanze Amazon utilizzando prodotti Marketplace AWS AMI basati.
Nota
Assicurati di aver completato Prerequisiti per l'integrazione con License Manager prima di eseguire la seguente procedura.
Per integrare il prodotto AMI basato su licenza con License Manager
-
Completare la procedura Creazione di una licenza di prova in License Manager. È necessario creare una licenza di prova in License Manager per testare l'integrazione.
-
Esegui l'GetLicenseAPIoperazione utilizzando la licenza Amazon Resource Name (ARN) che hai ottenuto nel passaggio 1. Annota il valore dell'
KeyFingerprint
attributo dellaGetLicense
risposta per un uso successivo. -
Scarica e includi la versione pubblica più recente AWS SDK nella tua applicazione.
-
Per verificare che l'acquirente sia autorizzato a utilizzare una licenza per la tua applicazione, esegui l'CheckoutLicenseAPIoperazione. Utilizza i dettagli relativi ai diritti e l'impronta digitale chiave della licenza di prova che hai ottenuto nella fase 1.
Se non vengono trovati diritti per la licenza o se il numero massimo di autorizzazioni viene superato, l'operazione viene restituita.
CheckoutLicense
APINoEntitlementsAllowedException
Se i permessi sono validi o disponibili per l'uso, l'CheckoutLicense
operazione restituisce una risposta corretta con i permessi richiesti e i relativi valori. -
(Obbligatorio solo per i permessi fluttuanti) Esegui l'CheckinLicenseAPIoperazione utilizzando quello ricevuto nella
LicenseConsumptionToken
risposta.CheckoutLicense
Questa azione rilascia le autorizzazioni precedentemente ritirate nel pool di autorizzazioni disponibili. -
Dopo aver verificato con successo l'integrazione del License Manager con la licenza di prova creata nel passaggio 1, aggiorna l'impronta digitale della chiave nel codice a
aws:294406891311:AWS/Marketplace:issuer-fingerprint
. Ora sei pronto per lavorare con le licenze rilasciate da. Marketplace AWS
Segui la procedura di rilascio per creare l'applicazione per un AMI prodotto, quindi invia il prodotto a Marketplace AWS seguire la procedura di pubblicazione del prodotto.
Creazione di una licenza di prova in License Manager
Si utilizza la versione 2 di AWS Command Line Interface (AWS CLI) per creare una licenza di prova in AWS License Manager. Questa licenza di prova viene utilizzata solo per verificare e testare l' AWS License Manager integrazione. Una volta completato il test, puoi eliminare la licenza di prova. La licenza effettiva viene generata Marketplace AWS con un'impronta digitale della chiave diversa.
Marketplace AWS supporta due tipi di diritti in. AWS License Manager Tuttavia, è possibile abilitare solo un tipo per prodotto. Quando si crea una licenza, inclusa una licenza di prova, è necessario specificare uno dei seguenti tipi di diritti:
Autorizzazioni a più livelli: il modello di licenza a più livelli dà diritto al cliente a determinate funzionalità dell'applicazione. I clienti non possono definire la quantità di unità che desiderano acquistare. Tuttavia, possono selezionare un singolo pacchetto o livello predefinito. I clienti possono modificare il contratto in un secondo momento per abbonarsi a un altro livello.
Autorizzazioni configurabili: il modello di licenza configurabile concede i diritti a una determinata quantità di risorse quando il cliente acquista una licenza. Il cliente sceglie la quantità di unità che desidera acquistare durante il processo di abbonamento e verrà fatturata in base al prezzo unitario. I clienti possono anche abbonarsi a più dimensioni.
I parametri richiesti per l'utilizzo nell'CheckoutLicense
APIoperazione sono i seguenti:
-
CheckoutType
— I valori validi sonoPerpetual
oProvisional
:-
Perpetual
— Utilizzato quando la quantità di diritti ritirati dal pool sarà esaurita. Esempio: l'acquirente ha il diritto di elaborare 500 GB di dati. Man mano che continuano a elaborare i dati, la quantità viene prelevata ed esaurita dal pool di 500 GB. Visualizza lo stato di una licenza acquistata indicando se la licenza è scaduta o sta per scadere per inviare una notifica al cliente. -
Provisional
— Utilizzato per i diritti di licenza fluttuanti, in cui i permessi vengono estratti dal pool e restituiti dopo l'uso. Esempio: l'utente ha diritto a 500 utenti simultanei nell'applicazione. Quando gli utenti accedono e si disconnettono, gli utenti vengono estratti e restituiti al pool di 500 utenti. Per ulteriori informazioni sui diritti di licenza flottanti, consulta Licenze rilasciate dal venditore in License Manager. AWS
-
-
ClientToken
— Identificatore univoco con distinzione tra maiuscole e minuscole per garantire che il risultato esatto sia lo stesso indipendentemente dal numero di tentativi. Ti consigliamo di utilizzare un identificatore univoco universale casuale () per ogni richiesta. UUID -
Entitlements
— Elenco dei diritti da verificare.-
Per i diritti a più livelli, fornisci
Name
le seguenti proprietà:Unit
{
"Name": "<
Entitlement_Name
>","Unit": "
None
"}
-
Per i permessi configurabili, fornisci e proprietà come segue
Name
:Unit
Value
{
"Name": "<
Entitlement_Name
>","Unit": "<
Entitlement_Unit
>","Value": <
Desired_Count
>{}
-
-
KeyFingerprint
— Utilizza questa impronta digitale chiave per verificare che la licenza sia stata rilasciata da. Marketplace AWS L'impronta digitale chiave per le licenze rilasciate da Marketplace AWS è la seguente:aws:294406891311:AWS/Marketplace:issuer-fingerprint
-
Product SKU
— ID del prodotto con un formato Globally Unique Identifier (GUID) associato a un prodotto. Marketplace AWS
Esempio di un diritto configurabile
Di seguito è riportato un esempio di richiesta che utilizza l'CheckoutLicense
APIoperazione per estrarre un'autorizzazione configurabile denominata. PowerUsers
aws license-manager checkout-license \ product-sku "2205b290-19e6-4c76-9eea-377d6bf71a47" \ checkout-type "PROVISIONAL" \ client-token "79464194dca9429698cc774587a603a1" \"Statement":[ entitlements "Name=PowerUsers,Value=1,Unit=Count" \ key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint"
Esempio di un'autorizzazione a più livelli
Di seguito è riportato un esempio di richiesta che utilizza l'CheckoutLicense
APIoperazione per estrarre un'autorizzazione alla funzionalità denominata. EnterpriseEdition
aws license-manager checkout-license \ --product-sku "2205b290-19e6-4c76-9eea-377d6bf71a47" \ --checkout-type "PROVISIONAL" \ --client-token "79464194dca9429698cc774587a603a1" \ --entitlements "Name=EnterpriseEdition,Unit=None" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint"
Per creare una licenza di prova per il prodotto basato sul tuo prodotto AMI
-
Dall'ambiente locale con la AWS CLI versione 2 installata, esegui lo script seguente. Lo script crea la licenza di prova e configura i dettagli appropriati del prodotto.
Nota
Utilizzate un test Account AWS diverso da quello Account AWS in cui state distribuendo e testando il software. Le licenze non possono essere create, concesse e ritirate nello stesso momento. Account AWS
#!/bin/bash # Replace with intended product ID on AWS Marketplace PRODUCT_ID=<REPLACE-WITH-PRODUCT-ID> # Replace with license recipient's AWS Account ID BENEFICIARY_ACCOUNT_ID=<REPLACE-WITH-BENEFICIARY-ACCOUNT-ID> # Replace with your product's name PRODUCT_NAME="Test Product" # Replace with your seller name on AWS Marketplace SELLER_OF_RECORD="Test Seller" # Replace with intended license name LICENSE_NAME="AWSMP Test License" # Replace the following with desired contract dimensions # More info here: https://docs.aws.amazon.com/license-manager/latest/APIReference/API_Entitlement.html # Example "configurable entitlement" ENTITLEMENTS='[ { "Name": "ReadOnly", "MaxCount": 5, "Overage": false, "Unit": "Count", "AllowCheckIn": true } ]' # Example "tiered entitlement" # ENTITLEMENTS='[ # { # "Name": "EnterpriseUsage", # "Value": "Enabled", # "Unit": "None" # } # ]' # Format "yyyy-mm-ddTHH:mm:ss.SSSZ" # This creates a validity period of 10 days starting the current day # Can be updated to desired dates VALIDITY_START=$(date +%Y-%m-%dT%H:%M:%S.%SZ) VALIDITY_END=$(date --date="+10 days" +%Y-%m-%dT%H:%M:%S.%SZ) # Configuration for consumption of the license as set on Marketplace products CONSUMPTION_CONFIG='{ "RenewType": "None", "ProvisionalConfiguration": { "MaxTimeToLiveInMinutes": 60 } }' # License's home Region HOME_REGION=us-east-1 # License issuer's name ISSUER=Self # Run AWS CLI command to create a license aws license-manager create-license \ --license-name "${LICENSE_NAME}" \ --product-name "${PRODUCT_NAME}" \ --product-sku "${PRODUCT_ID}" \ --issuer Name="${ISSUER}" \ --beneficiary "${BENEFICIARY_ACCOUNT_ID}" \ --validity 'Begin="'"${VALIDITY_START}"'",End="'"${VALIDITY_END}"'"' \ --entitlements "${ENTITLEMENTS}" \ --home-region "${HOME_REGION}" \ --region "${HOME_REGION}" \ --consumption-configuration "${CONSUMPTION_CONFIG}" \ --client-token $(uuidgen)
-
Concedi la licenza utilizzando la AWS License Manager console. Per ulteriori informazioni, consulta la sezione Distribuire un'autorizzazione nella License Manager User Guide.
-
Accedi all'account Account AWS che funge da account acquirente dove distribuirai e testerai il tuo software. Deve essere diverso Account AWS da Account AWS quello creato e concesso dalla licenza.
-
Vai alla AWS License Manager console per accettare e attivare le licenze concesse. Per ulteriori informazioni, consulta la sezione Gestione delle licenze concesse nella License Manager User Guide.
-
Esegui il comando seguente nel tuo ambiente.
# The following example uses a key fingerprint that should match the test license you created. # When checking out an actual AWS Marketplace created license, use the following fingerprint: # aws:294406891311:AWS/Marketplace:issuer-fingerprint aws license-manager checkout-license \ --product-sku <REPLACE-WITH-PRODUCT-ID> \ --checkout-type PROVISIONAL \ --key-fingerprint "aws:<ACCOUNT-ID-WHERE-YOU-CREATED-TEST-LICENSE>:Self:issuer-fingerprint" \ --entitlements "Name=ReadOnly,Value=1,Unit=Count" \ --client-token $(uuidgen)
Il comando precedente utilizza
PROVISIONAL
come valore per ilCheckoutType
parametro. Se l'autorizzazione utilizza una licenza drawdown, utilizzalaPERPETUAL
per il valore.
APIChiamate al License Manager
Per gestire le licenze archiviate nell'account License Manager del cliente, il software può utilizzare le seguenti API chiamate:
-
GetLicense
— Indica lo stato di una licenza acquistata indicando se la licenza è scaduta o sta per scadere, per inviare una notifica al cliente. -
CheckoutLicense
— Rileva le licenze acquistate dall'utente. È inoltre possibile utilizzarlo per aggiornare la quantità di licenze quando l'utente ha consumato una certa quantità di licenze. ConCheckoutLicense
, puoi continuare a controllare le quantità di licenze utilizzate dal cliente. Quando il cliente esaurisce tutte le licenze, questa chiamata restituisce un errore. Per informazioni sulla cadenza di esecuzione consigliata, consulta.CheckoutLicense
Rinnovi e aggiornamenti delle licenze -
ExtendLicenseConsumption
— In caso di dimensioni variabili, quando il software estrae una licenza, la restituisce automaticamente al pool dopo 60 minuti. Se si desidera prolungare il periodo di check-out della licenza, il software può chiamare perExtendLicenseConsumption
estendere la licenza per altri 60 minuti. -
CheckInLicense
— In caso di dimensioni variabili, quando si desidera restituire la licenza al pool di diritti, utilizzare.CheckInLicense
-
ListReceivedLicenses
— Elenca le licenze acquistate dall'acquirente.
Rinnovi e aggiornamenti delle licenze
I clienti possono rinnovare o aggiornare le proprie licenze su. Portale di gestione Marketplace AWS Dopo aver effettuato un acquisto aggiuntivo, Marketplace AWS genera una nuova versione della licenza che riflette i nuovi diritti. Il software legge le nuove autorizzazioni utilizzando le stesse chiamate. API Non è necessario fare nulla di diverso in termini di integrazione del License Manager per gestire i rinnovi e gli aggiornamenti.
A causa di rinnovi di licenza, upgrade, annullamenti e così via, consigliamo che il prodotto effettui la CheckoutLicense
API chiamata a cadenza regolare mentre il prodotto è in uso. Utilizzando l'CheckoutLicense
APIoperazione a cadenza regolare, il prodotto è in grado di rilevare cambiamenti nelle autorizzazioni, ad esempio aggiornamenti e scadenze.
Si consiglia di effettuare la chiamata ogni 15 minuti. CheckoutLicense
API