步驟 1:授權您的應用程式將資料傳送至 AWS
有四個設定資料身分驗證的選項:
使用 Amazon Cognito,讓 CloudWatch RUM 為應用程式建立新的 Amazon Cognito 身分池。這個方法需要最少的設定工作。
身分集區將包含未進行身分驗證的身分。這可讓 CloudWatch RUM Web 用戶端將資料傳送至 CloudWatch RUM,而無需對應用程式的使用者進行身分驗證。
Amazon Cognito 身分集區具有連接的 IAM 角色。Amazon Cognito 未進行身分驗證的身分可讓 Web 用戶端擔任授權將資料傳送到 CloudWatch RUM 的 IAM 角色。
使用 Amazon Cognito 進行身分驗證。如果您使用此功能,則可以使用現有的 Amazon Cognito 身分池,或建立新的身分集區以搭配此應用程式監視器使用。如果您使用現有的身分池,還必須修改連結至身分集區的 IAM 角色。針對支援未驗證使用者的身分池使用此選項。您只能從相同的區域使用身分池。
使用您已經設定的現有身分提供者所提供的身分驗證。在此情況下,您必須從身分提供者取得憑證,且您的應用程式必須將這些憑證轉寄至 RUM Web 用戶端。
對於僅支援已驗證使用者的身分池,請使用此選項。
使用資源型政策來管理應用程式監視器的存取權。這包括在沒有 AWS 憑證的情況下,將未經驗證的請求傳送至 CloudWatch RUM 的功能。如需了解資源型政策和 RUM 的詳細資訊,請參閱 搭配資源型政策使用 CloudWatch RUM。
以下章節更會詳細探討這些選項。
使用現有 Amazon Cognito 身分集區
如果您選擇使用 Amazon Cognito 身分池,則請在將應用程式新增至 CloudWatch RUM 時指定身分集區。集區必須支援啟用對未經身分驗證之身分的存取權。您只能從相同的區域使用身分池。
您也必須將下列許可新增到連接至與此身分集區相關聯之 IAM 角色的 IAM 政策。
之後,Amazon Cognito 會傳送必要的安全字符,讓您的應用程式能夠存取 CloudWatch RUM。
第三方供應商
如果您選擇使用第三方供應商的私有身分驗證,則必須從身分提供者取得憑證,並將其轉寄至 AWS。最好的方法是使用安全字符廠商。您可以使用任何安全字符供應商,包括具有 AWS Security Token Service 的 Amazon Cognito。如需 AWS STS 的詳細資訊,請參閱歡迎使用 AWS Security Token Service API 參考。
如果您想要在此案例中使用 Amazon Cognito 作為字符廠商,則可以將 Amazon Cognito 設定為與身分驗證供應商一起使用。如需詳細資訊,請參閱 Amazon Cognito 身分集區 (聯合身分) 入門。
將 Amazon Cognito 設定為與身分提供者一起使用後,您還需要執行下列動作:
建立具備下列許可的 IAM 角色。您的應用程式將使用此角色來存取 AWS。
將以下內容新增至您的應用程式,讓其將憑證從您的供應商傳遞至 CloudWatch RUM。插入該行,以便在使用者登入您的應用程式,並且應用程式已收到用於存取 AWS 的憑證後執行。
cwr('setAwsCredentials', {/* Credentials or CredentialProvider */});
如需 AWS JavaScript SDK 中憑證供應商的詳細資訊,請參閱《第 3 版 SDK for JavaScript 開發人員指南》中的在 Web 瀏覽器中設定憑證、《第 2 版 SDK for JavaScript 開發人員指南》中的在 Web 瀏覽器中設定憑證,以及 @aws-sdk/credential-providers
您也可以使用適用於 CloudWatch RUM Web 用戶端的 SDK 來設定 Web 用戶端身分驗證方法。如需有關 Web 用戶端 SDK 的詳細資訊,請參閱 CloudWatch RUM Web 用戶端 SDK