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:
Argomenti
- Esempio 1: condividere un'applicazione con un altro account
- Esempio 2: condividere pubblicamente un'applicazione
- Esempio 3: rendere privata un'applicazione
- Esempio 4: specificare più account e autorizzazioni
- Esempio 5: condividere un'applicazione con tutti gli account di un'AWSorganizzazione
- Esempio 6: condivisione di un'applicazione con alcuni account in un'AWSorganizzazione
- Esempio 7: recupero di una policy dell'applicazione
- Esempio 8: consentire la nidificazione delle applicazioni da parte di account specifici
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-idapplication-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-idapplication-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-idapplication-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-idapplication-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-idapplication-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'UnshareApplication
azione, 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-idapplication-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'UnshareApplication
azione, 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-idapplication-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-idapplication-arn
\ --statements Principals=account-id-1
,account-id-2
,Actions=GetApplication,CreateCloudFormationTemplate