建立 Amazon Verified Permissions Amazon Cognito 身分來源 - Amazon Verified Permissions

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

建立 Amazon Verified Permissions Amazon Cognito 身分來源

下列程序會將身分來源新增至現有的政策存放區。

您也可以在 Verified Permissions 主控台中建立新的政策存放區時建立身分來源。在此程序中,您可以將身分來源字符中的宣告自動匯入實體屬性。選擇引導式設定或使用 API Gateway 和身分提供者設定選項。這些選項也會建立初始政策。

注意

在您建立政策存放區之前,左側導覽窗格中無法使用身分來源。您建立的身分來源與目前的政策存放區相關聯。

當您在 中建立具有 create-identity-source 的身分來源, AWS CLI 或在 Verified Permissions API 中建立 CreateIdentitySource 時,可以省略委託人實體類型。不過,空白實體類型會建立實體類型為 的身分來源AWS::Cognito。此實體名稱與政策存放區結構描述不相容。若要將 Amazon Cognito 身分與您的政策存放區結構描述整合,您必須將主體實體類型設定為支援的政策存放區實體。

AWS Management Console
建立 Amazon Cognito 使用者集區身分來源
  1. 開啟 Verified Permissions 主控台。選擇您的政策存放區。

  2. 在左側導覽窗格中,選擇身分來源

  3. 選擇建立身分來源

  4. Cognito 使用者集區詳細資訊中,選取 , AWS 區域 然後輸入身分來源的使用者集區 ID

  5. 委託人組態中,針對委託人類型,從此來源選擇委託人的實體類型。來自已連線 Amazon Cognito 使用者集區的身分將映射至選取的委託人類型。

  6. 群組組態中,如果您想要對應使用者集區cognito:groups宣告,請選取使用 Cognito 群組。選擇做為委託人類型父項的實體類型。

  7. 用戶端應用程式驗證中,選擇是否要驗證用戶端應用程式 IDs。

    • 若要驗證用戶端應用程式 IDs,請選擇僅接受具有相符用戶端應用程式 IDs字符。為每個要驗證的用戶端應用程式 ID 選擇新增用戶端應用程式 ID。若要移除已新增的用戶端應用程式 ID,請選擇用戶端應用程式 ID 旁的移除

    • 如果您不想驗證用戶端應用程式 IDs請選擇不要驗證用戶端應用程式 IDs。

  8. 選擇建立身分來源

  9. (選用) 如果您的政策存放區有結構描述,在您可以參考從 Cedar 政策中的身分或存取權杖擷取的屬性之前,您必須先更新結構描述,讓 Cedar 了解您的身分來源建立的主體類型。除了結構描述之外,還必須包含您要在 Cedar 政策中參考的屬性。如需將 Amazon Cognito 權杖屬性映射至 Cedar 主體屬性的詳細資訊,請參閱 將 Amazon Cognito 權杖映射至結構描述

    注意

    當您建立 API 連結政策存放區,或在建立政策存放區時使用設定 API Gateway 和身分提供者時,Verified Permissions 會查詢您的使用者集區是否有使用者屬性,並建立結構描述,其中您的主體類型會填入使用者集區屬性。

  10. 建立使用字符資訊進行授權決策的政策。如需詳細資訊,請參閱建立 Amazon Verified Permissions 靜態政策

現在您已建立身分來源、更新結構描述和建立政策,請使用 IsAuthorizedWithToken讓 Verified Permissions 進行授權決策。如需詳細資訊,請參閱《Amazon Verified Permissions API 參考指南》中的 IsAuthorizedWithToken

AWS CLI
建立 Amazon Cognito 使用者集區身分來源

您可以使用 CreateIdentitySource 操作來建立身分來源。下列範例會建立身分來源,從 Amazon Cognito 使用者集區存取已驗證的身分。

  1. 建立config.txt檔案,其中包含 Amazon Cognito 使用者集區的下列詳細資訊,以供 create-identity-source命令中的 --configuration 參數使用。

    { "cognitoUserPoolConfiguration": { "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5", "clientIds":["a1b2c3d4e5f6g7h8i9j0kalbmc"], "groupConfiguration": { "groupEntityType": "MyCorp::UserGroup" } } }
  2. 執行下列命令來建立 Amazon Cognito 身分來源。

    $ aws verifiedpermissions create-identity-source \ --configuration file://config.txt \ --principal-entity-type "User" \ --policy-store-id 123456789012 { "createdDate": "2023-05-19T20:30:28.214829+00:00", "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }
  3. (選用) 如果您的政策存放區有結構描述,在您可以參考從 Cedar 政策中的身分或存取權杖擷取的屬性之前,您必須先更新結構描述,讓 Cedar 了解您的身分來源建立的主體類型。除了結構描述之外,還必須包含您要在 Cedar 政策中參考的屬性。如需將 Amazon Cognito 權杖屬性映射至 Cedar 主體屬性的詳細資訊,請參閱 將 Amazon Cognito 權杖映射至結構描述

    注意

    當您建立 API 連結政策存放區,或在建立政策存放區時使用設定 API Gateway 和身分提供者時,Verified Permissions 會查詢您的使用者集區是否有使用者屬性,並建立結構描述,其中您的主體類型會填入使用者集區屬性。

  4. 建立使用字符資訊進行授權決策的政策。如需詳細資訊,請參閱建立 Amazon Verified Permissions 靜態政策

現在您已建立身分來源、更新結構描述和建立政策,請使用 IsAuthorizedWithToken讓 Verified Permissions 進行授權決策。如需詳細資訊,請參閱《Amazon Verified Permissions API 參考指南》中的 IsAuthorizedWithToken

如需在 Verified Permissions 中使用已驗證使用者的 Amazon Cognito 存取和身分字符的詳細資訊,請參閱《Amazon Amazon Cognito Permissions 授權