메인 콘텐츠로 건너뛰기
기본적으로 프로세스 스킬의 Input activity를 사용해 이메일 서비스에서 문서 가져오기를 설정하는 사용자는 기본적인 IMAP 서버 인증 방식만 사용할 수 있습니다. OAuth 2.0 프로토콜을 통해 Google 및 Microsoft 이메일 서비스 인증을 사용하려면 다음 작업을 수행해야 합니다.
  1. Google Cloud Platform 및/또는 Azure 포털에 애플리케이션을 등록합니다.
  2. 이러한 애플리케이션에 대한 계정 자격 증명(Client ID 및 Client secret)을 생성합니다.
  3. 생성한 자격 증명을 Consul에 전달합니다.
이 단계들은 Vantage를 설치하기 전후 모두 수행할 수 있습니다.

Google에 애플리케이션 등록하기

애플리케이션을 생성하려면 Google 계정이 있어야 합니다.

Google Cloud Platform에서 프로젝트 만들기

  1. Google Cloud Platform의 New Project 페이지로 이동합니다.
  2. 프로젝트 이름을 입력한 다음 Create를 클릭합니다.
프로젝트 이름 field가 표시된 Google Cloud Platform New Project 페이지
  1. 프로젝트가 생성되었다는 알림이 표시될 때까지 기다립니다.
프로젝트 생성 확인 알림을 표시하는 Google Cloud Platform 알림

애플리케이션 설정

  1. Google Cloud Console로 이동하여 해당 프로젝트를 선택합니다.
Google Cloud Console 프로젝트 선택 드롭다운
  1. 화면 왼쪽 메뉴에서 APIs & Services > OAuth consent screen을 선택합니다.
OAuth consent screen 옵션이 포함된 APIs & Services 메뉴가 표시된 Google Cloud Console
  1. External 사용자 유형을 선택하고 Create를 클릭합니다.
  2. 애플리케이션 이름을 입력합니다. User support email 드롭다운 목록에서 Gmail 주소를 선택합니다.
앱 이름과 user support email 항목이 포함된 OAuth consent screen 앱 정보 양식
  1. 페이지 하단의 Developer contact information 섹션에 개발자의 이메일을 입력하고 Save and continue를 클릭합니다.
이메일 입력란이 있는 Developer contact information 섹션
  1. Add or remove scopes를 클릭합니다. 그러면 오른쪽에 Update selected scopes 대화 상자가 열립니다.
  2. 아래의 텍스트를 복사하여 대화 상자 하단의 Manually add scopes 입력란에 붙여넣고 Add to table을 클릭합니다:
openid https://www.googleapis.com/auth2/userinfo.email https://www.googleapis.com/auth2/userinfo.profile https://mail.google.com/
범위를 수동으로 선택할 수도 있습니다. 다음 범위를 선택해야 합니다.
  • openid
  • https://mail.google.com/
  • ../auth2/userinfo.email
  • ../auth2/userinfo.profile
  1. Update를 클릭합니다. 그러면 Update selected scopes 대화 상자가 닫히고 선택한 범위가 표시됩니다.
Update selected scopes dialog showing the required OAuth scopes
  1. 화면 하단에서 Save and continue를 클릭합니다.
  2. Test users 페이지 설정을 건너뛰고 Summary 페이지로 이동하려면 Save and continue를 클릭합니다.
Summary 페이지에서 애플리케이션, 이메일 주소 및 구성된 권한에 대한 정보를 확인할 수 있습니다.

계정 자격 증명 생성

  1. 화면 왼쪽에 있는 메뉴에서 Credentials를 선택합니다.
  2. + Create credentials를 클릭하고 OAuth client ID를 선택합니다.
OAuth client ID 옵션이 표시된 Create credentials 드롭다운 메뉴
  1. Web application 유형을 선택합니다.
Application type 드롭다운에 Web application이 표시된 Create OAuth client ID 양식
  1. Authorized redirect URIs 섹션에서 + Add URI를 선택합니다.
Add URI 버튼이 있는 Authorized redirect URIs 섹션
  1. 표시되는 field에 리디렉션 URI를 입력합니다:
https://<Vantage 호스트 이름>/connectors-tokens-callback.html
Vantage 콜백 URL 및 CREATE 버튼이 있는 Redirect URI field
  1. Create를 클릭합니다.
표시되는 팝업 대화 상자에 Client IDClient secret 값이 표시됩니다. Client ID 및 Client secret 값이 표시된 OAuth client created 대화 상자 이 정보는 Vantage에서 tokenmanagement 서비스를 설정하는 데 필요합니다. 이 값을 지금 저장해 두거나, 나중에 APIs & Services > Credentials로 이동하여 생성한 OAuth 2.0 client identifier를 선택해 복사할 수 있습니다.

게시 및 검증

애플리케이션의 게시 상태는 APIs & Services > OAuth consent screen 섹션에 표시됩니다. Publishing status가 Testing으로 표시되고 Publish App 버튼이 있는 OAuth 동의 화면 Testing 상태의 애플리케이션은 테스터 목록에 추가된 사용자만 사용할 수 있습니다. 애플리케이션을 게시해야만 Google 계정을 가진 모든 사용자가 사용할 수 있습니다. Publish app을 클릭합니다. https://mail.google.com/ 범위는 애플리케이션이 기밀 사용자 데이터에 액세스하도록 허용하므로, 애플리케이션에 대한 검증이 필요하다는 메시지가 표시됩니다. 애플리케이션을 검증하려면 다음을 제공해야 합니다.
  • 애플리케이션의 개인정보처리방침에 대한 공식 링크
  • 애플리케이션을 사용하여 Google 사용자 데이터를 얻는 목적을 보여주는 YouTube 동영상
  • 기밀 사용자 데이터에 대한 액세스가 필요한 이유를 설명하는, Google을 수신자로 한 텍스트
  • Google Search Console에서 검증을 마친 모든 도메인의 전체 목록
Confirm을 클릭합니다. 애플리케이션의 상태가 In Production으로 변경됩니다. 또한 Prepare for verification 버튼이 표시되며, 여기에서 필요한 모든 검증 데이터를 제공할 수 있습니다. 검증 경고와 Prepare for Verification 버튼이 있는 In Production 상태의 OAuth 동의 화면
애플리케이션이 검증되기 전에는 최대 100명의 사용자만 사용할 수 있습니다. 사용자 카운터는 OAuth consent screen 섹션의 하단에 위치하며, 프로젝트 전체 기간 동안 초기화할 수 없습니다.
100명의 사용자 제한 중 0명이 사용 중으로 표시된 OAuth 사용자 제한 화면

Microsoft Azure에서 애플리케이션 등록

애플리케이션을 등록하려면 애플리케이션 등록 및 편집 권한이 있는 Azure Active Directory 테넌트가 필요합니다. Portal settings | Directories + subscriptions 페이지에서 적절한 디렉터리로 전환할 수 있습니다.

애플리케이션 등록

  1. App registrations 페이지로 이동합니다.
  2. New registration을 클릭합니다.
  3. 애플리케이션 이름을 입력하고 지원되는 계정 유형을 선택합니다.
Name 필드와 Supported account types 옵션이 표시된 Azure 애플리케이션 등록 양식
애플리케이션에 Multitenant 유형을 선택하면, 해당 애플리케이션은 모든 Azure AD 테넌트의 사용자가 사용할 수 있습니다. 이러한 애플리케이션은 검증이 필요하며, 이 검증은 Microsoft Partner Network 참가자에게만 제공됩니다. 참가자가 아닌 경우 Single tenant를 선택해야 하며, 이 경우 애플리케이션은 자신의 Azure AD 테넌트 사용자에게만 제공됩니다.
  1. Redirect URI 섹션에서 Web 플랫폼을 선택한 후 리디렉션 URI를 지정합니다:
https://<Vantage 호스트 이름>/connectors-tokens-callback.html
Web 플랫폼이 선택된 Azure Redirect URI 섹션
  1. Register를 클릭합니다.

애플리케이션 권한 설정

  1. API permissions 탭으로 이동합니다.
API permissions 메뉴 옵션이 강조 표시된 Azure 포털 사이드바
  1. Add permission을 클릭합니다.
  2. 표시되는 대화 상자에서 Microsoft Graph 섹션을 선택합니다.
Microsoft Graph 옵션이 강조 표시된 Request API permissions 대화 상자
  1. Delegated permissions를 선택합니다.
Delegated permissions 옵션이 선택된 Microsoft Graph permissions 대화 상자
  1. 다음 권한을 추가합니다:
    • email
    • IMAP.AccessAsUser.All
    • offline_access
    • openid
    • profile
  2. Add permissions를 클릭합니다. 그러면 대화 상자가 닫히고, 선택한 권한이 표시됩니다.

클라이언트 시크릿 생성

  1. Authentication 탭으로 이동합니다.
Azure portal sidebar showing Authentication menu option highlighted
  1. Implicit grant and hybrid flows 섹션에서 **ID tokens (used for implicit and hybrid flows)**를 선택합니다.
Implicit grant and hybrid flows section with ID tokens checkbox
  1. 화면 상단에서 Save를 클릭합니다.
  2. Certificates & secrets 탭으로 이동한 다음 New client secret를 클릭합니다.
Certificates & secrets tab showing New client secret button
  1. 열리는 대화 상자에서 클라이언트 시크릿의 이름과 만료 일자를 지정합니다.
최대 만료 기간은 24개월입니다.
  1. Add를 클릭합니다. 그러면 대화 상자가 닫히고 새 클라이언트 시크릿에 대한 정보가 표시됩니다.
페이지를 닫은 후에는 다시 액세스할 수 없으므로 Value를 반드시 복사하여 저장해 두어야 합니다. 이 값은 Vantage에서 tokenmanagement 서비스를 구성할 때 필요합니다.
Client secrets list showing the secret Value column highlighted 또한 클라이언트 식별자가 필요한데, 이는 Overview 탭의 Application (client) ID field의 값에서 복사할 수 있습니다. 식별자 값 위에 마우스 커서를 올리면 복사 아이콘이 표시됩니다. Azure application Overview showing Application (client) ID field highlighted

애플리케이션 검증

애플리케이션을 모든 Azure AD 테넌트의 사용자가 사용할 수 있도록 하려면 검증이 필요합니다. 단일 Azure AD 테넌트의 계정만 사용하는 경우에는 검증이 필요하지 않습니다. Microsoft Partner Network 구성원만 검증을 진행할 수 있습니다.
  1. Branding & properties 탭으로 이동합니다.
Azure 포털 사이드바에서 Branding & properties 메뉴 옵션이 강조 표시된 모습
  1. Publisher domain field에 도메인이 지정되어 있는지 확인합니다. 필요한 경우 Configure a domain을 클릭하여 도메인을 구성합니다.
Azure Branding & properties 페이지에서 Publisher domain field와 Update domain 옵션이 표시된 모습
도메인 이름 옆에 표시되는 경고 아이콘은 지정된 도메인을 사용하는 애플리케이션을 검증할 수 없음을 의미합니다. Update domain을 클릭하여 Azure Active Directory 테넌트와 관련된 다른 유효한 도메인을 지정하십시오. 또는 새 도메인을 검증할 수도 있습니다.
  1. Publisher verification 섹션에서 MPN ID를 입력한 뒤 Verify and save를 클릭합니다.
MPN ID를 추가할 수 있는 필요한 권한이 없는 경우, 모든 게시자 검증 요구 사항이 충족되는지 확인하십시오.
검증이 성공적으로 완료되면 Publisher display name field 옆에 해당 아이콘이 표시됩니다.

Consul에 자격 증명 전달

이미 Vantage가 설치되어 있는 경우 Microsoft 및/또는 Google 이메일 서비스 인증을 위해 생성된 계정 자격 증명을 수동으로 입력하기 위해 Consul을 사용해야 합니다. OAuth 2.0 프로토콜과 관련된 기능은 TokenManagement 서비스에 정리되어 있습니다.
설정을 시작하기 전에 kubectl 명령줄 도구가 설치되어 있고 Kubernetes 클러스터에 연결되어 있는지 확인하십시오.
  1. 다음 명령을 실행하여 Consul 웹 인터페이스에 액세스합니다:
kubectl port-forward -n abbyy-infrastructure service/consul-ui 8500:80
그런 다음 http://localhost:8500/ui/dc1/kv/secret/로 이동합니다.
  1. 열린 Key/Value 탭에서 적절한 Vantage 배포 범위를 선택합니다. 그런 다음 vantage 프로젝트를 선택합니다.
tokenmanagement가 강조 표시된 서비스 목록을 보여주는 Consul vantage 프로젝트
  1. tokenmanagement 서비스를 선택합니다.
oAuthClientConfiguration 섹션을 보여주는 Consul tokenmanagement 서비스
  1. oAuthClientConfiguration 섹션으로 이동합니다.
google 및 microsoft 옵션을 보여주는 Consul oAuthClientConfiguration
  1. 사용자 데이터를 설정하려는 서비스(google 또는 microsoft)를 선택합니다.
clientId 및 clientSecret 키가 있는 google 서비스를 보여주는 Consul oAuthClientConfiguration 섹션
  1. clientId 키를 선택합니다.
  2. 이전에 저장해 둔 Client ID 값을 입력 필드에 복사하여 붙여넣은 다음 Save를 클릭합니다.
Save 버튼이 있는 Consul clientId 값 편집기
  1. clientSecret 키에 대해서도 6번과 7번 단계를 반복합니다.
필요한 경우, 다른 이메일 서비스에 대해서도 5번부터 8번까지의 단계를 반복합니다.
  1. 다음 명령을 실행하여 tokenmanagement 서비스를 다시 시작합니다:
kubectl -n abbyy-vantage rollout restart $(kubectl -n abbyy-vantage get deployments -l app.kubernetes.io/component=tokenmanagement -o name)

Client Secret 업데이트

Client secret 값은 서버 측 클라이언트 식별에 사용되며 기밀 정보입니다. 보안상 이 값은 주기적으로 변경해야 합니다. Azure Active Directory와 같은 일부 서비스에서는 이러한 값의 유효 기간을 제한합니다. 새 Client secret이 생성되면 해당 Consul 키의 값도 함께 업데이트해야 합니다.
Client secret이 업데이트되면 사용자는 Document skill의 Input activity에서 이메일 서비스 연결을 처음부터 다시 설정해야 합니다. 그렇지 않으면 Vantage가 메일박스에 연결하여 이메일을 가져올 수 없습니다.

Google에서 Client Secret 업데이트

  1. Google Cloud Console로 이동하여 해당 프로젝트를 선택합니다.
  2. 왼쪽 메뉴에서 APIs & Services > Credentials를 선택합니다.
  3. OAuth 2.0 Client IDs 섹션에서 IMAP 서버에 연결할 때 인증에 사용하는 식별자를 선택합니다.
  4. Reset secret을 클릭합니다.
Reset Secret 버튼이 표시된 Google Cloud OAuth 클라이언트 세부 정보
  1. 팝업 대화 상자에서 Reset을 클릭합니다. 그러면 Client secret 값이 업데이트되고, 이전 값은 더 이상 유효하지 않게 됩니다.
  2. 자격 증명이 포함된 JSON 파일을 다운로드합니다. 또는 화면 오른쪽에 표시되는 Client secret 값을 복사합니다.
Download JSON 버튼과 Client secret field가 표시된 Google Cloud OAuth 클라이언트 세부 정보

Microsoft Azure에서 클라이언트 비밀(Client secret) 업데이트

  1. App registrations 페이지로 이동하여 IMAP 서버를 사용한 인증에 이용되는 애플리케이션을 선택합니다.
Azure App registrations page showing Owned applications list with Example App
  1. Certificates & secrets 탭으로 이동한 후 New client secret을 클릭합니다.
  2. 표시되는 대화 상자에서 클라이언트 비밀의 이름과 만료 날짜를 지정합니다.
  3. Add를 클릭합니다. 그러면 대화 상자가 닫히고 새 클라이언트 비밀에 대한 정보가 표시됩니다. 이 페이지를 닫은 후에는 다시 확인할 수 없으므로 Value 값을 복사해 안전한 위치에 저장하는 것이 중요합니다.
  4. 현재 클라이언트 비밀이 아직 만료되지 않았다면, 새 클라이언트 비밀만을 사용해 클라이언트를 식별하도록 기존 클라이언트 비밀을 삭제할 수 있습니다.

Consul에서 Client Secret 업데이트

Passing Credentials to Consul에 설명된 단계를 따르되, 6번과 7번 단계(clientId 값을 복사하는 단계)는 생략합니다.