Microsoft Teams를 Mattermost에 연결
Mattermost와 Microsoft Teams가 혼합된 환경에서 사일로를 극복하고 Microsoft Teams의 실시간 채팅 알림을 Mattermost로 포워딩하세요. 설정은 Microsoft Teams에서 시작하여 Mattermost에서 완료됩니다.
Mattermost와 Microsoft Teams가 혼합된 환경에서 사일로를 극복하고 Microsoft Teams의 실시간 채팅 알림을 Mattermost로 포워딩하세요.
배포#
설정은 Microsoft Teams에서 시작하여 Mattermost에서 완료됩니다.
Azure에서 OAuth 애플리케이션 설정#
- 관리자 Azure 계정을 사용하여 portal.azure.com 에 로그인합니다.
- 앱 등록 으로 이동합니다.
- 페이지 상단의 새 등록 을 선택합니다.
- 다음 값으로 양식을 작성합니다:
- 이름:
Mattermost MS Teams - 지원되는 계정 유형:
기본값(단일 테넌트) - 플랫폼:
웹 - 리다이렉트 URI:
https://(MM_SITE_URL)/plugins/com.mattermost.msteams-sync/oauth-redirect - 이 화면에서 나중에 Mattermost에서 플러그인을 구성하는 데 필요한 애플리케이션(클라이언트) ID 와 디렉터리(테넌트) ID 를 기록합니다.
- 왼쪽 창에서 인증서 및 비밀 로 이동합니다.
- 새 클라이언트 암호 를 선택합니다. 설명을 입력하고 추가 를 선택합니다. 클라이언트 암호가 생성되면 시크릿 ID가 아닌 새 시크릿 값을 복사합니다. 이 값은 나중에 Mattermost 시스템 콘솔에서 사용합니다.
- 왼쪽 창에서 API 권한 으로 이동합니다.
- 권한 추가 를 선택한 다음 오른쪽 창에서 Microsoft Graph 를 선택합니다.
- 위임된 권한 을 선택하고 아래로 스크롤하여 다음 권한을 선택합니다:

(MM_SITE_URL) 을 Mattermost 서버의 사이트 URL로 변경합니다. 등록 을 선택하여 양식을 제출합니다.



Chat.ReadChatMessage.ReadFiles.Read.Alloffline_accessUser.Read
- 권한 추가 를 선택하여 양식을 제출합니다.
- 다음으로 권한 추가 > Microsoft Graph > 애플리케이션 권한 을 통해 애플리케이션 권한을 추가합니다.
- 다음 권한을 선택합니다:
Chat.Read.AllPresence.Read.All
- 권한 추가 를 선택하여 양식을 제출합니다.
- ...에 대한 관리자 동의 부여 를 선택하여 애플리케이션에 대한 권한을 부여합니다.
유료 API 활성화(및 연결된 유료 구독) 확인#
채팅 알림 구독에는 OAuth 앱을 유료 Azure 구독과 연결하는 것이 필요합니다. 이 설정을 완료하려면 https://learn.microsoft.com/en-us/graph/metered-api-setup 의 지침을 따르세요.
유료 API를 구성하지 않으면 한 달에 낮은 변경률로 제한되는 평가 모델(Mattermost에서 구성 가능)을 사용해야 합니다. 라이브 프로덕션 환경에서는 속도 제한으로 인해 메시지 수신이 중단될 수 있으므로 평가 모델 구성 사용을 강력히 피할 것을 권장합니다. 자세한 내용은 이 Microsoft 문서 를 참조하세요.
Azure 내 구성이 완료되었습니다.
Mattermost에서 Microsoft Teams 통합 설치 및 구성#
이 설치 지침은 이미 v9.8.0(이상)을 실행 중이고 PostgreSQL을 사용하도록 구성된 Mattermost 인스턴스가 있다고 가정합니다. 이 Mattermost 통합은 MySQL 데이터베이스를 지원하지 않습니다.
- 시스템 관리자로 Mattermost 워크스페이스 에 로그인합니다.
- Mattermost에서 제품 메뉴 를 열고 앱 마켓플레이스 를 선택합니다.
- MS Teams를 검색하거나 스크롤하여 찾은 후 설치 를 선택합니다.
- 설치가 완료되면 구성 을 선택합니다. 시스템 콘솔로 이동합니다.
- 위의 Azure에서 OAuth 앱 설정에서 얻은 값으로 테넌트 ID, 클라이언트 ID, 클라이언트 암호 를 구성합니다.
추가 구성 옵션은 Microsoft Teams 플러그인 구성 설정 문서를 참조하세요.
- Mattermost v9.11.2(ESR) 및 Mattermost Cloud v10부터 이 플러그인의 v2.0이 Mattermost 서버에 사전 패키지로 제공됩니다. Mattermost 배포가 v9.11.2 이전 릴리스인 경우, 최신 플러그인 바이너리 릴리스 를 다운로드하여 시스템 콘솔 > 플러그인 관리 를 통해 서버에 업로드하세요.
- 웹훅 시크릿과 암호화 키의 복사본을 만들어 두는 것을 권장합니다. 한 번만 표시됩니다.
성능 모니터링#
Prometheus와 Grafana를 사용하여 이 플러그인에 대한 성능 모니터링 및 성능 알림 을 설정할 수 있습니다.
- 모니터링을 통해 데이터베이스 호출, HTTP 요청 및 API 지연 시간을 포함한 플러그인의 전반적인 상태를 사전에 검토할 수 있습니다.
- 알림을 통해 통합이 오프라인 상태와 같은 문제가 발생할 때 감지하고 조치를 취할 수 있습니다.
namespace 로 필터링됩니다.

자체 호스팅 Mattermost 배포를 위한 수정이 필요합니다. 지원을 위해 연락하는 방법에 대한 자세한 내용은 아래의 도움 받기 섹션을 참조하세요.
사용#
Microsoft Teams 알림 수신을 시작하려면 연결된 Microsoft Teams에서 협업 제품 문서를 참조하세요.
업그레이드#
새 버전이 출시될 때 이 통합을 업데이트하는 것을 권장합니다. 일반적으로 업데이트는 원활하게 이루어지며 Mattermost의 사용자 경험을 방해하지 않습니다. 최신 릴리스, 이전 릴리스 및 호환성 고려 사항은 릴리스 페이지 를 방문하세요.
자주 묻는 질문#
Mattermost의 이메일 주소가 Microsoft Teams의 이메일 주소와 일치하지 않습니다: 그래도 연결할 수 있나요?#
아니요. 현재 동일한 이메일 주소를 가진 계정만 연결할 수 있습니다. Mattermost 계정과 일치하는 이메일 주소를 지정하세요.
다른 이메일 주소를 가진 Microsoft Teams 계정에 Mattermost 계정을 연결하는 것이 워크스페이스에 필요한 경우, 피드백을 공유할 수 있는 오픈 GitHub 이슈 가 있습니다.
미사용 데이터 및 전송 중인 데이터의 암호화는 어떻게 처리되나요?#
Mattermost 구성에 저장된 구성된 클라이언트 암호는 Microsoft Graph API에 대한 앱 전용 접근에 사용됩니다. 사용자가 통합을 사용하여 Microsoft Teams에 연결하면, 결과 액세스 토큰이 암호화되어 연결된 사용자를 대신하여 접근에 사용하기 위해 Mattermost 데이터베이스에 저장됩니다. 통합과 Microsoft Graph API 간의 모든 통신은 TLS를 통해 이루어집니다.
알림이 활성화되면 연결된 사용자가 수신한 채팅과 파일 첨부 파일은 해당 사용자와 통합에 의해 생성된 봇 계정 사이의 다이렉트 메시지 채널에 게시물로 저장됩니다.
데이터베이스 또는 네트워크 보안 고려 사항이 있나요?#
통합에 특별한 사항은 없으며 Mattermost 인스턴스에 적용되는 것 이상의 사항은 없습니다.
규정 준수 고려 사항(예: GDPR, PCI)이 있나요?#
통합에 특별한 사항은 없으며 Mattermost 인스턴스에 적용되는 것 이상의 사항은 없습니다.
이 통합의 아키텍처는 어떻게 되나요?#
통합은 Microsoft Graph API에서 변경 알림을 구독합니다. 이러한 변경 알림은 Mattermost에 Microsoft Teams 내의 새로운 또는 업데이트된 채팅에 대해 알립니다. 변경 알림을 수신하면 통합은 앱 전용 접근(클라이언트 암호를 통해)과 위임된 접근(연결된 사용자를 통해)을 조합하여 이러한 채팅의 내용을 가져오고 Mattermost 내에서 적절하게 표시합니다.
도움 받기#
Mattermost 고객은 Mattermost 지원 케이스 를 열 수 있습니다. 버그를 보고하려면 Mattermost for Microsoft Teams Notifications 플러그인 저장소 에서 GitHub 이슈를 열어주세요.
질문, 피드백 및 지원을 위해 Mattermost 커뮤니티 서버 의 공개 통합 및 앱 채널 에 참여하세요.
