本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Cognito 使用 AWS Identity and Access Management (IAM) 服務連結角色。服務連結角色是一種獨特的 IAM 角色類型,其信任政策允許 AWS 服務 擔任該角色。服務連結角色是由 Amazon Cognito 預先定義,並包含服務代表您呼叫其他 AWS 服務所需的所有許可。
服務連結角色可讓設定 Amazon Cognito 更為簡單,因為您不必手動新增必要的許可。Amazon Cognito 定義其服務連結角色的許可,除非另有定義,否則僅有 Amazon Cognito 可以擔任其角色。定義的許可包括信任政策和許可政策,且該許可政策無法附加至其他 IAM 實體。
您必須先刪除服務連結角色的相關資源,才能將其刪除。如此可保護您的 Amazon Cognito 資源,避免您不小心移除資源的存取許可。
如需有關支援服務連結角色的其他服務的資訊,請參閱可搭配 IAM 運作的AWS 服務,並尋找 Service-Linked Role (服務連結角色) 資料欄顯示為 Yes (是) 的服務。選擇具有連結的 Yes (是),以檢視該服務的服務連結角色文件。
Amazon Cognito 的服務連結角色許可
Amazon Cognito 使用下列服務連結角色:
-
AWSServiceRoleForAmazonCognitoIdpEmailService – 允許 Amazon Cognito 使用者集區服務使用您的 Amazon SES 身分來傳送電子郵件。
-
AWSServiceRoleForAmazonCognitoIdp – 允許 Amazon Cognito 使用者集區為您的 Amazon Pinpoint 專案發佈事件和設定端點。
AWSServiceRoleForAmazonCognitoIdpEmailService
AWSServiceRoleForAmazonCognitoIdpEmailService
服務連結角色信任下列服務以擔任角色:
-
email.cognito-idp.amazonaws.com
此角色許可政策允許 Amazon Cognito 對指定資源完成下列動作:
允許的 AWSServiceRoleForAmazonCognitoIdpEmailService 動作:
-
動作:
ses:SendEmail
和ses:SendRawEmail
-
資源:
*
此政策拒絕 Amazon Cognito 可在指定資源上完成下列動作:
拒絕的動作
-
動作:
ses:List*
-
資源:
*
使用這些權限,Amazon Cognito 只能使用 Amazon SES 中經驗證的電子郵件地址傳送電子郵件給使用者。您的使用者在使用者集區的用戶端應用程式中執行特定動作,例如註冊或重設密碼時,Amazon Cognito 會傳送電子郵件給您的使用者。
您必須設定許可,IAM 實體 (如使用者、群組或角色) 才可建立、編輯或刪除服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南中的服務連結角色許可。
AWSServiceRoleForAmazonCognitoIdp
AWSServiceRoleForAmazonCognitoIdp 服務連結角色信任下列服務可擔任該角色:
-
email.cognito-idp.amazonaws.com
此角色許可政策允許 Amazon Cognito 對指定資源完成下列動作:
允許的 AWSServiceRoleForAmazonCognitoIdp 動作
-
動作:
cognito-idp:Describe
-
資源:
*
使用此許可,Amazon Cognito 可以為您呼叫 Describe
Amazon Cognito API 操作。
注意
使用 createUserPoolClient
和 updateUserPoolClient
整合 Amazon Cognito 與 Amazon Pinpoint 時,資源許可會新增至 SLR 當作內嵌政策。內嵌政策會提供 mobiletargeting:UpdateEndpoint
和 mobiletargeting:PutEvents
許可。這些許可讓 Amazon Cognito 能為您與 Cognito 整合的 Pinpoint 專案發佈事件並設定端點。
建立 Amazon Cognito 的服務連結角色
您不需要手動建立一個服務連結角色。當您將使用者集區設定為使用您的 Amazon SES 組態來處理 AWS Management Console、 AWS CLI或 Amazon Cognito API 中的電子郵件傳遞時,Amazon Cognito 會為您建立服務連結角色。
若您刪除此服務連結角色,之後需要再次建立,您可以在帳戶中使用相同程序重新建立角色。設定使用者集區以使用 Amazon SES 組態處理電子郵件交付時,Amazon Cognito 會再次為您建立服務連結角色。
您用來設定您的使用者集區的 IAM 許可必須先包含 iam:CreateServiceLinkedRole
動作,Amazon Cognito 才能建立此角色。如需更新 IAM 中許可的詳細資訊,請參閱《IAM 使用者指南》中的變更 IAM 使用者的許可。
編輯 Amazon Cognito 的服務連結角色
您無法在其中編輯 AmazonCognitoIdp 或 AmazonCognitoIdpEmailService 服務連結角色 AWS Identity and Access Management。因為可能有各種實體會參考服務連結角色,所以您無法在建立角色之後變更其名稱。然而,您可使用 IAM 來編輯角色描述。如需詳細資訊,請參閱「IAM 使用者指南」的編輯服務連結角色。
刪除 Amazon Cognito 的服務連結角色
若您不再使用需要服務連結角色的功能或服務,我們建議您刪除該角色。如果您刪除角色,則僅保留 Amazon Cognito 主動監視或維護的實體。在可刪除 AmazonCognitoIdp 或 AmazonCognitoIdpEmailService 服務連結角色之前,您必須對每個使用此角色的使用者集區執行下列任一動作:
-
刪除使用者集區。
-
在使用者集區中,將電子郵件設定更新成使用預設的電子郵件功能。預設設定不會使用服務連結角色。
請記得使用 角色 AWS 區域 的使用者集區,在每一個 中執行 動作。
注意
若 Amazon Cognito 服務在您試圖刪除資源時正在使用該角色,刪除可能會失敗。若此情況發生,請等待數分鐘後並再次嘗試操作。
刪除 Amazon Cognito 使用者集區
-
登入 AWS Management Console ,並在 開啟 Amazon Cognito 主控台https://console.aws.amazon.com/cognito
。 -
選擇 Manage User Pools (管理使用者集區)。
-
在 Your User Pools (您的使用者集區) 頁面上,選擇您要刪除的使用者集區。
-
選擇刪除集區。
-
在 Delete user pool (刪除使用者集區) 視窗中,鍵入
delete
,然後選擇 Delete pool (刪除集區)。
更新 Amazon Cognito 使用者集區以使用預設的電子郵件功能
-
登入 AWS Management Console ,並在 開啟 Amazon Cognito 主控台https://console.aws.amazon.com/cognito
。 -
選擇 Manage User Pools (管理使用者集區)。
-
在 Your User Pools (您的使用者集區) 頁面上,選擇您要更新的使用者集區。
-
在左側的導覽選單中,選擇 Message customizations (訊息自訂)。
-
在 Do you want to send emails through your Amazon SES Configuration? (您是否要透過 Amazon SES 組態傳送電子郵件嗎?),選擇 No - Use Cognito (Default) (否 - 使用 Cognito (預設))。
-
當您完成設定電子郵件帳戶選項後,請選擇 Save changes (儲存變更)。
使用 IAM 手動刪除服務連結角色
使用 IAM 主控台 AWS CLI、 或 AWS API 來刪除 AmazonCognitoIdp 或 AmazonCognitoIdpEmailService 服務連結角色。如需詳細資訊,請參閱「IAM 使用者指南」中的刪除服務連結角色。
Amazon Cognito 服務連結角色的支援區域
Amazon Cognito 在所有提供服務 AWS 區域 的 中支援服務連結角色。如需詳細資訊,請參閱 AWS 區域 和端點。