AWS Serverless Application RepositoryEsempi di politiche applicative - AWS Serverless Application Repository

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à.

AWS Serverless Application RepositoryEsempi di politiche applicative

Le politiche di autorizzazione allegate alleAWS Serverless Application Repository applicazioni sono denominate politiche delle applicazioni. Le politiche dell'applicazione determinano le azioni che un committente o PrincipalOrg specificato può eseguire su un'AWS Serverless Application Repositoryapplicazione.

Un'AWS Serverless Application Repositoryapplicazione è laAWS risorsa principale diAWS Serverless Application Repository. AWS Serverless Application Repositoryi criteri applicativi vengono utilizzati principalmente dagli editori per concedere ai consumatori il permesso di distribuire le proprie applicazioni e le operazioni correlate, ad esempio la ricerca e la visualizzazione dei dettagli di tali applicazioni.

I publisher possono impostare le autorizzazioni dell'applicazione per le tre categorie seguenti:

  • Private: applicazioni create con lo stesso account e che non sono state condivise con nessun altro account. Solo i consumatori che condividono il tuoAWS account hanno il permesso di distribuire applicazioni private.

  • Condivise privatamente: applicazioni che l'editore ha condiviso esplicitamente con un set specifico diAWS account o conAWS account di un'AWSorganizzazione. I consumatori hanno il permesso di distribuire applicazioni che sono state condivise con il proprioAWS account o la propriaAWS organizzazione. Per ulteriori informazioni sulleAWS organizzazioni, consulta la Guida perAWS Organizations l'utente.

  • Condivise pubblicamente: applicazioni che l'editore ha condiviso con tutti. Tutti i consumatori hanno l'autorizzazione per distribuire qualsiasi applicazione condivisa pubblicamente.

Nota

Per le applicazioni condivise privatamente, supportaAWS Serverless Application Repository solo gli AWSaccount come utenti principali. Gli editori possono concedere o negare a un'AWS Serverless Application Repositoryapplicazione tutti gli utenti di unAWS account come gruppo singolo. Gli editori non possono concedere o negare l'accesso a un'AWS Serverless Application Repositoryapplicazione a singoli utenti all'interno di unAWS account.

Per istruzioni sull'impostazione delle autorizzazioni dell'applicazione utilizzando la AWS Management Console, consulta Condivisione di un'applicazione.

Per istruzioni sull'impostazione delle autorizzazioni dell'applicazione utilizzando gli esempi e l'AWS CLI, consulta le sezioni seguenti.

Autorizzazioni delle applicazioni (AWS CLIeAWS SDK)

Quando utilizzi gli SDKAWS CLI oAWS gli SDK per impostare le autorizzazioni per un'AWS Serverless Application Repositoryapplicazione, puoi specificare le seguenti azioni:

Operazione Descrizione
GetApplication

Concede l'autorizzazione per visualizzare informazioni sull'applicazione.

CreateCloudFormationChangeSet

Concede l'autorizzazione per distribuire l'applicazione.

Nota: questa operazione non concede altre autorizzazioni se non quella di distribuzione.

CreateCloudFormationTemplate

Concede l'autorizzazione per creare un modello AWS CloudFormation per l'applicazione.

ListApplicationVersions Concede l'autorizzazione per elencare le versioni dell'applicazione.
ListApplicationDependencies Concede l'autorizzazione per visualizzare l'elenco delle applicazioni che sono nidificate nell'applicazione che le contiene.
SearchApplications Concede l'autorizzazione per cercare l'applicazione.
Implementazione

Questa operazione abilita tutte le operazioni elencate in precedenza nella tabella. In altre parole, concede l'autorizzazione per visualizzare, distribuire e cercare l'applicazione e per elencarne le versioni.

Esempi di policy di applicazione

Negli esempi seguenti viene illustrato come concedere le autorizzazioni utilizzando l'AWS CLI. Per ulteriori informazioni su come concedere le autorizzazioni utilizzando la AWS Management Console, consulta Condivisione di un'applicazione.

Tutti gli esempi in questa sezione utilizzano questi comandi AWS CLI per gestire le policy di autorizzazione associate alle applicazioni AWS Serverless Application Repository:

Esempio 1: condividere un'applicazione con un altro account

Per condividere un'applicazione con un altro account specifico, ma evitare che venga condivisa con altri, è necessario specificare l'IDAWS dell'account che si desidera condividere come utente principale. Questa operazione equivale all'impostazione dell'applicazione su condivisa privatamente. A questo scopo, eseguire il comando AWS CLI seguente.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id,Actions=Deploy
Nota

Le applicazioni condivise privatamente possono essere utilizzate solo nella stessaAWS regione in cui è stata creata l'applicazione.

Esempio 2: condividere pubblicamente un'applicazione

Per rendere pubblica un'applicazione, occorre condividerla con tutti specificando "*" come principale, come nell'esempio seguente. Le applicazioni condivise pubblicamente sono disponibili in tutte le regioni.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=*,Actions=Deploy
Nota

Per condividere pubblicamente un'applicazione, entrambe le proprietà SemanticVersion e LicenseUrl devono essere impostate.

Esempio 3: rendere privata un'applicazione

Puoi rendere privata un'applicazione, in modo che non venga condivisa con nessuno e possa essere distribuita solo dall'AWSaccount che la possiede. A tale scopo, è necessario eliminare i principi e le azioni dalla politica, che impedisce anche agli altri accountAWS dell'organizzazione di distribuire l'applicazione.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements '[]'
Nota

Le applicazioni private possono essere utilizzate solo nella stessaAWS regione in cui è stata creata l'applicazione.

Esempio 4: specificare più account e autorizzazioni

Puoi concedere più autorizzazioni e puoi concederle a più di unAWS account alla volta. A tale scopo, specifichi gli elenchi come l'entità principal e le operazioni come illustrato nell'esempio seguente.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,Actions=GetApplication,CreateCloudFormationChangeSet

Esempio 5: condividere un'applicazione con tutti gli account di un'AWSorganizzazione

Le autorizzazioni possono essere concesse a tutti gli utenti all'interno di un'AWSorganizzazione. Puoi eseguire questa operazione specificando l'ID dell’organizzazione, come nell'esempio seguente.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=*,PrincipalOrgIDs=org-id,Actions=Deploy,UnshareApplication

Per ulteriori informazioni sulleAWS organizzazioni, consulta la Guida per l'AWS Organizationsutente.

Nota

Puoi specificare solo l'AWSorganizzazione di cui è membro il tuoAWS account. Se si tenta di specificare un'AWSorganizzazione di cui non si è membri, si verificherà un errore.

Per condividere l'applicazione con l'AWSorganizzazione, è necessario includere l'autorizzazione per l'UnshareApplicationazione, nel caso in cui la condivisione debba essere revocata in future.

Esempio 6: condivisione di un'applicazione con alcuni account in un'AWSorganizzazione

Le autorizzazioni possono essere concesse a account specifici all'interno di un'AWSorganizzazione. A tale scopo, è necessario specificare un elenco diAWS account come principale e l'ID dell'organizzazione, come nell'esempio seguente.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,PrincipalOrgIDs=org-id,Actions=Deploy,UnshareApplication
Nota

Puoi specificare solo l'AWSorganizzazione di cui è membro il tuoAWS account. Se si tenta di specificare un'AWSorganizzazione di cui non si è membri, si verificherà un errore.

Per condividere l'applicazione con l'AWSorganizzazione, è necessario includere l'autorizzazione per l'UnshareApplicationazione, nel caso in cui la condivisione debba essere revocata in future.

Esempio 7: recupero di una policy dell'applicazione

Per visualizzare la policy attuale dell'applicazione, ad esempio per verificare se al momento è condivida, si utilizza il comando get-application-policy, come nell'esempio seguente.

aws serverlessrepo get-application-policy \ --region region \ --application-id application-arn

Esempio 8: consentire la nidificazione delle applicazioni da parte di account specifici

Le applicazioni pubbliche possono essere nidificate da qualsiasi utente. Se desideri consentire unicamente la nidificazione delle applicazioni da parte di account specifici, devi impostare le seguenti autorizzazioni minime, come indicato nell'esempio riportato di seguito.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,Actions=GetApplication,CreateCloudFormationTemplate