Amazon Cognito에 서비스 연결 역할 사용 - Amazon Cognito

Amazon Cognito에 서비스 연결 역할 사용

Amazon Cognito는 AWS Identity and Access Management(IAM) 서비스 연결 역할을 사용합니다. 서비스 연결 역할은 Amazon Cognito에 직접 연결된 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 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:SendEmailses:SendRawEmail

  • Resource: *

이 정책은 Amazon Cognito가 지정된 리소스에서 다음 작업을 완료하는 기능을 거부합니다.

거부된 작업

  • 작업: ses:List*

  • Resource: *

이러한 권한을 통해 Amazon Cognito는 Amazon SES에서 확인된 이메일 주소를 사용자에게 이메일로 보내는 용도로만 사용할 수 있습니다. Amazon Cognito는 사용자가 클라이언트 앱에서 사용자 풀에 대한 특정 작업(예: 가입 또는 암호 재설정)을 수행할 때 사용자에게 이메일을 보냅니다.

IAM 엔터티(사용자, 그룹, 역할 등)가 서비스 연결 역할을 작성하고 편집하거나 삭제할 수 있도록 권한을 구성할 수 있습니다. 자세한 내용은 IAM 사용 설명서서비스 연결 역할 권한을 참조하세요.

AWSServiceRoleForAmazonCognitoIdp

AWSServiceRoleForAmazonCognitoIdp 서비스 연결 역할은 역할을 수임하기 위해 다음 서비스를 신뢰합니다.

  • email.cognito-idp.amazonaws.com

역할 권한 정책은 Amazon Cognito가 지정된 리소스에서 다음 작업을 완료하도록 허용합니다.

AWSServiceRoleForAmazonCognitoIdp에 허용되는 작업

  • 작업: cognito-idp:Describe

  • Resource: *

이 권한을 통해 Amazon Cognito는 사용자를 위해 Describe Amazon Cognito API 작업을 호출할 수 있습니다.

참고

createUserPoolClientupdateUserPoolClient를 사용하여 Amazon Cognito를 Amazon Pinpoint와 통합하면 리소스 권한이 인라인 정책으로 SLR에 추가됩니다. 이 인라인 정책은 mobiletargeting:UpdateEndpointmobiletargeting:PutEvents 권한을 제공합니다. 이러한 권한을 통해 Amazon Cognito는 Cognito와 통합하는 Pinpoint 프로젝트의 이벤트를 게시하고 엔드포인트를 구성할 수 있습니다.

Amazon Cognito에 대한 서비스 연결 역할 생성

서비스 연결 역할은 수동으로 생성할 필요가 없습니다. AWS Management Console, AWS CLI 또는 Amazon Cognito API에서 Amazon SES 구성을 사용하여 이메일 전송을 처리하도록 사용자 풀을 구성할 경우 Amazon Cognito가 서비스 연결 역할을 생성합니다.

이 서비스 연결 역할을 삭제한 다음 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다. Amazon SES 구성을 사용하여 이메일 전송을 처리하도록 사용자 풀을 구성할 경우 Amazon Cognito가 서비스 연결 역할을 다시 생성합니다.

Amazon Cognito가 이 역할을 생성하려면 먼저 사용자 풀을 설정하는 데 사용하는 IAM 권한에 iam:CreateServiceLinkedRole 작업을 포함해야 합니다. IAM에서의 권한 업데이트에 대한 자세한 내용은 IAM 사용 설명서에서 IAM 사용자의 권한 변경을 참조하세요.

Amazon Cognito에 대한 서비스 연결 역할 편집

AWS Identity and Access Management에서는 AmazonCognitoIdp 또는 AmazonCognitoIdpEmailService 서비스 연결 역할을 편집할 수 없습니다. 서비스 연결 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 IAM 사용 설명서서비스 연결 역할 편집을 참조하세요.

Amazon Cognito에 대한 서비스 연결 역할 삭제

서비스 연결 역할이 필요한 기능 또는 서비스가 더 이상 필요 없는 경우에는 해당 역할을 삭제할 것을 권합니다. 이러한 역할을 삭제하면 Amazon Cognito가 적극적으로 모니터링하거나 유지하는 엔터티만 보유합니다. AmazonCognitoIdp 또는 AmazonCognitoIdpEmailService 서비스 연결 역할을 삭제하려면 먼저 해당 역할을 사용하는 각 사용자 풀에 대해 다음 중 하나를 수행해야 합니다.

  • 사용자 풀을 삭제합니다.

  • 기본 이메일 기능을 사용하도록 사용자 풀의 이메일 설정을 업데이트합니다. 기본 설정에서는 서비스 연결 역할을 사용하지 않습니다.

역할을 사용하는 사용자 풀과 함께 각 AWS 리전에 작업을 수행해야 합니다.

참고

리소스를 삭제하려고 할 때 Amazon Cognito 서비스가 역할을 사용 중이면 삭제에 실패할 수 있습니다. 이 문제가 발생하면 몇 분 기다렸다가 작업을 다시 시도하세요.

Amazon Cognito 사용자 풀을 삭제하려면

  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cognito에서 Amazon Cognito 콘솔을 엽니다.

  2. 사용자 풀 관리(Manage User Pools)를 선택합니다.

  3. [사용자 풀(Your User Pools)] 페이지에서 삭제할 사용자 풀을 선택합니다.

  4. 풀 삭제를 선택합니다.

  5. [사용자 풀 삭제(Delete user pool)] 창에서 delete를 입력하고 [풀 삭제(Delete pool)]를 선택합니다.

기본 이메일 기능을 사용하도록 Amazon Cognito 사용자 풀을 업데이트하려면

  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cognito에서 Amazon Cognito 콘솔을 엽니다.

  2. 사용자 풀 관리(Manage User Pools)를 선택합니다.

  3. [사용자 풀(Your User Pools)] 페이지에서 업데이트할 사용자 풀을 선택합니다.

  4. 왼쪽의 탐색 메뉴에서 메시지 사용자 지정을 선택합니다.

  5. [Amazon SES 구성을 통해 이메일을 보내시겠습니까?(Do you want to send emails through your Amazon SES Configuration?)] 아래에서 [아니요 - Cognito(기본값)을 사용합니다(No - Use Cognito (Default))]를 선택합니다.

  6. 이메일 계정 옵션 설정을 마치면 변경 사항 저장을 선택합니다.

IAM을 사용하여 수동으로 서비스 연결 역할 삭제

IAM 콘솔, AWS CLI 또는 AWS API를 사용하여 AmazonCognitoIdp 또는 AmazonCognitoIdpEmailService 서비스 연결 역할을 삭제합니다. 자세한 내용은 IAM 사용 설명서서비스 연결 역할 삭제를 참조하세요.

Amazon Cognito 서비스 연결 역할이 지원되는 리전

Amazon Cognito는 이러한 서비스가 제공되는 모든 AWS 리전에서 해당 서비스 연결 역할을 지원합니다. 자세한 내용은 AWS 리전 및 엔드포인트를 참조하세요.