在 API 操作中使用 Amazon Verified Permissions 政策存放區別名 - Amazon Verified Permissions

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 API 操作中使用 Amazon Verified Permissions 政策存放區別名

任何接受policyStoreId參數的 Amazon Verified Permissions 操作,例如 IsAuthorizedIsAuthorizedWithTokenGetPolicyStore,都可以接受政策存放區別名名稱來取代政策存放區 ID。

重要

當您使用政策存放區別名做為policyStoreId參數的值時,您必須包含 policy-store-alias/字首。例如,使用 policy-store-alias/example-policy-store,而非 example-policy-store

在操作中使用政策存放區別名

下列IsAuthorized命令使用具有 名稱的政策存放區別名example-policy-store來識別政策存放區。

AWS CLI
$ aws verifiedpermissions is-authorized \ --policy-store-id policy-store-alias/example-policy-store \ --principal entityType=User,entityId=alice \ --action actionType=Action,actionId=view \ --resource entityType=Photo,entityId=photo123
注意

您無法使用政策存放區別名取代 DeletePolicyStore 操作的 policyStoreId 欄位。

使用跨政策存放區別名 AWS 區域

其中一個最強大的別名用途是在多個 AWS 區域中執行之應用程式中使用。例如,您可能有一個全域應用程式,在每個區域中使用不同的政策存放區。

  • 在 us-east-1 中,您想要使用 PSEXAMPLEabcdefg111111

  • 在 eu-west-1 中,您想要使用 PSEXAMPLEabcdefg222222

您可以在每個區域中建立不同的應用程式版本,或使用字典或切換陳述式來為每個區域選取正確的政策存放區。但是,在每個區域中建立具有相同政策存放區別名的政策存放區別名會更為容易。請記住,政策存放區別名名稱區分大小寫。

AWS CLI
$ aws --region us-east-1 verifiedpermissions create-policy-store-alias \ --alias-name policy-store-alias/my-app \ --policy-store-id PSEXAMPLEabcdefg111111 $ aws --region eu-west-1 verifiedpermissions create-policy-store-alias \ --alias-name policy-store-alias/my-app \ --policy-store-id PSEXAMPLEabcdefg222222

然後,在您的程式碼中使用政策存放區別名。當您的程式碼在每個區域中執行時,政策存放區別名會參考其在該區域中相關聯的政策存放區。

AWS CLI
$ aws verifiedpermissions is-authorized \ --policy-store-id policy-store-alias/my-app \ --principal entityType=User,entityId=alice \ --action actionType=Action,actionId=view \ --resource entityType=Photo,entityId=photo123

不過,存在刪除政策存放區別名的風險。在這種情況下,應用程式使用政策存放區別名的嘗試將會失敗,您可能需要重新建立或更新政策存放區別名。為了降低此風險,請謹慎授予委託人許可,以管理您在應用程式中使用的政策存放區別名。