Beispiele für Verified Permissions mit AWS CLI - AWS Command Line Interface

Beispiele für Verified Permissions mit AWS CLI

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit Verified Permissions nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie create-identity-source verwendet wird.

AWS CLI

So erstellen Sie eine Identitätsquelle

Das folgende Beispiel für create-identity-source erstellt eine Identitätsquelle, mit der Sie Identitäten referenzieren können, die im angegebenen Amazon Cognito-Benutzerpool gespeichert sind. Diese Identitäten sind unter Verified Permissions als Entitäten vom Typ User verfügbar.

aws verifiedpermissions create-identity-source \ --configuration file://config.txt \ --principal-entity-type "User" \ --policy-store-id PSEXAMPLEabcdefg111111

Inhalt von config.txt:

{ "cognitoUserPoolConfiguration": { "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5", "clientIds":["a1b2c3d4e5f6g7h8i9j0kalbmc"] } }

Ausgabe:

{ "createdDate": "2023-05-19T20:30:28.214829+00:00", "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }

Weitere Informationen finden Sie unter So verwenden Sie Amazon Verified Permissions mit Identitätsanbietern im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie create-policy-store verwendet wird.

AWS CLI

So erstellen Sie einen Richtlinienspeicher

Im folgenden Beispiel für create-policy-store wird ein Richtlinienspeicher in der aktuellen AWS-Region erstellt.

aws verifiedpermissions create-policy-store \ --validation-settings "mode=STRICT"

Ausgabe:

{ "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-05-16T17:41:29.103459+00:00", "lastUpdatedDate": "2023-05-16T17:41:29.103459+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }

Weitere Informationen zu Richtlinienspeichern finden Sie unter Richtlinienspeicher für Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie create-policy-template verwendet wird.

AWS CLI

So erstellen Sie eine Richtlinienvorlage

Im folgenden Beispiel für create-policy-template wird eine Richtlinienvorlage mit einer Anweisung erstellt, die einen Platzhalter für den Prinzipal enthält.

aws verifiedpermissions create-policy-template \ --statement file://template1.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Inhalt von template1.txt:

permit( principal in ?principal, action == Action::"view", resource == Photo::"VacationPhoto94.jpg" );

Ausgabe:

{ "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" }

Weitere Informationen zu Richtlinienvorlagen finden Sie unter Richtlinienvorlagen für Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie create-policy verwendet wird.

AWS CLI

Beispiel 1: So erstellen Sie eine statische Richtlinie

Im folgenden Beispiel für create-policy wird eine statische Richtlinie mit einem Richtlinienumfang erstellt, der sowohl einen Prinzipal als auch eine Ressource angibt.

aws verifiedpermissions create-policy \ --definition file://definition1.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Inhalt der definition1.txt-Datei:

{ "static": { "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album", "statement": "permit(principal in UserGroup::\"janeFriends\", action, resource in Album::\"vacationFolder\" );" } }

Ausgabe:

{ "createdDate": "2023-06-12T20:33:37.382907+00:00", "lastUpdatedDate": "2023-06-12T20:33:37.382907+00:00", "policyId": "SPEXAMPLEabcdefg111111", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "STATIC", "principal": { "entityId": "janeFriends", "entityType": "UserGroup" }, "resource": { "entityId": "vacationFolder", "entityType": "Album" } }

Beispiel 2: So erstellen Sie eine statische Richtlinie, die allen Benutzern Zugriff auf eine Ressource gewährt

Im folgenden Beispiel für create-policy wird eine statische Richtlinie mit einem Richtlinienumfang erstellt, der lediglich eine Ressource angibt.

aws verifiedpermissions create-policy \ --definition file://definition2.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Inhalt der definition2.txt-Datei:

{ "static": { "description": "Grant everyone access to the publicFolder Album", "statement": "permit(principal, action, resource in Album::\"publicFolder\");" } }

Ausgabe:

{ "createdDate": "2023-06-12T20:39:44.975897+00:00", "lastUpdatedDate": "2023-06-12T20:39:44.975897+00:00", "policyId": "PbfR73F8oh5MMfr9uRtFDB", "policyStoreId": "PSEXAMPLEabcdefg222222", "policyType": "STATIC", "resource": { "entityId": "publicFolder", "entityType": "Album" } }

Beispiel 3: So erstellen Sie eine mit einer Vorlage verknüpfte Richtlinie, die der angegebenen Vorlage zugeordnet ist

Das folgende Beispiel für create-policy erstellt eine mit einer Vorlage verknüpfte Richtlinie unter Verwendung der angegebenen Richtlinienvorlage und ordnet den zu verwendenden Prinzipal der neuen Vorlage-verknüpften Richtlinie zu.

aws verifiedpermissions create-policy \ --definition file://definition.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Inhalt von definition.txt:

{ "templateLinked": { "policyTemplateId": "PTEXAMPLEabcdefg111111", "principal": { "entityType": "User", "entityId": "alice" } } }

Ausgabe:

{ "createdDate": "2023-06-12T20:49:51.490211+00:00", "lastUpdatedDate": "2023-06-12T20:49:51.490211+00:00", "policyId": "TPEXAMPLEabcdefg111111", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "TEMPLATE_LINKED", "principal": { "entityId": "alice", "entityType": "User" }, "resource": { "entityId": "VacationPhoto94.jpg", "entityType": "Photo" } }

Weitere Informationen zu Richtlinien finden Sie in den Richtlinien von Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

  • API-Details finden Sie unter CreatePolicy in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie delete-identity-source verwendet wird.

AWS CLI

So löschen Sie eine Identitätsquelle

Im folgenden Beispiel für delete-identity-source wird die angegebene Identitätsquelle gelöscht.

aws verifiedpermissions delete-identity-source \ --identity-source-id ISEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen zu Identitätsquellen finden Sie in den So verwenden Sie Amazon Verified Permissions mit Identitätsanbietern im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie delete-policy-store verwendet wird.

AWS CLI

So löschen Sie einen Richtlinienspeicher

Im folgenden Beispiel für delete-policy-store wird der Richtlinienspeicher mit der angegebenen ID gelöscht.

aws verifiedpermissions delete-policy-store \ --policy-store-id PSEXAMPLEabcdefg111111

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen zu Richtlinienspeichern finden Sie unter Richtlinienspeicher für Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie delete-policy-template verwendet wird.

AWS CLI

So löschen Sie eine Richtlinienvorlage

Im folgenden Beispiel für delete-policy-template wird die Richtlinienvorlage mit der angegebenen ID gelöscht.

aws verifiedpermissions delete-policy \ --policy-template-id PTEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen zu Richtlinienvorlagen finden Sie unter Richtlinienvorlagen für Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie delete-policy verwendet wird.

AWS CLI

So löschen Sie eine statische oder mit einer Vorlage verknüpfte Richtlinie

Im folgenden Beispiel für delete-policy wird die Richtlinie mit der angegebenen ID gelöscht.

aws verifiedpermissions delete-policy \ --policy-id SPEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen zu Richtlinien finden Sie in den Richtlinien von Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

  • API-Details finden Sie unter DeletePolicy in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-identity-source verwendet wird.

AWS CLI

So rufen Sie Details zu einer Identitätsquelle ab

Im folgenden Beispiel für get-identity-source werden die Einzelheiten der Identitätsquelle mit der angegebenen ID angezeigt.

aws verifiedpermissions get-identity-source \ --identity-source ISEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Ausgabe:

{ "createdDate": "2023-06-12T22:27:49.150035+00:00", "details": { "clientIds": [ "a1b2c3d4e5f6g7h8i9j0kalbmc" ], "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_1a2b3c4d5", "openIdIssuer": "COGNITO", "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5" }, "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-06-12T22:27:49.150035+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "principalEntityType": "User" }

Weitere Informationen zu Identitätsquellen finden Sie in den So verwenden Sie Amazon Verified Permissions mit Identitätsanbietern im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie get-policy-store verwendet wird.

AWS CLI

So rufen Sie Details zu einem Richtlinienspeicher ab

Im folgenden Beispiel für get-policy-store werden die Details für den Richtlinienspeicher mit der angegebenen ID angezeigt.

aws verifiedpermissions get-policy-store \ --policy-store-id PSEXAMPLEabcdefg111111

Ausgabe:

{ "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-06-05T20:16:46.225598+00:00", "lastUpdatedDate": "2023-06-08T20:40:23.173691+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "validationSettings": { "mode": "OFF" } }

Weitere Informationen zu Richtlinienspeichern finden Sie unter Richtlinienspeicher für Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

  • API-Details finden Sie unter GetPolicyStore in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-policy-template verwendet wird.

AWS CLI

So rufen Sie Details zu einer Richtlinienvorlage ab

Im folgenden Beispiel für get-policy-template werden die Details der Richtlinienvorlage mit der angegebenen ID angezeigt.

aws verifiedpermissions get-policy-template \ --policy-template-id PTEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Ausgabe:

{ "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111", "statement": "permit(\n principal in ?principal,\n action == Action::\"view\",\n resource == Photo::\"VacationPhoto94.jpg\"\n);" }

Weitere Informationen zu Richtlinienvorlagen finden Sie unter Richtlinienvorlagen für Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie get-policy verwendet wird.

AWS CLI

So rufen Sie Details zu eine Richtlinie ab

Im folgenden Beispiel für get-policy werden die Details der Richtlinie mit der angegebenen ID angezeigt.

aws verifiedpermissions get-policy \ --policy-id PSEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Ausgabe:

{ "createdDate": "2023-06-12T20:33:37.382907+00:00", "definition": { "static": { "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album", "statement": "permit(principal in UserGroup::\"janeFriends\", action, resource in Album::\"vacationFolder\" );" } }, "lastUpdatedDate": "2023-06-12T20:33:37.382907+00:00", "policyId": "SPEXAMPLEabcdefg111111", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "STATIC", "principal": { "entityId": "janeFriends", "entityType": "UserGroup" }, "resource": { "entityId": "vacationFolder", "entityType": "Album" } }

Weitere Informationen zu Richtlinien finden Sie in den Richtlinien von Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

  • API-Details finden Sie unter GetPolicy in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-schema verwendet wird.

AWS CLI

So rufen Sie das Schema in einem Richtlinienspeicher ab

Im folgenden Beispiel für get-schema werden die Details für das Schema im angegebenen Richtlinienspeicher angezeigt.

aws verifiedpermissions get-schema \ --policy-store-id PSEXAMPLEabcdefg111111

Ausgabe:

{ "policyStoreId": "PSEXAMPLEabcdefg111111", "schema": "{\"MySampleNamespace\":{\"entityTypes\":{\"Employee\":{\"shape\":{\"attributes\":{\"jobLevel\":{\"type\":\"Long\"},\"name\":{\"type\":\"String\"}},\"type\":\"Record\"}}},\"actions\":{\"remoteAccess\":{\"appliesTo\":{\"principalTypes\":[\"Employee\"]}}}}}", "createdDate": "2023-06-14T17:47:13.999885+00:00", "lastUpdatedDate": "2023-06-14T17:47:13.999885+00:00" }

Weitere Informationen zum Schema finden Sie unter Schema des Richtlinienspeichers im Amazon Verified Permissions-Benutzerhandbuch.

  • API-Details finden Sie unter GetSchema in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie is-authorized-with-token verwendet wird.

AWS CLI

Beispiel 1: So fordern Sie eine Autorisierungsentscheidung für eine Benutzeranfrage an (zulassen)

Im folgenden Beispiel für is-authorized-with-token wird eine Autorisierungsentscheidung für einen Benutzer angefordert, der von Amazon Cognito authentifiziert wurde. Die Anfrage verwendet das von Cognito bereitgestellte Identitätstoken und nicht das Zugriffstoken. In diesem Beispiel ist der angegebene Informationsspeicher so konfiguriert, dass er Prinzipale als Entitäten des Typs CognitoUser zurückgibt.

aws verifiedpermissions is-authorized-with-token \ --action actionId="View",actionType="Action" \ --resource entityId="vacationPhoto94.jpg",entityType="Photo" \ --policy-store-id PSEXAMPLEabcdefg111111 \ --identity-token "AbCdE12345...long.string...54321EdCbA"

Der Richtlinienspeicher enthält eine Richtlinie mit der folgenden Anweisung, die Identitäten aus dem angegebenen Cognito-Benutzerpool und der angegebenen Anwendungs-ID akzeptiert.

permit( principal == CognitoUser::"us-east-1_1a2b3c4d5|a1b2c3d4e5f6g7h8i9j0kalbmc", action, resource == Photo::"VacationPhoto94.jpg" );

Ausgabe:

{ "decision":"Allow", "determiningPolicies":[ { "determiningPolicyId":"SPEXAMPLEabcdefg111111" } ], "errors":[] }

Weitere Informationen zur Verwendung von Identitäten aus einem Cognito-Benutzerpool finden Sie unter So verwenden Sie Amazon Verified Permissions mit Identitätsanbietern im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie is-authorized verwendet wird.

AWS CLI

Beispiel 1: So fordern Sie eine Autorisierungsentscheidung für eine Benutzeranfrage an (zulassen)

Im folgenden Beispiel für is-authorized wird eine Autorisierungsentscheidung für einen Prinzipal des Typs User mit dem Namen Alice angefordert, der die Operation updatePhoto für eine Ressource des Typs Photo mit dem Namen VacationPhoto94.jpg ausführen möchte.

Die Antwort zeigt, dass die Anforderung durch eine Richtlinie zugelassen ist.

aws verifiedpermissions is-authorized \ --principal entityType=User,entityId=alice \ --action actionType=Action,actionId=view \ --resource entityType=Photo,entityId=VactionPhoto94.jpg \ --policy-store-id PSEXAMPLEabcdefg111111

Ausgabe:

{ "decision": "ALLOW", "determiningPolicies": [ { "policyId": "SPEXAMPLEabcdefg111111" } ], "errors": [] }

Beispiel 2: So fordern Sie eine Autorisierungsentscheidung für eine Benutzeranfrage an (verweigern)

Das folgende Beispiel ist dasselbe wie oben, nur dass hier der Prinzipal User::"Bob" ist. Der Richtlinienspeicher enthält keine Richtlinie, die diesem Benutzer Zugriff auf Album::"alice_folder" gewährt.

Die Ausgabe weist darauf hin, dass das Deny implizit war, weil die Liste der DeterminingPolicies leer ist.

aws verifiedpermissions create-policy \ --definition file://definition2.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Ausgabe:

{ "decision": "DENY", "determiningPolicies": [], "errors": [] }

Weitere Informationen finden Sie im Benutzerhandbuch zu Amazon Verified Permissions.

  • API-Details finden Sie unter IsAuthorized in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-identity-sources verwendet wird.

AWS CLI

So listen Sie die verfügbaren Identitätsquellen auf

Im folgenden Beispiel für list-identity-sources werden alle Identitätsquellen im angegebenen Richtlinienspeicher aufgelistet.

aws verifiedpermissions list-identity-sources \ --policy-store-id PSEXAMPLEabcdefg111111

Ausgabe:

{ "identitySources": [ { "createdDate": "2023-06-12T22:27:49.150035+00:00", "details": { "clientIds": [ "a1b2c3d4e5f6g7h8i9j0kalbmc" ], "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_1a2b3c4d5", "openIdIssuer": "COGNITO", "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5" }, "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-06-12T22:27:49.150035+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "principalEntityType": "User" } ] }

Weitere Informationen zu Identitätsquellen finden Sie in den Verwenden von Amazon Verified Permissions mit Identitätsanbietern im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie list-policies verwendet wird.

AWS CLI

So listen Sie die verfügbaren Richtlinien auf

Im folgenden Beispiel für list-policies werden alle Richtlinien im angegebenen Richtlinienspeicher aufgelistet.

aws verifiedpermissions list-policies \ --policy-store-id PSEXAMPLEabcdefg111111

Ausgabe:

{ "policies": [ { "createdDate": "2023-06-12T20:33:37.382907+00:00", "definition": { "static": { "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album" } }, "lastUpdatedDate": "2023-06-12T20:33:37.382907+00:00", "policyId": "SPEXAMPLEabcdefg111111", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "STATIC", "principal": { "entityId": "janeFriends", "entityType": "UserGroup" }, "resource": { "entityId": "vacationFolder", "entityType": "Album" } }, { "createdDate": "2023-06-12T20:39:44.975897+00:00", "definition": { "static": { "description": "Grant everyone access to the publicFolder Album" } }, "lastUpdatedDate": "2023-06-12T20:39:44.975897+00:00", "policyId": "SPEXAMPLEabcdefg222222", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "STATIC", "resource": { "entityId": "publicFolder", "entityType": "Album" } }, { "createdDate": "2023-06-12T20:49:51.490211+00:00", "definition": { "templateLinked": { "policyTemplateId": "PTEXAMPLEabcdefg111111" } }, "lastUpdatedDate": "2023-06-12T20:49:51.490211+00:00", "policyId": "SPEXAMPLEabcdefg333333", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "TEMPLATE_LINKED", "principal": { "entityId": "alice", "entityType": "User" }, "resource": { "entityId": "VacationPhoto94.jpg", "entityType": "Photo" } } ] }

Weitere Informationen zu Richtlinien finden Sie in den Richtlinien von Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

  • API-Details finden Sie unter ListPolicies in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-policy-stores verwendet wird.

AWS CLI

So listen Sie die verfügbaren Richtlinienspeicher auf

Im folgenden Beispiel für list-policy-stores werden alle Richtlinienspeicher in der AWS-Region aufgelistet. Alle Befehle für Verified Permissions mit Ausnahme von create-policy-store und list-policy-stores erfordern eine Angabe der ID des Richtlinienspeichers, mit dem Sie arbeiten möchten.

aws verifiedpermissions list-policy-stores

Ausgabe:

{ "policyStores": [ { "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-06-05T20:16:46.225598+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }, { "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg222222", "createdDate": "2023-06-08T18:09:37.364356+00:00", "policyStoreId": "PSEXAMPLEabcdefg222222" }, { "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg333333", "createdDate": "2023-06-08T18:09:46.920600+00:00", "policyStoreId": "PSEXAMPLEabcdefg333333" } ] }

Weitere Informationen zu Richtlinienspeichern finden Sie unter Richtlinienspeicher für Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie list-policy-templates verwendet wird.

AWS CLI

So listen Sie die verfügbaren Richtlinienvorlagen auf

Im folgenden Beispiel für list-policy-templates werden alle Richtlinienvorlagen im angegebenen Richtlinienspeicher aufgelistet.

aws verifiedpermissions list-policy-templates \ --policy-store-id PSEXAMPLEabcdefg111111

Ausgabe:

{ "policyTemplates": [ { "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" } ] }

Weitere Informationen zu Richtlinienvorlagen finden Sie unter Richtlinienvorlagen für Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie put-schema verwendet wird.

AWS CLI

So speichern Sie ein Schema in einem Richtlinienspeicher

Im folgenden Beispiel für put-schema wird das Schema im angegebenen Richtlinienspeicher erstellt oder ersetzt.

Der Parameter cedarJson in der Eingabedatei verwendet eine Zeichenfolgendarstellung eines JSON-Objekts. Er enthält eingebettete Anführungszeichen (") im äußersten Anführungszeichenpaar. Dazu müssen Sie das JSON in eine Zeichenfolge umwandeln, indem Sie alle eingebetteten Anführungszeichen mit einem umgekehrten Schrägstrich (\) versehen und alle Zeilen zu einer einzigen Textzeile ohne Zeilenumbrüche zusammenfügen.

Beispielzeichenfolgen können hier aus Gründen der Lesbarkeit über mehrere Zeilen verteilt angezeigt werden, aber für den Vorgang müssen die Parameter als einzeilige Zeichenfolgen übermittelt werden.

aws verifiedpermissions put-schema --definition file://schema.txt --policy-store-id PSEXAMPLEabcdefg111111

Inhalt von schema.txt:

{ "cedarJson": "{\"MySampleNamespace\": {\"actions\": {\"remoteAccess\": { \"appliesTo\": {\"principalTypes\": [\"Employee\"]}}},\"entityTypes\": { \"Employee\": {\"shape\": {\"attributes\": {\"jobLevel\": {\"type\": \"Long\"},\"name\": {\"type\": \"String\"}},\"type\": \"Record\"}}}}}" }

Ausgabe:

{ "policyStoreId": "PSEXAMPLEabcdefg111111", "namespaces": [ "MySampleNamespace" ], "createdDate": "2023-06-14T17:47:13.999885+00:00", "lastUpdatedDate": "2023-06-14T17:47:13.999885+00:00" }

Weitere Informationen zum Schema finden Sie unter Schema des Richtlinienspeichers im Amazon Verified Permissions-Benutzerhandbuch.

  • API-Details finden Sie unter PutSchema in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-identity-source verwendet wird.

AWS CLI

So aktualisieren Sie eine Identitätsquelle

Im folgenden Beispiel für update-identity-source wird die angegebene Identitätsquelle geändert, indem eine neue Cognito-Benutzerpoolkonfiguration bereitgestellt und der von der Identitätsquelle zurückgegebene Entitätstyp geändert wird.

aws verifiedpermissions update-identity-source --identity-source-id ISEXAMPLEabcdefg111111 \ --update-configuration file://config.txt \ --principal-entity-type "Employee" \ --policy-store-id PSEXAMPLEabcdefg111111

Inhalt von config.txt:

{ "cognitoUserPoolConfiguration": { "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5", "clientIds":["a1b2c3d4e5f6g7h8i9j0kalbmc"] } }

Ausgabe:

{ "createdDate": "2023-05-19T20:30:28.214829+00:00", "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }

Weitere Informationen zu Identitätsquellen finden Sie in den Verwenden von Amazon Verified Permissions mit Identitätsanbietern im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie update-policy-store verwendet wird.

AWS CLI

So aktualisieren Sie einen Richtlinienspeicher

Im folgenden Beispiel für update-policy-store wird ein Richtlinienspeicher geändert, indem seine Validierungseinstellung geändert wird.

aws verifiedpermissions update-policy-store \ --validation-settings "mode=STRICT" \ --policy-store-id PSEXAMPLEabcdefg111111

Ausgabe:

{ "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-05-16T17:41:29.103459+00:00", "lastUpdatedDate": "2023-05-16T17:41:29.103459+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }

Weitere Informationen zu Richtlinienspeichern finden Sie unter Richtlinienspeicher für Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie update-policy-template verwendet wird.

AWS CLI

Beispiel 1: So aktualisieren Sie eine Richtlinienvorlage

Im folgenden Beispiel für update-policy-template wird die angegebene, mit der Vorlage verknüpfte Richtlinie so geändert, dass sie ihre Richtlinienaussage ersetzt.

aws verifiedpermissions update-policy-template \ --policy-template-id PTEXAMPLEabcdefg111111 \ --statement file://template1.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Inhalt der template1.txt-Datei:

permit( principal in ?principal, action == Action::"view", resource == Photo::"VacationPhoto94.jpg" );

Ausgabe:

{ "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" }

Weitere Informationen zu Richtlinienvorlagen finden Sie unter Richtlinienvorlagen für Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

Das folgende Codebeispiel zeigt, wie update-policy verwendet wird.

AWS CLI

So aktualisieren Sie eine statische Richtlinie

Im folgenden Beispiel für update-policy wird eine vorhandene statische Richtlinie geändert, indem ihre Beschreibung und Anweisung aktualisiert werden.

aws verifiedpermissions update-policy \ --policy-id SPEXAMPLEabcdefg111111 \ --definition file://updated-definition.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Der Parameter statement verwendet eine Zeichenfolgendarstellung eines JSON-Objekts. Er enthält eingebettete Anführungszeichen (") im äußersten Anführungszeichenpaar. Dazu müssen Sie das JSON in eine Zeichenfolge umwandeln, indem Sie alle eingebetteten Anführungszeichen mit einem umgekehrten Schrägstrich (\) versehen und alle Zeilen zu einer einzigen Textzeile ohne Zeilenumbrüche zusammenfügen.

Aus Gründen der besseren Lesbarkeit können Sie Beispielzeichenfolgen anzeigen, die über mehrere Zeilen verteilt sind. Für den Vorgang müssen die Parameter jedoch als einzeilige Zeichenfolgen übermittelt werden.

Inhalt der updated-definition.txt-Datei:

{ "static": { "description": "Updated policy to grant janeFriends UserGroup access to the vacationFolder Album with view action only", "statement": "permit(principal in UserGroup::\"janeFriends\", action == Action::\"view\", resource in Album::\"vacationFolder\" );" } }

Ausgabe:

{ "createdDate": "2023-06-12T20:33:37.382907+00:00", "lastUpdatedDate": "2023-06-12T20:33:37.382907+00:00", "policyId": "SPEXAMPLEabcdefg111111", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "STATIC", "principal": { "entityId": "janeFriends", "entityType": "UserGroup" }, "resource": { "entityId": "vacationFolder", "entityType": "Album" } }

Weitere Informationen zu Richtlinien finden Sie in den Richtlinien von Amazon Verified Permissions im Benutzerhandbuch zu Amazon Verified Permissions.

  • API-Details finden Sie unter UpdatePolicy in der AWS CLI-Befehlsreferenz.