本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 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 政策。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:[
region
]:[accountid
]:appmonitor/[app monitor name
]" } ] }
之後,Amazon Cognito 會傳送必要的安全字符,讓您的應用程式能夠存取 CloudWatch RUM。
第三方供應商
如果您選擇使用第三方供應商的私有身分驗證,則必須從身分提供者取得憑證,並將其轉寄至 AWS。最好的方法是使用安全字符廠商。您可以使用任何安全字符廠商,包括 Amazon Cognito AWS Security Token Service。如需 的詳細資訊 AWS STS,請參閱歡迎使用 AWS Security Token Service API 參考。
如果您想要在此案例中使用 Amazon Cognito 作為字符廠商,則可以將 Amazon Cognito 設定為與身分驗證供應商一起使用。如需詳細資訊,請參閱 Amazon Cognito 身分集區 (聯合身分) 入門。
將 Amazon Cognito 設定為與身分提供者一起使用後,您還需要執行下列動作:
建立具備下列許可的 IAM 角色。您的應用程式將使用此角色來存取 AWS。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:[
region
]:[accountID
]:appmonitor/[app monitor name
]" } ] }將以下內容新增至您的應用程式,讓其將憑證從您的供應商傳遞至 CloudWatch RUM。插入該行,以便在使用者登入您的應用程式,並且應用程式已收到用於存取 AWS的憑證後執行。
cwr('setAwsCredentials', {/* Credentials or CredentialProvider */});
如需 AWS JavaScript SDK 中登入資料提供者的詳細資訊,請參閱適用於 JavaScript 的 v3 開發人員指南中的在 Web 瀏覽器中設定登入資料、適用於 JavaScript 的 SDK 的 v2 開發人員指南中的在 Web 瀏覽器中設定登入資料、 和 @aws-sdk/credential-providers
您也可以使用適用於 CloudWatch RUM Web 用戶端的 SDK 來設定 Web 用戶端身分驗證方法。如需有關 Web 用戶端 SDK 的詳細資訊,請參閱 CloudWatch RUM Web 用戶端 SDK