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

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

建立 Amazon Verified Permissions OIDC 身分來源

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

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

注意

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

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

AWS Management Console
建立 OpenID Connect (OIDC) 身分來源
  1. 開啟 Verified Permissions 主控台。選擇您的政策存放區。

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

  3. 選擇建立身分來源

  4. 選擇外部 OIDC 提供者

  5. 發行者 URL 中,輸入 OIDC 發行者的 URL。這是提供服務端點,可提供授權伺服器、簽署金鑰,以及有關提供者的其他資訊,例如 https://auth.example.com。您的發行者 URL 必須在 託管 OIDC 探索文件/.well-known/openid-configuration

  6. 字符類型中,選擇您希望應用程式提交以進行授權的 OIDC JWT 類型。如需詳細資訊,請參閱將 OIDC 權杖映射至結構描述

  7. 在將字符宣告映射至結構描述實體中,選擇身分來源的使用者實體使用者宣告使用者實體是政策存放區中的實體,您想要從 OIDC 供應商參考使用者。使用者宣告是一種宣告,通常是來自您的 ID 或存取權杖的 sub,其中包含要評估之實體的唯一識別符。來自已連線 OIDC IdP 的身分將映射至選取的委託人類型。

  8. (選用) 在將字符宣告映射至結構描述實體中,選擇身分來源的群組實體群組宣告群組實體使用者實體項。群組宣告會映射到此實體。群組宣告是一種宣告,通常來自您的 ID 或存取權杖groups,其中包含要評估之實體的字串、JSON 或以空格分隔的使用者群組名稱字串。來自已連線 OIDC IdP 的身分將映射至選取的委託人類型。

  9. 驗證 - 選用中,輸入您希望政策存放區在授權請求中接受的用戶端 IDs 或對象 URLs,如果有的話。

  10. 選擇建立身分來源

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

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

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

AWS CLI
建立 OIDC 身分來源

您可以使用 CreateIdentitySource 操作來建立身分來源。下列範例會建立身分來源,從 OIDC 身分提供者 (IdP) 存取已驗證的身分。

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

    { "openIdConnectConfiguration": { "issuer": "https://auth.example.com", "tokenSelection": { "identityTokenOnly": { "clientIds":["1example23456789"], "principalIdClaim": "sub" }, }, "entityIdPrefix": "MyOIDCProvider", "groupConfiguration": { "groupClaim": "groups", "groupEntityType": "MyCorp::UserGroup" } } }
  2. 執行下列命令來建立 OIDC 身分來源。

    $ 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 政策中參考的屬性。如需將 OIDC 字符屬性映射至 Cedar 主體屬性的詳細資訊,請參閱 將 OIDC 權杖映射至結構描述

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

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