關於 Web 聯合身分 - AWS Identity and Access Management

關於 Web 聯合身分

想像您要建立一個存取 AWS 資源的行動應用程式,例如在行動裝置上執行的遊戲,並使用 Amazon S3 和 DynamoDB 存放玩家和分數資訊。

當您撰寫這類應用程式時,將對 AWS 服務發出請求,其必須使用 AWS 存取金鑰簽署。不過,強烈建議您要內嵌或分發使用者下載到裝置甚至是加密存放區之應用程式的長期 AWS 憑證。反之,建置您的應用程式,使其在需要時使用 AWSWeb 聯合身分動態請求暫時性 安全憑證。所提供的暫時性憑證,對應至僅具有行動應用程式執行所需任務時需要的許可的 AWS 角色。

有了 Web 聯合身分,您就不需要建立自訂登入代碼,或管理您自己的使用者身分。相反地,應用程式使用者可以使用知名的外部身分提供者 (IdP) 進行登入,例如,Login with Amazon、Facebook、Google,或是任何其他的 OpenID Connect (OIDC) 相容 IdP 等外部身分提供者 (IdP)。他們可以收到身分驗證權杖,然後交換取得用於 AWS 的臨時安全憑證,並藉其對應到可使用您的 AWS 帳戶下資源之許可的 IAM 角色。使用 IdP 可協助您確保您的 AWS 帳戶的安全,因為您不必在您的應用程式內嵌及發佈長期安全憑證。

在大多數情況下,建議您使用 Amazon Cognito,因為它可以充當身分經紀人,並為您執行許多聯合工作。如需詳細資訊,請參閱下列章節:針對行動應用程式使用 Amazon Cognito

如果不是使用 Amazon Cognito,,則您必須撰寫與 Web IdP (例如 Facebook) 進行互動的程式碼,然後呼叫 AssumeRoleWithWebIdentity API,以從這些 IdP 取得作為 AWS 臨時安全憑證的身分驗證權杖。如果您已經對現有的應用程式使用此方法,您可以繼續使用它。