Beispiele für verifizierte Berechtigungen mit AWS CLI - AWS Command Line Interface

Diese Dokumentation bezieht sich AWS CLI nur auf Version 1 von. Dokumentation zu Version 2 von finden Sie im Benutzerhandbuch für Version 2. AWS CLI

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.

Beispiele für verifizierte Berechtigungen mit AWS CLI

Die folgenden Codebeispiele zeigen Ihnen, wie Sie mithilfe von AWS Command Line Interface with Verified Permissions Aktionen ausführen und gängige Szenarien implementieren.

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

Szenarien sind Codebeispiele, die Ihnen zeigen, wie Sie eine bestimmte Aufgabe ausführen können, indem Sie mehrere Funktionen innerhalb desselben Services aufrufen.

Jedes Beispiel enthält einen Link zu GitHub, wo Sie Anweisungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendungcreate-identity-source.

AWS CLI

Um eine Identitätsquelle zu erstellen

Im folgenden create-identity-source Beispiel wird eine Identitätsquelle erstellt, mit der Sie auf Identitäten verweisen können, die im angegebenen Amazon Cognito Cognito-Benutzerpool gespeichert sind. Diese Identitäten sind in Verified Permissions als Entitäten des Typs verfügbar. User

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 zu Identitätsquellen finden Sie unter Verwenden von Amazon Verified Permissions mit Identitätsanbietern im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendungcreate-policy-store.

AWS CLI

Um einen Richtlinienspeicher zu erstellen

Im folgenden create-policy-store Beispiel 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 Policy Stores finden Sie unter Amazon Verified Permissions Policy Stores im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendungcreate-policy-template.

AWS CLI

Beispiel 1: Um eine Richtlinienvorlage zu erstellen

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

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

Inhalt der Dateitemplate1.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 von Amazon Verified Permissions im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendungcreate-policy.

AWS CLI

Beispiel 1: Um eine statische Richtlinie zu erstellen

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

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

Inhalt der Dateidefinition1.txt:

{ "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: Um eine statische Richtlinie zu erstellen, die allen Benutzern Zugriff auf eine Ressource gewährt

Im folgenden create-policy Beispiel wird eine statische Richtlinie mit einem Richtlinienbereich erstellt, der nur eine Ressource angibt.

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

Inhalt der Dateidefinition2.txt:

{ "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: Um eine mit einer Vorlage verknüpfte Richtlinie zu erstellen, die der angegebenen Vorlage zugeordnet ist

Das folgende create-policy Beispiel erstellt eine mit einer Vorlage verknüpfte Richtlinie unter Verwendung der angegebenen Richtlinienvorlage und ordnet den angegebenen Prinzipal, der verwendet werden soll, der neuen, mit der 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 unter Richtlinien von Amazon Verified Permissions im Amazon Verified Permissions User Guide.

  • Einzelheiten zur API finden Sie CreatePolicyin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-identity-source.

AWS CLI

Um eine Identitätsquelle zu löschen

Im folgenden delete-identity-source Beispiel wird die Identitätsquelle mit der angegebenen ID 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 unter Verwenden von Amazon Verified Permissions mit Identitätsanbietern im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-policy-store.

AWS CLI

Um einen Richtlinienspeicher zu löschen

Im folgenden delete-policy-store Beispiel 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 Policy Stores finden Sie unter Amazon Verified Permissions Policy Stores im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-policy-template.

AWS CLI

Um eine Richtlinienvorlage zu löschen

Im folgenden delete-policy-template Beispiel 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 von Amazon Verified Permissions im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-policy.

AWS CLI

Um eine statische oder mit einer Vorlage verknüpfte Richtlinie zu löschen

Im folgenden delete-policy Beispiel 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 unter Richtlinien von Amazon Verified Permissions im Amazon Verified Permissions User Guide.

  • Einzelheiten zur API finden Sie DeletePolicyunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-identity-source.

AWS CLI

Um Details zu einer Identitätsquelle abzurufen

Im folgenden get-identity-source Beispiel werden die Details für die 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 unter Verwenden von Amazon Verified Permissions mit Identitätsanbietern im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendungget-policy-store.

AWS CLI

Um Details zu einem Richtlinienspeicher abzurufen

Im folgenden get-policy-store Beispiel 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 Policy Stores finden Sie unter Amazon Verified Permissions Policy Stores im Amazon Verified Permissions User Guide.

  • Einzelheiten zur API finden Sie GetPolicyStorein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-policy-template.

AWS CLI

Um Details zu einer Richtlinienvorlage abzurufen

Im folgenden get-policy-template Beispiel werden die Details für die 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 von Amazon Verified Permissions im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendungget-policy.

AWS CLI

Um Details zu einer Richtlinie abzurufen

Im folgenden get-policy Beispiel werden die Details für die 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 unter Richtlinien von Amazon Verified Permissions im Amazon Verified Permissions User Guide.

  • Einzelheiten zur API finden Sie GetPolicyunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-schema.

AWS CLI

Um das Schema in einem Richtlinienspeicher abzurufen

Im folgenden get-schema Beispiel werden die Details des Schemas 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 Policy Store Schema im Amazon Verified Permissions User Guide.

  • Einzelheiten zur API finden Sie GetSchemaunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungis-authorized-with-token.

AWS CLI

Beispiel 1: Um eine Autorisierungsentscheidung für eine Benutzeranfrage anzufordern (zulassen)

Im folgenden is-authorized-with-token Beispiel 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 zurückgibt. CognitoUser

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 Verwenden von Amazon Verified Permissions with Identity Providers im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendungis-authorized.

AWS CLI

Beispiel 1: Um eine Autorisierungsentscheidung für eine Benutzeranfrage anzufordern (zulassen)

Im folgenden is-authorized Beispiel wird eine Autorisierungsentscheidung für einen Principal des Typs User „Named“Alice, der den updatePhoto Vorgang ausführen möchte, für eine Ressource des Typs Photo „Named“ angefordertVacationPhoto94.jpg.

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: Um eine Autorisierungsentscheidung für eine Benutzeranfrage anzufordern (ablehnen)

Das folgende Beispiel entspricht dem vorherigen Beispiel, mit dem Unterschied, dass es der Prinzipal istUser::"Bob". Der Richtlinienspeicher enthält keine Richtlinie, die diesem Benutzer Zugriff auf gewährtAlbum::"alice_folder".

Die Ausgabe gibt an, dass das implizit Deny war, weil die Liste von leer DeterminingPolicies ist.

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

Ausgabe:

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

Weitere Informationen finden Sie im Amazon Verified Permissions User Guide.

  • Einzelheiten zur API finden Sie IsAuthorizedin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-identity-sources.

AWS CLI

Um die verfügbaren Identitätsquellen aufzulisten

Im folgenden list-identity-sources Beispiel werden alle Identitätsquellen im angegebenen Richtlinienspeicher aufgeführt.

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 unter Verwenden von Amazon Verified Permissions mit Identitätsanbietern im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-policies.

AWS CLI

Um die verfügbaren Richtlinien aufzulisten

Im folgenden list-policies Beispiel werden alle Richtlinien im angegebenen Richtlinienspeicher aufgeführt.

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 unter Richtlinien von Amazon Verified Permissions im Amazon Verified Permissions User Guide.

  • Einzelheiten zur API finden Sie ListPoliciesunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-policy-stores.

AWS CLI

Um die verfügbaren Policy Stores aufzulisten

Im folgenden list-policy-stores Beispiel werden alle Richtlinienspeicher in der AWS Region aufgeführt. Alle Befehle für Verifizierte Berechtigungen, list-policy-stores außer create-policy-store dass Sie die ID des Richtlinienspeichers angeben, 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 Policy Stores finden Sie unter Amazon Verified Permissions Policy Stores im Amazon Verified Permissions User Guide.

  • Einzelheiten zur API finden Sie ListPolicyStoresin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-policy-templates.

AWS CLI

Um die verfügbaren Richtlinienvorlagen aufzulisten

Im folgenden list-policy-templates Beispiel werden alle Richtlinienvorlagen im angegebenen Richtlinienspeicher aufgeführt.

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 von Amazon Verified Permissions im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendungput-schema.

AWS CLI

Um ein Schema in einem Richtlinienspeicher zu speichern

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

Der cedarJson Parameter in der Eingabedatei verwendet eine Zeichenfolgendarstellung eines JSON-Objekts. Er enthält eingebettete Anführungszeichen („) innerhalb des äußersten Anführungszeichenpaars. Dazu müssen Sie den JSON-Code in eine Zeichenfolge konvertieren, indem Sie allen eingebetteten Anführungszeichen einen umgekehrten Schrägstrich (") voranstellen und alle Zeilen zu einer einzigen Textzeile ohne Zeilenumbrüche zusammenfassen.

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 --definitionsdatei: //schema.txt -- psExampleABCDEFG111111 policy-store-id

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 Policy Store Schema im Amazon Verified Permissions User Guide.

  • Einzelheiten zur API finden Sie PutSchemaunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-identity-source.

AWS CLI

Um eine Identitätsquelle zu aktualisieren

Im folgenden update-identity-source Beispiel 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 unter Verwenden von Amazon Verified Permissions mit Identitätsanbietern im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendungupdate-policy-store.

AWS CLI

Um einen Richtlinienspeicher zu aktualisieren

Im folgenden update-policy-store Beispiel 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 Policy Stores finden Sie unter Amazon Verified Permissions Policy Stores im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendungupdate-policy-template.

AWS CLI

Beispiel 1: Um eine Richtlinienvorlage zu aktualisieren

Im folgenden update-policy-template Beispiel 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 Datei: 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 von Amazon Verified Permissions im Amazon Verified Permissions User Guide.

Das folgende Codebeispiel zeigt die Verwendungupdate-policy.

AWS CLI

Beispiel 1: Um eine statische Richtlinie zu erstellen

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

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

Der statement Parameter verwendet eine Zeichenfolgendarstellung eines JSON-Objekts. Er enthält eingebettete Anführungszeichen („) innerhalb des äußersten Anführungszeichenpaars. Dazu müssen Sie den JSON-Code in eine Zeichenfolge konvertieren, indem Sie allen eingebetteten Anführungszeichen einen umgekehrten Schrägstrich (") voranstellen und alle Zeilen zu einer einzigen Textzeile ohne Zeilenumbrüche zusammenfassen.

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.

Inhalt der Dateidefinition.txt:

{ "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: Um eine statische Richtlinie zu erstellen, die allen Benutzern Zugriff auf eine Ressource gewährt

Im folgenden create-policy Beispiel wird eine statische Richtlinie mit einem Richtlinienbereich erstellt, der nur eine Ressource angibt.

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

Inhalt der Dateidefinition2.txt:

{ "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: Um eine mit einer Vorlage verknüpfte Richtlinie zu erstellen, die der angegebenen Vorlage zugeordnet ist

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

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

Inhalt von definition3.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 unter Richtlinien von Amazon Verified Permissions im Amazon Verified Permissions User Guide.

  • Einzelheiten zur API finden Sie UpdatePolicyunter AWS CLI Befehlsreferenz.