Amazon Connect용 IAM을 사용하여 SAML 구성 - Amazon Connect

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Connect용 IAM을 사용하여 SAML 구성

Amazon Connect는 조직에서 Amazon Connect 인스턴스로의 웹 기반 Single Sign-On(SSO)을 활성화할 수 있도록 AWS IAM으로 Security Assertion Markup Language(SAML) 2.0을 구성하여 ID 페더레이션을 지원합니다. 이렇게 하면 사용자가 SAML 2.0 호환 ID 제공업체(IdP)에서 호스팅하는 조직의 포털에 로그인하고 Amazon Connect에 대한 별도의 보안 인증 정보를 제공하지 않고도 Single Sign-On(SSO) 환경으로 Amazon Connect 인스턴스에 로그인할 수 있습니다.

중요 정보

시작하기 전에 다음 사항에 유의하세요.

  • 이 지침은 Amazon Connect Global Resiliency 배포에는 적용되지 않습니다. Amazon Connect Global Resiliency에 적용되는 자세한 내용은 ID 제공업체(idP)를 Amazon Connect Global Resiliency SAML 로그인 엔드포인트와 통합하세요. 섹션을 참조하세요.

  • Amazon Connect 인스턴스의 자격 증명 관리 방법으로 SAML 2.0 기반 인증을 선택하려면 AWS Identity and Access Management 페더레이션을 구성해야 합니다.

  • Amazon Connect의 사용자 이름이 자격 증명 제공자가 반환한 SAML 응답에 지정된 RoleSessionName SAML 속성과 일치해야 합니다.

  • Amazon Connect는 역방향 페더레이션을 지원하지 않습니다. 즉, Amazon Connect에 직접 로그인할 수 없습니다. 로그인을 시도하면 세션 만료 메시지가 표시됩니다. 인증은 서비스 제공업체(SP)(Amazon Connect)가 아닌 ID 제공업체(IdP)에서 수행해야 합니다.

  • 대부분의 ID 제공업체는 기본적으로 글로벌 AWS 로그인 엔드포인트를 미국 동부(버지니아 북부)에서 호스팅되는 애플리케이션 소비자 서비스(ACS)로 사용합니다. 인스턴스가 생성된 AWS 리전과 일치하는 지역 엔드포인트를 사용하려면 이 값을 재정의하는 것이 좋습니다.

  • SAML을 사용하는 경우에도 모든 Amazon Connect 사용자 이름은 대소문자를 구분합니다.

  • SAML로 설정된 이전 Amazon Connect 인스턴스가 있고 Amazon Connect 도메인을 업데이트해야 하는 경우에는 개인 설정 섹션을 참조하세요.

Amazon Connect와 함께 SAML을 사용하는 방법 개요

다음 다이어그램은 사용자를 인증하고 Amazon Connect와 페더레이션하기 위한 SAML 요청의 단계를 보여 줍니다. 위협 모델의 흐름도는 아닙니다.


                Amazon Connect를 통한 SAML 인증 요청의 요청 흐름에 대한 개요입니다.

SAML 요청은 다음 단계로 진행됩니다.

  1. 사용자가 Amazon Connect에 로그인하기 위한 링크가 포함되어 있는 내부 포털로 이동합니다. 해당 링크는 자격 증명 공급자에 정의되어 있습니다.

  2. 연동 서비스가 조직의 자격 증명 스토어에서 인증을 요청합니다.

  3. 자격 증명 스토어가 사용자를 인증하고 인증 응답을 연동 서비스에 반환합니다.

  4. 인증에 성공하면 연동 서비스가 SAML 어설션을 사용자의 브라우저에 게시합니다.

  5. 사용자 브라우저가 AWS 로그인 SAML 엔드포인트(https://signin.aws.amazon.com/saml)에 SAML 어설션을 게시합니다. AWS 로그인은 SAML 요청을 수신하고, 요청을 처리하고, 사용자를 인증하고, 인증 토큰을 사용하여 Amazon Connect 엔드포인트로의 브라우저 리디렉션을 시작합니다.

  6. Amazon Connect는 AWS의 인증 토큰을 사용하여 사용자에게 권한을 부여하고 브라우저에서 Amazon Connect를 엽니다.

Amazon Connect에 대해 SAML 기반 인증 활성화

Amazon Connect 인스턴스에서 사용할 SAML 인증을 활성화하고 구성하기 위해 필요한 단계는 다음과 같습니다.

  1. Amazon Connect 인스턴스를 생성하고 자격 증명 관리에 대해 SAML 2.0 기반 인증을 선택합니다.

  2. 자격 증명 공급자와 AWS 간 SAML 페더레이션 활성화

  3. Amazon Connect 사용자를 Amazon Connect 인스턴스에 추가합니다. 인스턴스를 생성할 때 만든 관리자 계정을 사용하여 인스턴스에 로그인합니다. 사용자 관리 페이지로 이동하여 사용자를 추가합니다.

    중요
    • 사용자 이름에 허용되는 문자 목록CreateUser 작업의 Username 속성 설명서를 참조하세요.

    • Amazon Connect 사용자와 AWS IAM 역할 간의 연결로 인해 사용자 이름은 AWSIAM 페더레이션 통합에서 구성된 RoleSessionName과 정확히 일치해야 합니다. 이는 일반적으로 디렉터리의 사용자 이름입니다. 사용자 이름 형식은 다음 다이어그램에 표시된 것처럼 RolesessionNameAmazon Connect 사용자의 형식 조건에 대한 교차점과 일치해야 합니다.

      
                                    RoleSessionName 및 Amazon Connect 사용자의 벤 다이어그램.
  4. SAML 어설션, 인증 응답 및 릴레이 상태에 대해 자격 증명 공급자를 구성합니다. 사용자가 자격 증명 공급자에 로그인합니다. 성공하면 사용자가 Amazon Connect 인스턴스로 리디렉션됩니다. IAM 역할은 AWS와 페더레이션하여 Amazon Connect에 대한 액세스를 허용하는 데 사용됩니다.

인스턴스 생성 중 SAML 2.0 기반 인증 선택

Amazon Connect 인스턴스를 생성할 때 자격 증명 관리에 대해 SAML 2.0 기반 인증 옵션을 선택합니다. 두 번째 단계에서 인스턴스의 관리자를 생성할 때 지정하는 사용자 이름은 기존 네트워크 디렉터리의 사용자 이름과 정확하게 일치해야 합니다. 암호는 기존 디렉터리를 통해 관리되므로 관리자의 암호를 지정하는 옵션은 없습니다. 관리자는 Amazon Connect에서 생성되며 관리자 보안 프로필이 할당됩니다.

IdP를 통해 Amazon Connect 인스턴스에 로그인하여 관리자 계정을 이용해 사용자를 더 추가할 수 있습니다.

자격 증명 공급자와 AWS 간 SAML 연동 활성화

Amazon Connect에 대해 SAML 기반 인증을 활성화하려면 IAM 콘솔에 자격 증명 공급자를 생성해야 합니다. 자세한 내용은 SAML 2.0 페더레이션 사용자가 AWS Management Console에 액세스하도록 지원을 참조하세요.

AWS의 자격 증명 공급자를 생성하는 프로세스는 Amazon Connect와 같습니다. 위 흐름도의 6단계는 클라이언트가 AWS Management Console 대신 Amazon Connect 인스턴스로 보내지는 것을 보여 줍니다.

AWS와의 SAML 페더레이션을 활성화하는 데 필요한 단계에는 다음 사항이 포함됩니다.

  1. AWS에서 SAML 공급자 생성 자세한 내용은 SAML 자격 증명 공급자 생성을 참조하십시오.

  2. AWS Management Console에서 SAML 2.0 페더레이션을 위한 IAM 역할을 생성합니다. 연동에 대한 역할 하나만 생성합니다(연동에는 하나의 역할만 필요하고 사용됨). IAM 역할에 따라 AWS에서 자격 증명 공급자를 통해 로그인한 사용자가 보유하는 권한이 결정됩니다. 이 경우에는 Amazon Connect에 액세스하기 위한 권한입니다. Amazon Connect에서 보안 프로필을 사용하여 Amazon Connect의 기능에 대한 권한을 제어할 수 있습니다. 자세한 내용은 SAML 2.0 연동을 위한 역할 생성(콘솔)을 참조하십시오.

    5단계에서 프로그래밍 방식 및 AWS Management Console 액세스 허용을 선택합니다. 주제의 SAML 2.0 연동을 위한 역할 생성을 준비하려면 절차에서 설명한 신뢰 정책을 생성합니다. 그런 다음 Amazon Connect 인스턴스에 권한을 할당할 정책을 생성합니다. 권한은 SAML 기반 연동을 위한 역할을 생성하려면 절차의 9단계에서 시작합니다.

    SAML 인증을 위한 IAM 역할에 권한을 할당하는 정책을 생성하려면
    1. Attach permissions policy(권한 정책 연결) 페이지에서 Create policy(정책 생성)를 선택합니다.

    2. 정책 생성 페이지에서 JSON을 선택합니다.

    3. 다음 예제 정책 중 하나를 복사하여 기존 텍스트 대신 JSON 정책 편집기에 붙여 넣습니다. 정책을 사용하여 SAML 연동을 활성화하거나 특정 요구 사항에 맞게 사용자 지정할 수 있습니다.

      특정 Amazon Connect 인스턴스의 모든 사용자에 대한 페더레이션을 활성화하려면 이 정책을 사용합니다. SAML 기반 인증의 경우 Resource의 값을 생성한 인스턴스에 대한 ARN으로 바꿉니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": "connect:GetFederationToken", "Resource": [ "arn:aws:connect:us-east-1:361814831152:instance/2fb42df9-78a2-2e74-d572-c8af67ed289b/user/${aws:userid}" ] } ] }

      이 정책을 사용하여 특정 Amazon Connect 인스턴스에 대한 페더레이션을 활성화합니다. connect:InstanceId의 값을 인스턴스의 인스턴스 ID로 바꿉니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement2", "Effect": "Allow", "Action": "connect:GetFederationToken", "Resource": "*", "Condition": { "StringEquals": { "connect:InstanceId": "2fb42df9-78a2-2e74-d572-c8af67ed289b" } } } ] }

      이 정책을 사용하여 여러 인스턴스에 대한 연동을 활성화합니다. 나열된 인스턴스 ID 주위의 대괄호에 유의하십시오.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement2", "Effect": "Allow", "Action": "connect:GetFederationToken", "Resource": "*", "Condition": { "StringEquals": { "connect:InstanceId": [ "2fb42df9-78a2-2e74-d572-c8af67ed289b", "1234567-78a2-2e74-d572-c8af67ed289b"] } } } ] }
    4. 정책을 만든 후 Next: Review(다음: 검토)를 선택합니다. 그런 다음 SAML 2.0 페더레이션을 위한 역할 생성(콘솔) 주제의 SAML 기반 페더레이션을 위한 역할 생성 절차의 10단계로 돌아가세요.

  3. AWS에 대한 SAML 공급자로 네트워크 구성 자세한 내용은 SAML 2.0 페더레이션 사용자가 AWS Management Console에 액세스하도록 지원을 참조하세요.

  4. 인증 응답을 위한 SAML 어설션을 구성합니다. 자세한 내용은 인증 응답을 위한 SAML 어설션 구성을 참조하십시오.

  5. Amazon Connect의 경우 애플리케이션 시작 URL을 비워 두세요.

  6. Amazon Connect 인스턴스의 AWS 리전과 일치하는 리전 엔드포인트를 사용하도록 ID 공급자의 애플리케이션 소비자 서비스(ACS) URL을 재정의하세요. 자세한 내용은 리전 SAML 엔드포인트를 사용하도록 ID 제공자를 구성합니다. 섹션을 참조하세요.

  7. Amazon Connect 인스턴스를 가리키도록 자격 증명 공급자의 릴레이 상태를 구성합니다. 릴레이 상태에 사용할 URL은 다음과 같이 구성됩니다.

    https://region-id.console.aws.amazon.com/connect/federate/instance-id

    region-id를 Amazon Connect 인스턴스를 생성한 리전의 이름으로 바꿉니다(예: 미국 동부(버지니아 북부)의 경우 us-east-1). instance-id를 인스턴스의 인스턴스 ID로 바꿉니다.

    GovCloud 인스턴스의 경우 URL은 https://console.amazonaws-us-gov.com/입니다.

    • https://console.amazonaws-us-gov.com/connect/federate/instance-id

    참고

    Amazon Connect 콘솔에서 인스턴스 별칭을 선택하여 인스턴스의 인스턴스 ID를 찾을 수 있습니다. 인스턴스 ID는 개요 페이지에 표시된 인스턴스 ARN에서 '/instance' 뒤에 오는 숫자와 문자 세트입니다. 예를 들어, 다음 인스턴스 ARN의 인스턴스 ID는 178c75e4-b3de-4839-a6aa-e321ab3f3770입니다.

    arn:aws:connect:us-east-1:450725743157:instance/178c75e4-b3de-4839-a6aa-e321ab3f3770

리전 SAML 엔드포인트를 사용하도록 ID 제공자를 구성합니다.

최상의 가용성을 제공하려면 기본 글로벌 엔드포인트 대신 Amazon Connect 인스턴스와 일치하는 리전 SAML 엔드포인트를 사용하는 것이 좋습니다.

다음 단계는 IdP에 구애받지 않으며, 모든 SAML IdP(예: Okta, Ping, OneLogin, Shibboleth, ADFS, AzureAD 등)에서 사용할 수 있습니다.

  1. 어설션 소비자 서비스(ACS) URL을 업데이트(또는 재정의)하세요. 방법에는 2가지가 있습니다.

    • 옵션 1: AWS SAML 메타데이터를 다운로드하고 Location 속성을 원하는 리전으로 업데이트합니다. 이 새 버전의 AWS SAML 메타데이터를 IdP에 로드합니다.

      다음은 수정의 예입니다.

      <AssertionConsumerService index="1" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://region-id.signin.aws.amazon.com/saml"/>

    • 옵션 2: IdP에서 AssertionConsumerService(ACS) URL을 재정의합니다. 사전 AWS 통합을 제공하는 Okta와 같은 IdP의 경우 AWS 관리 콘솔에서 ACS URL을 재정의할 수 있습니다. 동일한 형식을 사용하여 원하는 리전으로 재정의하세요(예: https://region-id.signin.aws.amazon.com/saml).

  2. 관련 역할 신뢰 정책을 업데이트합니다.

    1. 이 단계는 해당 ID 공급자를 신뢰하는 모든 계정의 모든 역할에 대해 수행해야 합니다.

    2. 신뢰 관계를 편집하고 단수 SAML:aud 조건을 다중 값 조건으로 바꿉니다. 예제:

      • 기본값: "SAML:aud": "https://signin.aws.amazon.com/saml".

      • 수정 내용: "SAML:aud": [ "https://signin.aws.amazon.com/saml", "https://region-id.signin.aws.amazon.com/saml" ]

    3. 신뢰 관계를 미리 변경하세요. 사고 발생 시 계획의 일환으로 변경해서는 안 됩니다.

  3. 리전별 콘솔 페이지의 릴레이 상태를 구성합니다.

    1. 이 마지막 단계를 수행하지 않으면 리전별 SAML 로그인 프로세스에서 사용자를 동일한 리전 내의 콘솔 로그인 페이지로 전달한다는 보장이 없습니다. 자격 증명 공급자마다 차이가 가장 큰 단계이지만, 딥 링크를 달성하기 위해 릴레이 상태를 사용하는 방법을 보여 주는 블로그(예: SAML을 사용하여 페더레이션 사용자를 특정 AWS Management Console 페이지로 자동 안내하는 방법)도 있습니다.

    2. IdP에 적합한 기술/파라미터를 사용하여 릴레이 상태를 일치하는 콘솔 엔드포인트로 설정합니다(예: https://region-id.console.aws.amazon.com/connect/federate/instance-id).

참고
  • 추가 리전에서 STS가 비활성화되지 않았는지 확인합니다.

  • 추가 리전에서 STS 작업을 막는 SCP가 없는지 확인합니다.

릴레이 상태 URL에서 대상 사용

자격 증명 공급자의 릴레이 상태를 구성할 때 URL에 대상 인수를 사용하여 Amazon Connect 인스턴스의 특정 페이지로 사용자를 이동하게 할 수 있습니다. 예를 들어 에이전트가 로그인할 때 링크를 사용하여 CCP를 엽니다. 사용자에게 인스턴스의 해당 페이지에 액세스할 수 있는 권한을 부여하는 보안 프로필을 할당해야 합니다. 예를 들어 에이전트를 CCP로 보내려면 릴레이 상태에 다음과 유사한 URL을 사용합니다. URL에 사용된 대상 값에 URL 인코딩을 사용해야 합니다.

  • https://us-east-1.console.aws.amazon.com/connect/federate/instance-id?destination=%2Fccp-v2%2Fchat&new_domain=true

유효한 URL의 또 다른 예는 다음과 같습니다.

  • https://us-east-1.console.aws.amazon.com/connect/federate/instance-id?destination=%2Fagent-app-v2

GovCloud 인스턴스의 경우 URL은 https://console.amazonaws-us-gov.com/입니다. 따라서 주소는 다음과 같습니다.

  • https://console.amazonaws-us-gov.com/connect/federate/instance-id?destination=%2Fccp-v2%2Fchat&new_domain=true

대상 인수를 Amazon Connect 인스턴스 외부의 URL(예: 사용자 지정 웹 사이트)로 구성하려면 먼저 해당 외부 도메인을 계정의 승인된 오리진에 추가하세요. 예를 들어, 다음 단계를 차례로 수행합니다.

  1. Amazon Connect 콘솔에서 승인된 오리진에 https://your-custom-website.com을 추가합니다. 지침은 통합 애플리케이션에 허용 목록 사용 섹션을 참조하세요.

  2. 자격 증명 공급자에서 릴레이 상태를 https://your-region.console.aws.amazon.com/connect/federate/instance-id?destination=https%3A%2F%2Fyour-custom-website.com로 구성합니다.

  3. 에이전트가 로그인하면 https://your-custom-website.com으로 바로 연결됩니다.

사용자를 Amazon Connect 인스턴스에 추가

Connect 인스턴스에 사용자를 추가하고 사용자 이름이 기존 디렉터리의 사용자 이름과 정확하게 일치하는지 확인합니다. 이름이 일치하지 않으면 사용자는 자격 증명 공급자에는 로그인할 수 있지만, 해당 사용자 이름의 사용자 계정이 Amazon Connect에 없으므로 Amazon Connect에는 로그인할 수 없습니다. 사용자 관리 페이지에서 수동으로 사용자를 추가하거나 CSV 템플릿을 사용하여 사용자를 대량으로 업로드할 수 있습니다. Amazon Connect에 사용자를 추가한 후 보안 프로필 및 다른 사용자 설정을 할당할 수 있습니다.

사용자가 자격 증명 공급자에 로그인할 때 사용자 이름이 동일한 계정이 Amazon Connect에 없으면 다음과 같이 액세스 거부됨 메시지가 표시됩니다.


                사용자가 해당 자격 증명 공급자를 통해 Amazon Connect에 로그인하려고 시도했지만 사용자 이름이 Amazon Connect에 없는 경우 표시되는 오류 메시지.
템플릿을 통해 사용자 대량 업로드

CSV 파일에 사용자를 추가하여 사용자를 가져올 수 있습니다. 그런 다음 CSV 파일을 인스턴스로 가져와 파일의 모든 사용자를 추가할 수 있습니다. CSV 파일을 업로드하여 사용자를 추가하는 경우 SAML 사용자용 템플릿을 사용해야 합니다. Amazon Connect의 사용자 관리 페이지에서 찾을 수 있습니다. SAML 기반 인증에는 다른 템플릿이 사용됩니다. 이전에 템플릿을 다운로드한 경우 SAML 기반 인증을 통해 인스턴스를 설정한 후에는 사용자 관리 페이지에서 사용 가능한 버전을 다운로드해야 합니다. 템플릿에는 이메일 또는 암호에 대한 열이 포함되면 안 됩니다.

SAML 사용자 로그인 및 세션 기간

Amazon Connect에서 SAML을 사용할 때 사용자가 ID 제공업체(IdP)를 통해 Amazon Connect에 로그인해야 합니다. IdP는 AWS와 통합되도록 구성됩니다. 인증 후 세션의 토큰이 생성됩니다. 그런 다음 사용자가 Amazon Connect 인스턴스로 리디렉션되고 Single Sign-On(SSO)을 사용하여 자동으로 Amazon Connect에 로그인됩니다.

또한 Amazon Connect를 사용하여 완료한 경우 로그아웃하도록 Amazon Connect 사용자에 대한 프로세스를 정의하는 것이 좋습니다. 이 경우 사용자는 Amazon Connect 및 자격 증명 공급자에서 로그아웃해야 합니다. 로그아웃하지 않으면 이전 세션에 대한 토큰이 세션 기간 동안 계속 유효하므로 동일한 컴퓨터에 로그인한 다음 사람이 암호 없이 Amazon Connect에 로그인할 수 있습니다. 12시간 동안 유효합니다.

세션 만료 정보

Amazon Connect 세션은 사용자가 로그인한 후 12시간이 지나면 만료됩니다. 12시간 후 사용자는 현재 통화 중인 경우에도 자동으로 로그아웃됩니다. 에이전트가 12시간 넘게 로그인 상태이면 만료되기 전에 세션 토큰을 새로 고쳐야 합니다. 새 세션을 만들려면 에이전트가 Amazon Connect 및 IdP에서 로그아웃한 후 다시 로그인해야 합니다. 이렇게 하면 에이전트가 고객과 통화 중인 경우 로그아웃되지 않도록 토큰에 설정된 세션 타이머가 재설정됩니다. 사용자가 로그인한 동안 세션이 만료되면 다음 메시지가 표시됩니다. Amazon Connect를 다시 사용하려면 사용자가 자격 증명 공급자에 로그인해야 합니다.


                SAML 기반 사용자에 대한 세션이 만료된 경우 표시되는 오류 메시지.
참고

로그인하는 동안 세션 만료됨 메시지가 표시되는 경우 세션 토큰을 새로 고치기만 하면 문제가 해결될 수 있습니다. ID 제공업체로 이동하여 로그인합니다. Amazon Connect 페이지를 새로 고칩니다. 이 메시지가 계속 표시되면 IT 팀에 문의하세요.