

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.

# Steuern Sie den Zugriff auf die Lambda-Funktion URLs
<a name="urls-auth"></a>

**Anmerkung**  
Ab Oktober 2025 sind für neue Funktionen URLs sowohl Genehmigungen als auch `lambda:InvokeFunctionUrl` `lambda:InvokeFunction` Genehmigungen erforderlich.

Sie können den Zugriff auf Ihre Lambda-Funktion URLs mithilfe des [AuthType](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunctionUrlConfig.html#lambda-CreateFunctionUrlConfig-request-AuthType)Parameters in Kombination mit [ressourcenbasierten Richtlinien steuern, die an Ihre spezifische Funktion angehängt sind](access-control-resource-based.md). Die Konfiguration dieser beiden Komponenten bestimmt, wer andere administrative Aktionen für Ihre Funktions-URL aufrufen oder ausführen kann.

Der `AuthType`-Parameter bestimmt, wie Lambda Anfragen an Ihre Funktions-URL authentifiziert oder autorisiert. Wenn Sie Ihre Funktions-URL konfigurieren, müssen Sie eine der folgenden `AuthType`-Optionen angeben:
+ `AWS_IAM`— Lambda verwendet AWS Identity and Access Management (IAM), um Anfragen auf der Grundlage der Identitätsrichtlinie des IAM-Prinzipals und der ressourcenbasierten Richtlinie der Funktion zu authentifizieren und zu autorisieren. Wählen Sie diese Option, wenn Sie möchten, dass nur authentifizierte -Benutzer und -Rollen Ihre Funktion über die Funktions-URL aufrufen können.
+ `NONE` – Lambda führt keine Authentifizierung durch, bevor Sie Ihre Funktion aufrufen. Die ressourcenbasierte Richtlinie Ihrer Funktion ist jedoch immer in Kraft und muss öffentlichen Zugriff gewähren, bevor Ihre Funktions-URL Anfragen erhalten kann. Wählen Sie diese Option, um öffentlichen, nicht authentifizierten Zugriff auf Ihre Funktions-URL zu ermöglichen.

Für zusätzliche Einblicke in die Sicherheit können Sie eine umfassende Analyse des externen AWS Identity and Access Management Access Analyzer Zugriffs auf Ihre Funktions-URL nutzen. IAM Access Analyzer überwacht auch auf neue oder aktualisierte Berechtigungen für Ihre Lambda-Funktionen, um Berechtigungen zu identifizieren, die öffentlichen und kontoübergreifenden Zugriff gewähren. Sie können IAM Access Analyzer kostenlos nutzen. Weitere Informationen zu den ersten Schritten mit IAM Access Analyzer finden Sie unter [Verwenden des AWS IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html).

Diese Seite enthält Beispiele für ressourcenbasierte Richtlinien für beide Authentifizierungstypen und wie diese Richtlinien mithilfe des [AddPermission](https://docs.aws.amazon.com/lambda/latest/api/API_AddPermission.html)API-Vorgangs oder der Lambda-Konsole erstellt werden. Informationen darüber, wie Sie Ihre Funktions-URL aufrufen können, nachdem Sie Berechtigungen eingerichtet haben, finden Sie unter [Aufrufen von Lambda-Funktions-URLs](urls-invocation.md).

**Topics**
+ [Verwenden des Auth-Typs `AWS_IAM`](#urls-auth-iam)
+ [Verwenden des Authentifizierungstyps `NONE`](#urls-auth-none)
+ [Governance und Zugriffskontrolle](#urls-governance)

## Verwenden des Auth-Typs `AWS_IAM`
<a name="urls-auth-iam"></a>

Wenn Sie den Authentifizierungstyp `AWS_IAM` auswählen, müssen Benutzer, die Ihre Lambda-Funktions-URL aufrufen, die Berechtigungen `lambda:InvokeFunctionUrl` und `lambda:InvokeFunction` haben. Je nachdem, wer die Aufrufanforderung stellt, müssen Sie diese Berechtigung möglicherweise mithilfe einer [ressourcenbasierten Richtlinie](access-control-resource-based.md) erteilen.

Wenn sich der Principal, der die Anfrage stellt, in derselben URL befindet AWS-Konto wie die Funktions-URL, muss der Principal **entweder** über `lambda:InvokeFunctionUrl` `lambda:InvokeFunction` Berechtigungen in seiner [identitätsbasierten Richtlinie verfügen **oder** ihm in der ressourcenbasierten Richtlinie](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) der Funktion Berechtigungen erteilt worden sein. Mit anderen Worten, eine ressourcenbasierte Richtlinie ist optional, wenn der Benutzer bereits die Berechtigungen `lambda:InvokeFunctionUrl` und `lambda:InvokeFunction` in seiner identitätsbasierten Richtlinie hat. Die Richtlinienbewertung folgt den Regeln, die in der [Auswertungslogik für Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) beschrieben sind.

Wenn der Prinzipal, der die Anfrage stellt, in einem anderen Konto ist, muss der Prinzipal **sowohl** eine identitätsbasierte Richtlinie haben, die ihm die Berechtigungen `lambda:InvokeFunctionUrl` und `lambda:InvokeFunction` gewährt, **als auch** Berechtigungen, die ihm in einer ressourcenbasierten Richtlinie für die Funktion gewährt werden, die er aufrufen möchte. Die Richtlinienbewertung folgt den im Abschnitt [Festlegen, ob eine kontoübergreifende Anforderung zulässig ist](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html#policy-eval-cross-account) erläuterten Regeln.

Die folgende ressourcenbasierte Richtlinie ermöglicht es der `example` Rolle in, die der Funktion AWS-Konto `444455556666` zugeordnete Funktions-URL aufzurufen. `my-function` Der Schlüssel [lambda: InvokedViaFunctionUrl](https://docs.aws.amazon.com/lambda/latest/api/API_AddPermission.html#lambda-AddPermission-request-InvokedViaFunctionUrl) context beschränkt die `lambda:InvokeFunction` Aktion auf URL-Aufrufe von Funktionen. Das bedeutet, dass der Prinzipal die Funktions-URL verwenden muss, um die Funktion aufzurufen. Wenn Sie `lambda:InvokedViaFunctionUrl` nicht einfügen, kann der Prinzipal Ihre Funktion zusätzlich zur Funktions-URL auch über andere Aufrufmethoden aufrufen.

**Example – Kontoübergreifende ressourcenbasierte Richtlinie**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::444455556666:role/example"
      },
      "Action": "lambda:InvokeFunctionUrl",
      "Resource": "arn:aws:lambda:us-east-1:123456789012:function:my-function",
      "Condition": {
        "StringEquals": {
          "lambda:FunctionUrlAuthType": "AWS_IAM"
        }
      }
    },
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::444455556666:role/example"
      },
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:us-east-1:123456789012:function:my-function",
      "Condition": {
        "Bool": {
          "lambda:InvokedViaFunctionUrl": "true"
        }
      }
    }
  ]
}
```

Sie können diese ressourcenbasierte Richtlinie über die Konsole erstellen, indem Sie die folgenden Schritte ausführen:

**So erteilen Sie einem anderen Konto (Konsole) URL-Aufrufberechtigungen**

1. Öffnen Sie die Seite [Funktionen](https://console.aws.amazon.com/lambda/home#/functions) der Lambda-Konsole.

1. Wählen Sie den Namen der Funktion aus, für die Sie URL-Aufrufberechtigungen gewähren möchten.

1. Wählen Sie die Registerkarte **Konfiguration** und dann **Berechtigungen** aus.

1. Wählen Sie unter **Resource-based policy** (Ressourcenbasierte Richtlinie) die Option **Add permissions** (Berechtigungen hinzufügen) aus.

1. Wählen Sie **Funktions-URL** aus.

1. Wählen Sie für **Auth type die Option. **AWS\$1IAM****

1. Geben Sie eine **Anweisungs-ID** für Ihre Richtlinienanweisung ein.

1. Geben Sie unter **Prinzipal** den Amazon-Ressourcennamen (ARN) des Benutzers oder der Rolle ein, dem bzw. der Sie Berechtigungen gewähren möchten. Beispiel: **444455556666**.

1. Wählen Sie **Speichern**.

Alternativ können Sie diese Richtlinie mit den folgenden [add-permission](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/add-permission.html) AWS Command Line Interface (AWS CLI) -Befehlen erstellen. Wenn Sie die verwenden AWS CLI, müssen Sie die `lambda:InvokeFunction` Anweisungen `lambda:InvokeFunctionUrl` und separat hinzufügen. Beispiel:

```
aws lambda add-permission --function-name my-function \
  --statement-id UrlPolicyInvokeURL \
  --action lambda:InvokeFunctionUrl \
  --principal 444455556666 \
  --function-url-auth-type AWS_IAM
```

```
aws lambda add-permission --function-name my-function \
  --statement-id UrlPolicyInvokeFunction \
  --action lambda:InvokeFunction \
  --principal 444455556666 \
  --invoked-via-function-url
```

## Verwenden des Authentifizierungstyps `NONE`
<a name="urls-auth-none"></a>

**Wichtig**  
Wenn Ihre Funktions-URL-Auth-Typ `NONE` ist und Sie eine [ressourcenbasierte Richtlinie](access-control-resource-based.md) haben, die öffentlichen Zugriff gewährt, kann jeder nicht authentifizierte Benutzer mit Ihrer Funktions-URL Ihre Funktion aufrufen.

In einigen Fällen möchten Sie möglicherweise, dass Ihre Funktions-URL öffentlich ist. So können Sie beispielsweise Anfragen direkt von einem Webbrowser aus bereitstellen. Um den öffentlichen Zugriff auf Ihre Funktions-URL zu ermöglichen, wählen Sie den Auth-Typ `NONE` aus.

Wenn Sie den Auth-Typ `NONE` auswählen, verwendet Lambda IAM nicht, um Anfragen an Ihre Funktions-URL zu authentifizieren. Ihre Funktion muss jedoch über eine ressourcenbasierte Richtlinie verfügen, die `lambda:InvokeFunctionUrl` und `lambda:InvokeFunction` erlaubt. Wenn Sie `NONE` mithilfe der Konsole oder AWS Serverless Application Model (AWS SAM) eine Funktions-URL mit dem Authentifizierungstyp erstellen, erstellt Lambda automatisch die ressourcenbasierte Richtlinie für Sie. Wenn Sie die AWS CLI AWS CloudFormation, oder die Lambda-API direkt verwenden, müssen Sie [die Richtlinie selbst hinzufügen](#policy-cli).

Wir empfehlen, dass Sie den InvokedViaFunctionUrl Kontextschlüssel [lambda:](https://docs.aws.amazon.com/lambda/latest/api/API_AddPermission.html#lambda-AddPermission-request-InvokedViaFunctionUrl) in Ihre ressourcenbasierten Richtlinien aufnehmen, wenn Sie den Authentifizierungstyp verwenden. `NONE` Dieser Kontextschlüssel stellt sicher, dass die Funktion nur über die Funktions-URL und nicht über andere Aufrufmethoden aufgerufen werden kann.

Beachten Sie die folgenden Informationen über diese Richtlinie:
+ Alle Entitäten können `lambda:InvokeFunctionUrl` und `lambda:InvokeFunction` aufrufen. Das bedeutet, dass jeder, der Ihre Funktions-URL hat, Ihre Funktion aufrufen kann.
+ Der Wert des `lambda:FunctionUrlAuthType`-Bedingungsschlüssels ist `NONE`. Das bedeutet, dass diese Richtlinienanweisung den Zugriff nur erlaubt, wenn der Authentifizierungstyp Ihrer Funktions-URL ebenfalls `NONE` ist.
+ Die Bedingung `lambda:InvokedViaFunctionUrl` stellt sicher, dass die Funktion nur über die Funktions-URL und nicht über andere Aufrufmethoden aufgerufen werden kann.

**Example – Ressourcenbasierte Standardrichtlinie für den Authentifizierungstyp NONE**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "FunctionURLAllowPublicAccess",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "lambda:InvokeFunctionUrl",
      "Resource": "arn:aws:lambda:us-east-2:123456789012:function:my-function",
      "Condition": {
        "StringEquals": {
          "lambda:FunctionUrlAuthType": "NONE"
        }
      }
    },
    {
      "Sid": "FunctionURLInvokeAllowPublicAccess",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:us-east-2:123456789012:function:my-function",
      "Condition": {
        "Bool": {
          "lambda:InvokedViaFunctionUrl": "true"
        }
      }
    }
  ]
}
```

**Erstellen Sie die ressourcenbasierte Richtlinie mithilfe des AWS CLI**  
Sofern Sie nicht die Konsole verwenden oder AWS SAM eine Funktions-URL mit Authentifizierungstyp erstellen`NONE`, müssen Sie die ressourcenbasierte Richtlinie selbst hinzufügen. Verwenden Sie die folgenden Befehle zur Erstellung von Anweisungen für die Berechtigungen `lambda:InvokeFunctionUrl` und `lambda:InvokeFunction`. Jede Anweisung muss in einem separaten Befehl hinzugefügt werden.

```
aws lambda add-permission \
  --function-name UrlTestFunction \
  --statement-id UrlPolicyInvokeURL \
  --action lambda:InvokeFunctionUrl \
  --principal * \
  --function-url-auth-type NONE
```

```
aws lambda add-permission \
  --function-name UrlTestFunction \
  --statement-id UrlPolicyInvokeFunction \
  --action lambda:InvokeFunction \
  --principal * \
  --invoked-via-function-url
```

**Anmerkung**  
Wenn Sie Ihre Funktions-URL mit Authentifizierungstyp `NONE` löschen, löscht Lambda nicht automatisch die zugehörige ressourcenbasierte Richtlinie. Wenn Sie diese Richtlinie löschen möchten, müssen Sie dies manuell tun.

Wenn die ressourcenbasierte Richtlinie einer Funktion die Berechtigungen `lambda:invokeFunctionUrl` und `lambda:InvokeFunction` nicht gewährt, dann erhalten Benutzer einen 403-Forbidden-Fehlercode beim Versuch, Ihre Funktions-URL aufzurufen. Das geschieht auch dann, wenn die Funktions-URL den Authentifizierungstyp `NONE` verwendet.

## Governance und Zugriffskontrolle
<a name="urls-governance"></a>

Neben den Zugriffsberechtigungen für den Aufruf von Funktions-URLs können Sie auch den Zugriff auf Aktionen steuern, die zur Konfiguration der Funktion URLs verwendet werden. Lambda unterstützt die folgenden IAM-Richtlinienaktionen für die Funktion: URLs
+ `lambda:InvokeFunctionUrl` – Ruft eine Lambda-Funktion mit der Funktions-URL auf.
+ `lambda:CreateFunctionUrlConfig` – Erstellt eine Funktions-URL und legt ihren `AuthType` fest.
+ `lambda:UpdateFunctionUrlConfig` – Aktualisiert eine Funktions-URL-Konfiguration und ihren `AuthType`.
+ `lambda:GetFunctionUrlConfig` – Zeigt die Details einer Funktions-URL an.
+ `lambda:ListFunctionUrlConfigs` – Listet die Funktions-URL-Konfigurationen auf.
+ `lambda:DeleteFunctionUrlConfig` – Löscht eine Funktions-URL.

Um anderen AWS Entitäten den Zugriff auf Funktions-URLs zu gewähren oder zu verweigern, nehmen Sie diese Aktionen in die IAM-Richtlinien auf. Die folgende Richtlinie gewährt der `example` Rolle in beispielsweise AWS-Konto `444455556666` Berechtigungen zur Aktualisierung der Funktions-URL für die Funktion **my-function** im Konto`123456789012`.

**Example Kontoübergreifende Funktions-URL-Richtlinie**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": { 
                "AWS": "arn:aws:iam::444455556666:role/example"
            },
            "Action": "lambda:UpdateFunctionUrlConfig",
            "Resource": "arn:aws:lambda:us-east-2:123456789012:function:my-function"
        }
    ]
}
```

### Bedingungsschlüssel
<a name="urls-condition-keys"></a>

Für eine detaillierte Zugriffskontrolle auf Ihre Funktion verwenden Sie URLs Bedingungskontexttasten. Lambda unterstützt die folgenden Kontexttasten für Funktionen URLs:
+ `lambda:FunctionUrlAuthType` – Definiert einen Aufzählungswert, der den Authentifizierungstyp beschreibt, den Ihre Funktions-URL verwendet. Der Wert kann entweder `AWS_IAM` oder `NONE` sein.
+ `lambda:InvokedViaFunctionUrl` – Beschränkt die Aktion `lambda:InvokeFunction` auf Aufrufe, die über die Funktions-URL getätigt werden. Das stellt sicher, dass die Funktion nur über die Funktions-URL und nicht über andere Aufrufmethoden aufgerufen werden kann. Beispiele für ressourcenbasierte Richtlinien, die den Kontextschlüssel `lambda:InvokedViaFunctionUrl` verwenden, finden Sie in den Beispielen unter [Verwenden des Auth-Typs `AWS_IAM`](#urls-auth-iam) und [Verwenden des Authentifizierungstyps `NONE`](#urls-auth-none).

Sie können diese Kontextschlüssel in Richtlinien verwenden, die mit Ihrer Funktion verknüpft sind. Beispielsweise möchten Sie möglicherweise einschränken, wer Konfigurationsänderungen an Ihrer Funktion URLs vornehmen kann. Um alle `UpdateFunctionUrlConfig`-Anfragen an jede Funktion mit dem URL-Auth-Typ `NONE` zu verweigern, können Sie die folgende Richtlinie definieren:

**Example Funktions-URL-Richtlinie mit expliziter Zugriffsverweigerung**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action":[
                "lambda:UpdateFunctionUrlConfig"
            ],
            "Resource": "arn:aws:lambda:us-east-1:123456789012:function:*",
            "Condition": {
                "StringEquals": {
                    "lambda:FunctionUrlAuthType": "NONE"
                }
            }
        }
    ]
}
```

Um der `example` Rolle AWS-Konto `444455556666` Berechtigungen zum Erstellen `CreateFunctionUrlConfig` und `UpdateFunctionUrlConfig` Anfordern von Funktionen mit URL-Authentifizierungstyp zu gewähren`AWS_IAM`, können Sie die folgende Richtlinie definieren:

**Example Funktions-URL-Richtlinie mit expliziter Zulassung**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": { 
                "AWS": "arn:aws:iam::444455556666:role/example"
            },
            "Action":[
                "lambda:CreateFunctionUrlConfig",
                "lambda:UpdateFunctionUrlConfig"
            ],
            "Resource": "arn:aws:lambda:us-east-1:123456789012:function:*",
            "Condition": {
                "StringEquals": {
                    "lambda:FunctionUrlAuthType": "AWS_IAM"
                }
            }
        }
    ]
}
```

Sie können diesen Bedingungsschlüssel auch in einer [Service-Kontrollrichtlinie](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) (SCP) verwenden. Wird verwendet SCPs , um Berechtigungen für eine gesamte Organisation in AWS Organizations zu verwalten. Verwenden Sie beispielsweise die folgende Dienststeuerungsrichtlinie, um Benutzern URLs das Erstellen oder Aktualisieren von Funktionen zu verbieten, die `AWS_IAM` etwas anderes als den Authentifizierungstyp verwenden:

**Example Funktions-URL-SCP mit expliziter Zugriffsverweigerung**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action":[
                "lambda:CreateFunctionUrlConfig",
                "lambda:UpdateFunctionUrlConfig"
            ],
            "Resource": "arn:aws:lambda:*:123456789012:function:*",
            "Condition": {
                "StringNotEquals": {
                    "lambda:FunctionUrlAuthType": "AWS_IAM"
                }
            }
        }
    ]
}
```