步驟 1:授權您的應用程式將資料傳送至 AWS - Amazon CloudWatch

步驟 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 政策。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rum:PutRumEvents" ], "Resource": "arn:aws:rum:us-east-1:123456789012:appmonitor/app monitor name" } ] }

之後,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。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:us-east-2:123456789012:appmonitor/AppMonitorName" } ] }
  • 將以下內容新增至您的應用程式,讓其將憑證從您的供應商傳遞至 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