Berechtigungen zur Erstellung von Amazon Cognito-Benutzerpool-Genehmigern für eine REST-API abrufen - Amazon API Gateway

Berechtigungen zur Erstellung von Amazon Cognito-Benutzerpool-Genehmigern für eine REST-API abrufen

Um einen Genehmiger mit einem Amazon Cognito-Benutzerpool zu erstellen, müssen Sie über Allow-Berechtigungen zur Erstellung eines Genehmigers oder zur Aktualisierung eines Genehmigers mit dem ausgewählten Amazon Cognito-Benutzerpool verfügen. Das folgende IAM-Richtliniendokument zeigt ein Beispiel solcher Berechtigungen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "apigateway:POST" ], "Resource": "arn:aws:apigateway:*::/restapis/*/authorizers", "Condition": { "ArnLike": { "apigateway:CognitoUserPoolProviderArn": [ "arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_aD06NQmjO", "arn:aws:cognito-idp:us-east-1:234567890123:userpool/us-east-1_xJ1MQtPEN" ] } } }, { "Effect": "Allow", "Action": [ "apigateway:PATCH" ], "Resource": "arn:aws:apigateway:*::/restapis/*/authorizers/*", "Condition": { "ArnLike": { "apigateway:CognitoUserPoolProviderArn": [ "arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_aD06NQmjO", "arn:aws:cognito-idp:us-east-1:234567890123:userpool/us-east-1_xJ1MQtPEN" ] } } } ] }

Stellen Sie sicher, dass die Richtlinie einer IAM-Gruppe angefügt ist, der Sie angehören, oder einer IAM-Rolle, der Sie zugewiesen sind.

Im vorangegangenen Richtliniendokument wird die apigateway:POST-Aktion für das Erstellen eines neuen Genehmigers und die apigateway:PATCH-Aktion für das Aktualisieren eines vorhandenen Genehmigers verwendet. Sie können die Richtlinie auf eine bestimmte Region oder eine bestimmte API beschränken, indem Sie die ersten zwei Platzhalterzeichen (*) der Resource-Werte entsprechend überschreiben.

Die hier verwendeten Condition-Klauseln sollen die Allowed-Berechtigungen für die angegebenen Benutzerpools einschränken. Wenn eine Condition-Klausel vorhanden ist, wird der Zugriff auf alle Benutzerpools, die den Bedingungen nicht entsprechen, verweigert. Wenn eine Berechtigung über keine Condition-Klausel verfügt, wird der Zugriff auf alle Benutzerpools erlaubt.

Sie verfügen über folgende Optionen, um die Condition-Klausel festzulegen:

  • Sie können den bedingten Ausdruck ArnLike oder ArnEquals festlegen, um die Erstellung oder Aktualisierung von COGNITO_USER_POOLS-Genehmigern nur mit den angegebenen Benutzerpools zu gestatten.

  • Sie können den bedingten Ausdruck ArnNotLike oder ArnNotEquals festlegen, um die Erstellung oder Aktualisierung von COGNITO_USER_POOLS-Genehmigern mit allen nicht im Ausdruck angegebenen Benutzerpools zu gestatten.

  • Sie können die Condition-Klausel weglassen, um das Erstellen oder Aktualisieren von COGNITO_USER_POOLS-Genehmigern mit allen Benutzerpools, von allen AWS-Konten und in jeder Region zu gestatten.

Weitere Informationen zu bedingten Amazon-Ressourcenname (ARN)-Ausdrücken finden Sie unter Bedingungsoperatoren für Amazon-Ressourcennamen (ARN). Wie im Beispiel gezeigt, ist apigateway:CognitoUserPoolProviderArn eine Liste von ARNs der COGNITO_USER_POOLS-Benutzerpools, die mit einem API Gateway-Genehmiger vom Typ COGNITO_USER_POOLS verwendet werden können.