사용자 풀에 그룹 추가 - Amazon Cognito

사용자 풀에 그룹 추가

Amazon Cognito 사용자 풀에서 그룹에 대한 지원을 통해 그룹을 생성하고 관리하고, 사용자를 그룹에 추가하고, 그룹에서 사용자를 제거할 수 있습니다. 그룹을 통해 사용자 모음을 생성하여 권한을 관리하거나 다른 유형의 사용자를 표시합니다. AWS Identity and Access Management(IAM) 역할을 그룹에 할당하여 그룹 구성원에 대한 권한을 정의할 수 있습니다.

그룹을 사용하여 사용자 풀에서 사용자 모음을 생성할 수 있습니다. 이 작업은 해당 사용자에 대한 권한을 설정하여 수행되는 경우가 많습니다. 예를 들어, 웹 사이트 및 앱의 독자, 기고자 및 편집자에 대해 별도의 사용자 그룹을 생성할 수 있습니다. 그룹과 연관된 IAM 역할을 사용하면 Amazon S3에 기고자만 콘텐츠를 넣을 수 있으며, 편집자만 Amazon API Gateway의 API를 통해 콘텐츠를 게시할 수 있도록 다른 그룹에 대해 서로 다른 권한을 설정할 수도 있습니다.

AWS Management Console, API 및 CLI에서 사용자 풀의 그룹을 생성하고 관리할 수 있습니다. 개발자(AWS 자격 증명 사용)는 사용자 풀에 대한 그룹을 생성, 읽기, 업데이트, 삭제 및 나열할 수 있습니다. 그룹에서 사용자를 추가하고 제거할 수도 있습니다.

사용자 풀 내에서 그룹 사용에 대한 추가 비용은 없습니다. 자세한 내용은 Amazon Cognito 요금을 참조하세요.

SpaceFinder 참조 앱에서 사용된 이 기능을 확인할 수 있습니다.

그룹에 IAM 역할 할당

그룹을 사용하면 IAM 역할을 사용하는 리소스에 대한 권한을 제어할 수 있습니다. IAM 역할에는 신뢰 정책 및 권한 정책이 포함됩니다. 역할 신뢰 정책은 역할을 사용할 수 있는 사용자를 지정합니다. 권한 정책은 그룹 구성원이 액세스할 수 있는 작업과 리소스를 지정합니다. IAM 역할을 생성하는 경우 그룹 사용자가 역할을 수임할 수 있도록 역할 트러스트 정책을 설정합니다. 역할 권한 정책에서 그룹에 부여할 권한을 지정합니다.

Amazon Cognito에서 그룹을 생성할 때 역할의 ARN을 제공하여 IAM 역할을 지정합니다. 그룹 구성원이 Amazon Cognito를 사용하여 로그인하면 자격 증명 풀에서 임시 자격 증명을 받을 수 있습니다. 해당 권한은 연결된 IAM 역할에 따라 결정됩니다.

개별 사용자가 여러 그룹에 있을 수 있습니다. 사용자가 여러 그룹에 있는 경우 개발자는 다음과 같이 IAM 역할을 자동으로 선택하기 위한 옵션을 보유합니다.

  • 각 그룹에 우선 순위 값을 할당할 수 있습니다. 우선 순위가 좋은(낮은) 그룹이 선택되고 이와 연관된 IAM 역할이 적용됩니다.

  • 자격 증명 풀을 통해 사용자에 대한 AWS 자격 증명을 요청할 경우 GetCredentialsForIdentity CustomRoleARN 파라미터에서 역할 ARN을 지정하여 사용 가능한 역할 중에서 앱을 선택할 수도 있습니다. 지정된 IAM 역할은 사용자에 대해 사용 가능한 역할과 일치해야 합니다.

그룹에 우선 순위 값 할당

사용자는 둘 이상의 그룹에 속할 수 있습니다. 사용자의 ID 토큰에 있는 cognito:groups 클레임에는 사용자가 속한 모든 그룹의 목록이 포함되어 있습니다. cognito:roles 클레임에는 그룹에 해당하는 역할 목록이 포함되어 있습니다.

사용자가 둘 이상의 그룹에 속할 수 있으므로 각 그룹에 우선 순위가 할당될 수 있습니다. 우선 순위는 사용자 풀에서 사용자가 속한 다른 그룹을 기준으로 이 그룹의 우선 순위를 지정하는, 음수가 아닌 숫자입니다. 0은 가장 높은 우선 순위 값입니다. 우선 순위 값이 낮은 그룹은 우선 순위 값이 높거나 null인 그룹보다 우선합니다. 사용자가 둘 이상의 그룹에 속해 있는 경우 우선 순위 값이 가장 낮은 그룹의 IAM 역할이 사용자 ID 토큰의 cognito:preferred_role 클레임에 적용됩니다.

두 개의 그룹에 동일한 우선 순위 값이 있을 수 있습니다. 이러한 경우 두 그룹 모두 우선 적용되지 않습니다. 우선 순위 값이 동일한 두 그룹에 동일한 역할 ARN이 있는 경우 해당 역할은 각 그룹의 사용자에 대한 ID 토큰의 cognito:preferred_role 클레임에 사용됩니다. 두 그룹의 역할 ARN이 서로 다른 경우 cognito:preferred_role 클레임은 사용자의 ID 토큰에서 설정되지 않습니다.

그룹을 사용하여 Amazon API Gateway로 권한 제어

Amazon API Gateway를 통해 사용자 풀에서 그룹을 사용하여 권한을 제어할 수 있습니다. 사용자가 속한 그룹은 cognito:groups 클레임에 있는 사용자 풀의 ID 토큰과 액세스 토큰에 모두 포함됩니다. 요청과 함께 ID 또는 액세스 토큰을 Amazon API Gateway에 제출하고 REST API에 Amazon Cognito 사용자 풀 권한 부여자를 사용할 수 있습니다. 자세한 내용은 API Gateway 개발자 가이드에서 Amazon Cognito 사용자 풀을 권한 부여자로 사용하여 REST API에 대한 액세스 제어를 참조하세요.

사용자 정의 JWT 권한 부여자를 사용하여 Amazon API Gateway HTTP API에 대한 액세스 권한을 부여할 수도 있습니다. 자세한 내용은 API Gateway 개발자 가이드에서 JWT 권한 부여자를 사용하여 HTTP API에 대한 액세스 제어를 참조하세요.

그룹에 대한 제한 사항

사용자 그룹에 다음 제한이 적용됩니다.

  • 생성할 수 있는 그룹 수는 Amazon Cognito 서비스 한도에 따라 제한됩니다.

  • 그룹은 중첩될 수 없습니다.

  • 그룹에서 사용자를 검색할 수 없습니다.

  • 이름으로 그룹을 검색할 수 없지만 그룹을 나열할 수 있습니다.

  • 구성원이 없는 그룹만 삭제할 수 있습니다.

AWS Management Console에서 새 그룹 생성

새 그룹을 생성하려면 다음 절차를 따르세요.

Original console

[사용자 및 그룹(Users and groups)] 탭의 [그룹(Groups)] 탭에는 [그룹 생성(Create group)] 버튼이 있습니다.


              사용자 및 그룹 탭의 그룹 탭에서 새 그룹을 생성합니다.

그룹 생성을 선택한 경우 그룹 생성 양식이 표시됩니다. 이 양식에 그룹 정보를 입력합니다. 이름 필드만 필수입니다. 사용자 풀을 자격 증명 풀과 통합한 경우 IAM 역할 설정은 자격 증명 풀이 토큰에서 역할을 선택하도록 구성된 경우 사용자의 ID 토큰에 할당될 역할을 결정합니다. 정의된 역할이 아직 없는 경우 새 역할 생성을 선택합니다. 둘 이상의 그룹이 있으며 사용자가 둘 이상의 그룹에 할당될 수 있는 경우 각 그룹에 대해 우선 순위 값을 설정할 수 있습니다. 우선 순위 값은 음수가 아닌 정수일 수 있습니다. 0은 가장 높은 우선 순위 값입니다.


              사용자 및 그룹 탭에서 그룹 양식을 생성합니다.
New console

새 그룹을 생성하려면

  1. Amazon Cognito 콘솔로 이동합니다. 메시지가 표시되면 AWS 자격 증명을 입력합니다.

  2. [사용자 풀(User Pools)]을 선택합니다.

  3. 목록에서 기존 사용자 풀을 선택합니다.

  4. 그룹(Groups) 탭을 선택한 다음 그룹 생성(Create a group)을 선택합니다.

  5. [그룹 생성(Create a group)] 페이지의 [그룹 이름(Group name)]에 새 그룹의 친숙한 이름을 입력합니다.

  6. 다음 필드를 사용하여 이 그룹에 대한 추가 정보를 선택적으로 제공할 수 있습니다.

    • [설명(Description)] - 새 그룹의 용도에 대한 세부 정보를 입력합니다.

    • [우선 순위(Precedence)] - Amazon Cognito는 우선 순위가 더 낮은 소속 그룹을 기준으로 지정된 사용자의 모든 그룹 권한을 평가하고 적용합니다. 우선 순위가 더 낮은 그룹이 선택되고 연결된 IAM 역할이 적용됩니다. 자세한 내용은 섹션을 참조하세요그룹에 우선 순위 값 할당

    • [IAM 역할(IAM role)] - 리소스에 대한 권한을 제어해야 하는 경우 그룹에 IAM 역할을 할당할 수 있습니다. 사용자 풀을 자격 증명 풀과 통합한 경우 IAM 역할 설정은 자격 증명 풀이 토큰에서 역할을 선택하도록 구성된 경우 사용자의 ID 토큰에 할당될 역할을 결정합니다. 자세한 내용은 섹션을 참조하세요그룹에 IAM 역할 할당

    • [이 그룹에 사용자 추가(Add users to this group)] - 그룹이 생성된 후 기존 사용자를 이 그룹의 구성원으로 추가합니다.

  7. [생성(Create)]을 선택하여 확인합니다.