使用 Amazon Cognito 的服務連結角色 - Amazon Cognito

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Amazon Cognito 的服務連結角色

Amazon Cognito 使用 AWS Identity and Access Management (IAM) 服務連結角色 。服務連結角色是具有信任政策的唯一IAM角色類型,允許 AWS 服務 擔任該角色。服務連結角色由 Amazon Cognito 預先定義,並包含服務 AWS 代表您呼叫其他服務所需的所有許可。

服務連結角色可讓設定 Amazon Cognito 更為簡單,因為您不必手動新增必要的許可。Amazon Cognito 定義其服務連結角色的許可,除非另有定義,否則僅有 Amazon Cognito 可以擔任其角色。定義的許可包括信任政策和許可政策,該許可政策無法連接到任何其他IAM實體。

您必須先刪除服務連結角色的相關資源,才能將其刪除。如此可保護您的 Amazon Cognito 資源,避免您不小心移除資源的存取許可。

如需支援服務連結角色的其他 服務的資訊,請參閱AWS 服務連結角色欄中的 服務,IAM並尋找具有的服務。 選擇具有連結的 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:SendEmailses:SendRawEmail

  • 資源:*

此政策拒絕 Amazon Cognito 可在指定資源上完成下列動作:

拒絕的動作
  • 動作:ses:List*

  • 資源:*

透過這些許可,Amazon Cognito SES只能在 Amazon 中使用已驗證的電子郵件地址來傳送電子郵件給使用者。您的使用者在使用者集區的用戶端應用程式中執行特定動作,例如註冊或重設密碼時,Amazon Cognito 會傳送電子郵件給您的使用者。

您必須設定許可,以允許IAM實體 (例如使用者、群組或角色) 建立、編輯或刪除服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南 中的服務連結角色許可

AWSServiceRoleForAmazonCognitoIdp

AWSServiceRoleForAmazonCognitoIdp 服務連結角色信任下列 服務擔任該角色:

  • email.cognito-idp.amazonaws.com

此角色許可政策允許 Amazon Cognito 對指定資源完成下列動作:

的允許動作 AWSServiceRoleForAmazonCognitoIdp
  • 動作:cognito-idp:Describe

  • 資源:*

透過此許可,Amazon Cognito 可以為您呼叫 Describe Amazon Cognito API操作。

注意

當您使用 createUserPoolClient和 將 Amazon Cognito 與 Amazon Pinpoint 整合時updateUserPoolClient,資源許可會新增至 SLR 作為內嵌政策。內嵌政策會提供 mobiletargeting:UpdateEndpointmobiletargeting:PutEvents 許可。這些許可讓 Amazon Cognito 能為您與 Cognito 整合的 Pinpoint 專案發佈事件並設定端點。

建立 Amazon Cognito 的服務連結角色

您不需要手動建立一個服務連結角色。當您將使用者集區設定為使用 Amazon SES組態來處理 AWS Management Console、 AWS CLI或 Amazon Cognito 中的電子郵件傳遞API時,Amazon Cognito 會為您建立服務連結角色。

若您刪除此服務連結角色,之後需要再次建立,您可以在帳戶中使用相同程序重新建立角色。當您將使用者集區設定為使用您的 Amazon SES組態來處理電子郵件交付時,Amazon Cognito 會再次為您建立服務連結角色。

在 Amazon Cognito 建立此角色之前,您用來設定使用者集區的IAM許可必須包含 iam:CreateServiceLinkedRole動作。如需在 中更新許可的詳細資訊IAM,請參閱 IAM 使用者指南 中的變更IAM使用者許可

編輯 Amazon Cognito 的服務連結角色

您無法在 中編輯 AmazonCognitoIdpEmailService AmazonCognitoIdp 或服務連結角色 AWS Identity and Access Management。因為可能有各種實體會參考服務連結角色,所以您無法在建立角色之後變更其名稱。不過,您可以使用 編輯角色的描述IAM。如需詳細資訊,請參閱 IAM 使用者指南 中的編輯服務連結角色

刪除 Amazon Cognito 的服務連結角色

若您不再使用需要服務連結角色的功能或服務,我們建議您刪除該角色。如果您刪除角色,則僅保留 Amazon Cognito 主動監視或維護的實體。您必須先針對每個使用該角色的使用者集區執行下列其中一項操作,才能刪除 AmazonCognitoIdp AmazonCognitoIdpEmailService 或服務連結角色:

  • 刪除使用者集區。

  • 在使用者集區中,將電子郵件設定更新成使用預設的電子郵件功能。預設設定不會使用服務連結角色。

請記得使用 角色 AWS 區域 的使用者集區,在每一個 中執行 動作。

注意

若 Amazon Cognito 服務在您試圖刪除資源時正在使用該角色,刪除可能會失敗。若此情況發生,請等待數分鐘後並再次嘗試操作。

刪除 Amazon Cognito 使用者集區
  1. 登入 AWS Management Console 並在 開啟 Amazon Cognito 主控台https://console.aws.amazon.com/cognito

  2. 選擇 Manage User Pools (管理使用者集區)

  3. Your User Pools (您的使用者集區) 頁面上,選擇您要刪除的使用者集區。

  4. 選擇刪除集區

  5. Delete user pool (刪除使用者集區) 視窗中,鍵入 delete,然後選擇 Delete pool (刪除集區)

更新 Amazon Cognito 使用者集區以使用預設的電子郵件功能

  1. 登入 AWS Management Console 並在 開啟 Amazon Cognito 主控台https://console.aws.amazon.com/cognito

  2. 選擇 Manage User Pools (管理使用者集區)

  3. Your User Pools (您的使用者集區) 頁面上,選擇您要更新的使用者集區。

  4. 在左側的導覽選單中,選擇 Message customizations (訊息自訂)

  5. 是否要透過 Amazon SES Configuration 傳送電子郵件?下,選擇否 - 使用 Cognito (預設)

  6. 當您完成設定電子郵件帳戶選項後,請選擇 Save changes (儲存變更)

使用 手動刪除服務連結角色 IAM

使用IAM主控台、 AWS CLI或 AWS API來刪除 AmazonCognitoIdp AmazonCognitoIdpEmailService 或服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南 中的刪除服務連結角色

Amazon Cognito 服務連結角色的支援區域

Amazon Cognito 支援服務可用之所有 AWS 區域 中的服務連結角色。如需詳細資訊,請參閱 AWS 區域 和端點