

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# AWS Serverless Application Repository Beispiele für Anwendungsrichtlinien
<a name="security_iam_resource-based-policy-examples"></a>

Mit AWS Serverless Application Repository Anwendungen verknüpfte Berechtigungsrichtlinien werden als *Anwendungsrichtlinien* bezeichnet. Anwendungsrichtlinien bestimmen die Aktionen, die ein bestimmter Principal oder eine PrincipalOrg für eine AWS Serverless Application Repository Anwendung ausführen kann.

Eine AWS Serverless Application Repository *Anwendung* ist die primäre AWS Ressource in der. AWS Serverless Application Repository AWS Serverless Application Repository Anwendungsrichtlinien werden hauptsächlich von Herausgebern verwendet, um Verbrauchern die Erlaubnis zu erteilen, ihre Anwendungen bereitzustellen und damit verbundene Vorgänge durchzuführen, z. B. um nach diesen Anwendungen zu suchen und Details zu diesen Anwendungen anzuzeigen.

Herausgeber können Anwendungsberechtigungen mit den folgenden drei Kategorien festlegen:
+ **Privat** — Anwendungen, die mit demselben Konto erstellt und mit keinem anderen Konto geteilt wurden. Nur Verbraucher, die Ihr AWS Konto gemeinsam nutzen, sind berechtigt, private Anwendungen bereitzustellen.
+ **Privat geteilt** — Anwendungen, die der Herausgeber ausdrücklich mit einer bestimmten Gruppe von AWS Konten oder mit AWS Konten in einer AWS Organisation geteilt hat. Verbraucher sind berechtigt, Anwendungen bereitzustellen, die mit ihrem AWS Konto oder ihrer AWS Organisation geteilt wurden. Weitere Informationen zu AWS Organisationen finden Sie im *[AWS Organizations Benutzerhandbuch](https://docs.aws.amazon.com/organizations/latest/userguide/)*.
+ **Öffentlich geteilt** — Anwendungen, die der Herausgeber für alle freigegeben hat. Alle Verbraucher haben die Berechtigung, alle öffentlich freigegebenen Anwendungen bereitzustellen.

**Anmerkung**  
Für **privat gemeinsam genutzte Anwendungen werden** AWS Serverless Application Repository nur *AWS Konten* als Prinzipale unterstützt. Herausgeber können allen Benutzern innerhalb eines AWS Kontos eine einzige Gruppe für eine AWS Serverless Application Repository Anwendung zuweisen oder sie verweigern. Herausgeber können einer AWS Serverless Application Repository Anwendung nicht einzelne Benutzer innerhalb eines AWS Kontos gewähren oder verweigern.

Anweisungen zum Einstellen von Anwendungsberechtigungen mithilfe von finden Sie unter[Freigeben einer Anwendung](serverlessrepo-how-to-publish.md#share-application). AWS-Managementkonsole

Anweisungen zum Einstellen von Anwendungsberechtigungen anhand der Beispiele AWS CLI und finden Sie in den folgenden Abschnitten.

## Anwendungsberechtigungen (AWS CLI und AWS SDKs)
<a name="application-permissions"></a>

Wenn Sie das AWS CLI oder das verwenden AWS SDKs , um Berechtigungen für eine AWS Serverless Application Repository Anwendung festzulegen, können Sie die folgenden Aktionen angeben:


****  

| Action | Description | 
| --- | --- | 
| GetApplication |  Erteilt die Berechtigung zum Anzeigen von Informationen zur Anwendung.  | 
| CreateCloudFormationChangeSet |  Erteilt die Berechtigung zum Bereitstellen der Anwendung. Hinweis: Diese Aktion gewährt *keine* anderen Berechtigungen außer der Bereitstellung.  | 
| CreateCloudFormationTemplate |  Erteilt die Berechtigung, eine CloudFormation Vorlage für die Anwendung zu erstellen.  | 
| ListApplicationVersions | Erteilt die Berechtigung zum Auflisten der Versionen der Anwendung. | 
| ListApplicationDependencies | Erteilt die Berechtigung zum Auflisten der Listenanwendungen, die in der enthaltenen Anwendung verschachtelt sind. | 
| SearchApplications | Erteilt die Berechtigung zum Suchen nach der Anwendung. | 
| Bereitstellen |  Mit dieser Aktion werden alle zuvor in der Tabelle aufgeführten Aktionen aktiviert. Das heißt, sie erteilt die Berechtigung für die Anzeige der Anwendung, für die Bereitstellung, für die Liste der Versionen und für die Suche.  | 

## Beispiele für Anwendungsrichtlinien
<a name="access-control-resource-based-examples"></a>

In den folgenden Beispielen wird gezeigt, wie Berechtigungen mithilfe der AWS CLI erteilt werden. Informationen zum Erteilen von Berechtigungen mithilfe von finden Sie unter[Freigeben einer Anwendung](serverlessrepo-how-to-publish.md#share-application). AWS-Managementkonsole

In allen Beispielen in diesem Abschnitt werden die folgenden AWS CLI Befehle verwendet, um die mit AWS Serverless Application Repository Anwendungen verknüpften Berechtigungsrichtlinien zu verwalten:
+ [put-application-policy](https://docs.aws.amazon.com/cli/latest/reference/serverlessrepo/put-application-policy.html)
+ [get-application-policy](https://docs.aws.amazon.com/cli/latest/reference/serverlessrepo/get-application-policy.html)

**Topics**
+ [Beispiel 1: Freigeben einer Anwendung für ein anderes Konto](#access-control-resource-based-example-share-with-specific-account)
+ [Beispiel 2: Freigeben einer Anwendung zur öffentlichen gemeinsamen Nutzung](#access-control-resource-based-example-share-publicly)
+ [Beispiel 3: Einschränken einer Anwendung auf private Nutzung](#access-control-resource-based-example-make-private)
+ [Beispiel 4: Angeben mehrerer Konten und Berechtigungen](#access-control-resource-based-example-multiple-permissions)
+ [Beispiel 5: Teilen Sie eine Anwendung mit allen Konten in einer AWS Organisation](#access-control-resource-based-example-share-organization)
+ [Beispiel 6: Teilen einer Anwendung mit einigen Konten in einer Organisation AWS](#access-control-resource-based-example-accounts-in-organization)
+ [Beispiel 7: Abrufen einer Anwendungsrichtlinie](#access-control-resource-based-example-retrieve-app-policy)
+ [Beispiel 8: Zulassen, dass die Anwendung nach bestimmten Konten verschachtelt wird](#access-control-resource-based-example-nest-app-policy)

### Beispiel 1: Freigeben einer Anwendung für ein anderes Konto
<a name="access-control-resource-based-example-share-with-specific-account"></a>

Um eine Anwendung für ein anderes bestimmtes Konto gemeinsam zu nutzen, sie aber nicht mit anderen zu teilen, geben Sie die AWS Konto-ID, mit der Sie sie teilen möchten, als Hauptbenutzer an. Dies wird auch als Festlegen der Anwendung auf *privat freigegeben*bezeichnet. Verwenden Sie dazu den folgenden AWS CLI Befehl.

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

**Anmerkung**  
*Privat gemeinsam genutzte* Anwendungen können nur in derselben AWS Region verwendet werden, in der die Anwendung erstellt wurde.

### Beispiel 2: Freigeben einer Anwendung zur öffentlichen gemeinsamen Nutzung
<a name="access-control-resource-based-example-share-publicly"></a>

Um eine Anwendung öffentlich gemeinsam nutzbar zu machen, müssen Sie sie wie im folgenden Beispiel durch Angabe von "\$1" als Prinzipal für jeden freigeben. Anwendungen, die öffentlich freigegeben werden, sind in allen Regionen verfügbar.

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

**Anmerkung**  
Um eine Anwendung öffentlich freigeben zu können, müssen die Eigenschaften `SemanticVersion` und `LicenseUrl` festgelegt sein.

### Beispiel 3: Einschränken einer Anwendung auf private Nutzung
<a name="access-control-resource-based-example-make-private"></a>

Sie können eine Anwendung als privat kennzeichnen, sodass sie mit niemandem geteilt wird und nur von dem AWS Konto bereitgestellt werden kann, dem sie gehört. Dazu löschen Sie die Prinzipale und Aktionen aus der Richtlinie, wodurch auch Berechtigungen von anderen Konten innerhalb Ihrer AWS Organisation von der Bereitstellung Ihrer Anwendung ausgeschlossen werden.

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

**Anmerkung**  
*Private* Anwendungen können nur in derselben AWS Region verwendet werden, in der die Anwendung erstellt wurde.

### Beispiel 4: Angeben mehrerer Konten und Berechtigungen
<a name="access-control-resource-based-example-multiple-permissions"></a>

Sie können mehrere Berechtigungen gewähren, und Sie können sie mehreren AWS Konten gleichzeitig gewähren. Dazu geben Sie Listen als Prinzipal und Aktionen an, wie im folgenden Beispiel gezeigt.

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

### Beispiel 5: Teilen Sie eine Anwendung mit allen Konten in einer AWS Organisation
<a name="access-control-resource-based-example-share-organization"></a>

Berechtigungen können allen Benutzern innerhalb einer AWS Organisation erteilt werden. Dazu geben Sie Ihre Organisations-ID an, wie im folgenden Beispiel.

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

Weitere Informationen zu AWS Organisationen finden Sie im *[AWS Organizations Benutzerhandbuch](https://docs.aws.amazon.com/organizations/latest/userguide/)*.

**Anmerkung**  
Sie können nur die AWS Organisation angeben, der Ihr AWS Konto angehört. Wenn Sie versuchen, eine AWS Organisation anzugeben, der Sie nicht angehören, wird ein Fehler angezeigt.  
Um Ihre Anwendung mit Ihrer AWS Organisation zu teilen, müssen Sie die Genehmigung für die `UnshareApplication` Aktion angeben, falls die gemeinsame Nutzung in future aufgehoben werden muss.

### Beispiel 6: Teilen einer Anwendung mit einigen Konten in einer Organisation AWS
<a name="access-control-resource-based-example-accounts-in-organization"></a>

Berechtigungen können bestimmten Konten innerhalb einer AWS Organisation erteilt werden. Sie tun dies, indem Sie eine Liste von AWS Konten als Hauptbenutzer und Ihre Organisations-ID angeben, wie im folgenden Beispiel.

```
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
```

**Anmerkung**  
Sie können nur die AWS Organisation angeben, der Ihr AWS Konto angehört. Wenn Sie versuchen, eine AWS Organisation anzugeben, der Sie nicht angehören, wird ein Fehler angezeigt.  
Um Ihre Anwendung mit Ihrer AWS Organisation zu teilen, müssen Sie die Genehmigung für die `UnshareApplication` Aktion angeben, falls die gemeinsame Nutzung in future aufgehoben werden muss.

### Beispiel 7: Abrufen einer Anwendungsrichtlinie
<a name="access-control-resource-based-example-retrieve-app-policy"></a>

Um die aktuelle Richtlinie einer Anwendung anzuzeigen, etwa um nachzusehen, ob sie derzeit freigegeben ist, verwenden Sie den Befehl `get-application-policy`, wie im folgenden Beispiel gezeigt.

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

### Beispiel 8: Zulassen, dass die Anwendung nach bestimmten Konten verschachtelt wird
<a name="access-control-resource-based-example-nest-app-policy"></a>

Öffentliche Anwendungen dürfen von jedem Benutzer verschachtelt werden. Wenn Sie möchten, dass Ihre Anwendung nur von bestimmten Konten verschachtelt werden darf, müssen Sie die folgenden minimalen Berechtigungen festlegen, wie im folgenden Beispiel gezeigt.

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