Microsoft Office 365
Office 365를 Okta에 연동하기 위한 초간단 설명서
주요 사항
필요 Microsoft Office 365 라이선스:
Microsoft 365 Personal/Family를 제외한 모든 기업/교육용 라이선스인 경우, "Entra ID"에서 WS-Federation을 기본(Free)으로 제공하기에 Okta와 SSO 구성에 있어 라이선스 제한 사항은 없습니다.
Okta 구성을 위한 별도 계정 필요
"[email protected]" 형태에 전역 관리자 (Global Administrator) 권한이 부여된 계정 필요
Okta와 구성 단계에서 특정 직원의 관리자 계정을 통한 인증은 권장 드리지 않습니다. 이는, 직원의 퇴사 및 계정 정지로 인해 API 및 토큰 갱신 이슈에 영향을 주며, 이로 인해 프로비저닝 오류가 발생합니다.
별도 커스텀 도메인 필요
Okta와 구성 시 Office 365에 "테넌트 도메인(onmicrosoft.com)"은 페더레이션이 불가합니다.
이는, '비상구(Break Glass)' 개념으로 외부 IDP에 이슈가 발생되면, 외부 IDP 의존성을 무시하고 관리자가 직접 Microsoft에 연결하여 관리(Managed)하기 위한 Microsoft 관리/운영 방안이기 때문입니다.
그래서 Office 365에 "테넌트 도메인(onmicrosoft.com)"만 존재한다면 별도 커스텀 도메인이 필요합니다. (도메인 추가 가이드)
주의 사항
Okta PoC / Trial 을 통한 Office 365 검증
현재 내부에서 정상적으로 운영 중인 Office 365를 통해 Okta와 Office 365 구성 및 테스트는 권장 드리지 않습니다. 별도 Office 365의 테스트 테넌트 환경을 구현하고 Okta와 구성 및 검증하시길 권장 드립니다.
사용자 로그인 경험 변경에 따른 공지 및 교육
Okta를 통한 IDP 인증 구성을 전환(Managed → Federated)하는 순간 구성한 도메인의 모든 사용자는 Okta를 통한 인증으로 전환됩니다. 이에 따라 Okta 구성 작업 간에 로그인 이슈가 발생함을 사전에 공지하고, IDP 인증으로 전환되는 사용자에 대해 교육이 필요합니다.
서비스 계정 (Service Accounts) 식별 및 조치
프린터, SMTP 발송 등에 사용되는 서비스 계정이 커스텀 도메인(@company.com)으로 적용되어 있다면, Okta로 페더레이션 됨에 따라 서비스 계정 또한 Okta로 인증을 요청하기 때문에 서비스 계정의 로그인 이슈가 발생할 수 있습니다. 그렇기에 페더레이션 전환 전, 서비스 계정들의 UPN(@company.com)을 테넌트 도메인(@...onmicrosoft.com)으로 변경하시길 권장드립니다.
Ⅰ. Okta-Office 365 연동
1. SSO 통합 가능
2. 프로비저닝 기능
해당 기능은 Okta의 Lifecycle Management License가 필요합니다.
프로비저닝 기능은 2가지 방향성의 타입으로 제공되며, 양방향으로 구성 시 출동과 오류가 발생할 수 있습니다. 아래 기능 사항을 참고하시어 1가지 타입의 단방향으로 기능을 구성하시길 권장드립니다.
Okta to App (Okta → Office 365)
Okta의 사용자를 기준으로 Office 365에 다양한 프로비저닝 유형으로 Push/동기화 하는 기능을 제공합니다.
아래와 같은 운영/관리 사항에 대해 프로비저닝 기능을 지원합니다.
사용자 및 그룹 통합 관리: Office 365의 사용자 그룹과 해당 그룹에 속한 사용자를 Okta를 통해 중앙에서 통합 관리할 수 있습니다.
계정 자동 프로비저닝(Create/Update/Deactivate): Okta에서 Office 365 애플리케이션에 사용자를 할당(Assign)하면, Office 365에도 계정이 자동으로 생성되며, 이후 정보 업데이트 및 비활성화(사용 안 함) 상태가 자동으로 적용됩니다.
프로필 정보 동기화(Attribute Sync): Okta에서 사용자의 프로필 정보(이름, 전화번호, 부서 등)가 변경되면, 해당 변경 사항이 Office 365 사용자 정보에도 자동으로 동기화(Sync)됩니다.
계정 비활성화 및 권한 회수: Okta에서 사용자를 비활성화(Deactive)하거나 앱 할당을 해제하면, 즉시 Office 365 계정이 Okta에서 설정한 Deactivation 옵션(로그인 차단/라이선스 회수/사용자 삭제/유예 기간)에 의해, Office 365에 동기화 됩니다. (로그인 차단 : 계정은 즉시 비활성화되며, 기존 로그인한 사용자의 세션은 유지되고 세션 만료 이후 접속이 불가합니다.)
비밀번호 관리(Password Sync): Okta의 비밀번호를 Office 365와 동일하게 동기화(Sync)하거나, 보안을 위해 Okta에서 Office 365용 비밀번호를 랜덤하게 생성하여 관리할 수 있습니다.
App to Okta (Office 365 → Okta)
사용자의 프로필 원본(Profile Master)은 Office 365에서 관리 주체로 운영하며, Office 365에 사용자를 Okta로 Import하여 Okta의 다른 기능을 활용하기 위해 지원하는 기능입니다.
아래와 같은 운영/관리 사항에 대해 프로비저닝 기능을 지원합니다.
Office 365의 사용자 및 그룹 가져오기(Import): Office 365에 존재하는 사용자 계정과 그룹 정보를 Okta로 가져와서 Okta 내의 사용자로 생성하거나 매칭할 수 있습니다. (Import한 그룹은 Okta에서 Edit/Delete 불가, Import Groups 옵션을 통해 Okta에 Office 그룹을 제거 할 수 있습니다.)
프로필 동기화(Update User Attributes): Office 365에서 사용자의 속성(이름, 부서, 직함 등)이 변경되면, 해당 변경 사항이 Okta의 사용자 프로필에도 자동으로 동기화(Sync)됩니다.
사용자 매칭(User Matching): Office 365에서 가져온 사용자가 이미 Okta에 존재하는 경우, 이메일 등의 기준을 통해 기존 계정과 자동으로 연결(Link)하여 중복 생성을 방지합니다.
Office 365 그룹 연동: Office 365의 보안 그룹(Security Group)이나 배포 그룹(Distribution Group) 등을 Okta로 가져와, Okta 내의 그룹 정책이나 할당(Assign)에 활용할 수 있습니다.
Profile Master 설정: 필요한 경우 Office 365를 'Profile Master'로 설정하여, 사용자 정보의 수정 권한을 Office 365에만 부여하고 Okta에서는 수정을 제한할 수 있습니다.
"주체/객체"의 방향성
Okta (주체) ➔ Office 365 (객체)
Office 365 (주체) ➔ Okta (객체)
관리/운영 목적
Okta 계정을 기반으로 O365 계정 자동 생성 및 관리
기존 O365 계정을 Okta로 가져오거나, O365 변경사항을 Okta에 반영
주요 기능
Okta를 통한 계정 생성(Create), 수정(Update), 비활성화(Deactivate)
가져오기(Import), 매칭(Matching), 프로필 마스터링
비밀번호 (참고사항)
Okta가 Office 365의 패스워드를 관리하는 주체
Office 365의 패스워드를 Okta가 수집하여 적용할 수 없음
Ⅱ. Okta-Office 365 연동 구성
1. Office 365 SSO 구성
1.1 [Office 365] 보안 기본값 설정
경로: portal.azure.com ➡ Microsoft Entra ID ➡ 관리 ➡ 속성 ➡ 보안 기본값 관리 ➡ 비활성화(권장하지 않음) ➡ 저장

1.2 [Office 365] 도메인 확인
Microsoft Office 365에는 여러 도메인 중 하나를 반드시 기본(Default) 도메인으로 설정해야 합니다. (새 사용자를 만들 때 기본적으로 선택되는 도메인입니다.) 해당 기본(Default) 도메인은 페더레이션(SSO 연동) 대상으로 설정할 수 없습니다. 이는 신규 사용자 및 서비스 계정에 대한 치명적인 문제가 발생할 수 있는 부분을 방지하기 위한 안전 장치입니다.
Custom 도메인을 페더레이션 하는 부분은 "1.4 [Okta] Office 365 앱 추가 및 설정"에서 설정합니다.
경로: portal.azure.com ➡ Microsoft Entra ID ➡ 관리 ➡ 사용자 지정 도메인 이름
Okta와 SSO 구성을 하고자 하는 도메인은 기본(Default) 도메인으로 적용되어 있으면 안됩니다. (Okta와 구성한 이후 다시 기본(Default) 도메인으로 변경 불가)

1.3 [Office 365] Office 365 계정 생성
Okta에 연동시킬 Office 365 계정을 생성하고 해당 계정은 반드시 전역 관리자의 역할을 부여해야 합니다.
Federation 도메인이 아닌 "onmicrosoft.com" 도메인의 계정으로 생성해야 합니다.
Ws-Federation 및 Provisioning 시에 기재해야 하는 Admin ID, PW에 해당 계정 ID, PW를 넣어줍니다.
1.4 [Okta] Office 365 앱 추가 및 설정
경로: Application ➡ Application ➡ Browse App Catalog






Seats (optional):
Office 365 라이선스의 초과 사용을 제한하기 위해 Okta를 통해 Assign 사용자의 수로 제한하는 기능입니다.
Application visibility:
Okta 사용자 대시보드에서 Office 365의 서비스 앱이 노출되지 않도록 설정하는 기능입니다.
Browser plugin auto-submit:
Okta 브라우저 플러그인을 통해 Office 365 앱 연결을 지원하는 기능입니다.


자동(Automatic) 방식은 Okta가 API(Graph API)를 통해 하나의 Office 365 앱에서 여러 도메인을 통합하여 구성할 수 있습니다. (Okta 사용자 도메인을 자동으로 매핑)
수동(Manual using PowerShell)의 경우, Office 365 앱에 1개의 도메인만 구성이 가능합니다. (Office 365 앱에 고유값으로 특정 도메인만 1:1로 매핑되어 구성됨)
관리자가 구성 시 인증한 Microsoft 계정의 권한을 위임 받아 API(Graph API)를 통해 자동으로 페더레이션 구성을 지원합니다.
Okta 공식 문서 : Configure SSO using WS-Federation - automatic method
"Automatic (recommended)" → "Authenticate with Microsoft Account"을 선택합니다.

전역 관리자(Global administrator) 권한의 Microsoft 계정을 입력 합니다.

암호를 통해 인증 진행합니다.

"수락"을 선택하여 Okta에 Graph API 권한을 부여 합니다.

정상적으로 인증이 완료되면, "WS-Federation has been completed." 메세지가 확인됩니다. "Fetch and Select"를 통해 Office 365 앱에 인증할 도메인 대상을 선택합니다.

페더레이션 도메인 선택 완료 후 "Select" 선택합니다.

기본(Default) 도메인은 구성 불가 추가 옵션 사항은 필수가 아닌 선택사항으로 검토 후 "Done"을 통해 구성을 마칩니다.

Okta에 계정에 대한 관여 없이 직접 모든 설정과 구성을 관리자가 Powershell을 통해 Microsoft Graph 모듈로 직접 구성합니다.
Okta 공식 문서 : Configure SSO with WS-Federation - manual method
수동 구성 방식은 Okta에 구성한 Office 앱 1개당 단 하나의 Office 365 도메인만 페더레이션할 수 있습니다. 추가 도메인 구성은 관리자가 직접 동일하게 앱과 Powershell을 통해 별도 구성 작업을 반복하여야 합니다.
사전 준비 사항
PowerShell을 관리자 권한으로 실행한 후, 최신 모듈을 설치 필요.
"View Setup Instructions"을 선택합니다.

(Powershell) Office 365 테넌트의 관리자 자격 증명으로 로그인을 진행합니다.
View Setup Instructions에서 제공하는 가이드에 따라 아래 명령어로 진행합니다.


"회사 또는 학교 계정" 선택 후 "계속" 선택 
전역 관리자 권한이 있는 Office 365 테넌트 계정으로 로그인 합니다. 
"조직 대신 동의" 선택 후 "수락" 선택합니다. 
"아니요, 이 앱만"을 선택하여 Microsoft Graph에 권한을 부여합니다. 
최종 구성 완료 결과
Microsoft Graph를 통해 페더레이션 구성을 진행합니다.
View Setup Instructions에서 제공하는 가이드에 따라 아래 명령어로 진행합니다.

"<DomainName>"을 페더레이션 구성할 도메인으로 변경 후, 명령어를 Powershell에 실행합니다. 
최종 페더레이션 구성이 완료되면 아래 파란 음영 항목처럼 구성 정보를 확인할 수 있습니다. - 아래 명령어를 통해 페더레이션 구성 정보를 별도로 확인할 수 있습니다.
Get-MgDomainFederationConfiguration -DomainId "Domain"
Okta 관리 콘솔에서 Office 앱에 추가 설정 및 구성을 완료 합니다.
"Manual using PowerShell" 선택 및 페더레이션 구성한 도메인을 입력합니다.

추가 옵션 사항은 필수가 아닌 선택사항으로 검토 후 "Done"을 통해 구성을 마칩니다.

2. 프로비저닝 구성
주요사항
프로비저닝 기능에 상세한 설명은 2.프로비저닝 기능 을 통해 확인 바랍니다.
Okta가 전역 관리자 권한이 부여 된 Office 365 테넌트 계정(.onmicrosoft.com)을 통해 API 권한이 부여되며 이를 통해 프로비저닝 구성이 적용됩니다.
Office 365 테넌트 계정에 대한 주요 사항은 해당 링크를 통해 확인 바랍니다.
2.1 [Okta] API Integration 설정
프로비저닝 구성을 위한 테넌트 계정은 SSO 자동 구성에서 권한을 부여한 계정을 사용하시면 되며, 만약 수동으로 SSO 구성을 하였다면 "1.3 [Office 365] Office 365 계정 생성"에서 가이드 한 테넌트 계정을 통해 인증 및 권한 부여를 진행해 주시길 권장 드립니다.
경로: Application ➡ Application ➡ Microsoft Office 365 검색 ➡ Microsoft Office 365 앱 선택






2.2 프로비저닝 설정(세부기능)
경로: Application ➡ Application ➡ Microsoft Office 365 앱 ➡ Provisioning

2.2.1 Okta to App (Okta → Office 365)
Okta의 사용자를 기준으로 Office 365에 다양한 프로비저닝 유형으로 Push/동기화 하는 기능을 제공합니다.

Provisioning to App
Office 365 Provisioning Type
Okta 공식 문서 : Provisioning options for Office 365
Provisioning Default Options
2.2.2 App to Okta (Office 365 →Okta)
Microsoft Office 365에 존재하는 사용자 정보와 프로필 속성을 Okta로 가져와(Import), Okta 내의 기존 계정과 연결(Match)하거나 새로운 Okta 계정을 생성/업데이트하는 기능을 제공합니다.

Microsoft Office 365 사용자를 Okta로 가져오기 전 주요 검토 사항
M365에서 사용자는 활성화 상태여야 합니다.
Office 365 라이선스가 부여된 사용자에 한하여 Okta로 가져올 수 있습니다.
[주의사항]
M365에 구성원 중, 특정 도메인의 사용자만 Okta로 Import 할 수 없습니다.
Okta의 Office 365 통합은 Microsoft 365 테넌트(Tenant) 단위로 연결됩니다. Okta가 Microsoft Graph API를 통해 사용자를 조회할 때, 테넌트 전체를 대상으로 호출하며 API 호출 단계에서 특정 도메인(@domain.com)만 필터링하는 기능을 제공하지 않습니다. 따라서 M365(Entra ID) 테넌트 내에 라이선스가 할당된 모든 사용자가 Import 대상으로 수집되며, 특정 도메인 사용자만 선별적으로 가져오는 것은 구조적으로 지원하지 않습니다
General: Office 365 사용자를 Okta로 가져오기(Import) 위한 스케줄 기능을 제공하며, Okta 사용자 생성 및 매칭을 위한 ID 기준을 정의하여 설정할 수 있습니다.
2.3 프로비저닝 상태 확인
경로: portal.azure.com ➡ Entra ID ➡ 사용자 ➡ 모든 사용자 ➡ 확인할 사용자 ID 클릭 ➡ 속성


경로: Okta 관리콘솔에서 "Applications" ➡ "Applications" ➡ Microsoft Office 365 앱 선택 ➡ Assignments ➡ 확인할 사용자 오른쪽 연필 모양 선택



III. 앱 할당
[주의 사항]
M365 라이선스&역할(Role)에 대해 세부적으로 분리하여 부여를 구성해야 하는 경우, Okta 그룹명을 활용하여 각 라이선스와 역할을 명시하고 운영 및 관리하시기를 권장 드립니다.

1. 개별 사용자 (Individual Assignment)
[Assign 구성]
Assignments > Assign to People 메뉴를 통해 수행합니다.
Assign 할 사용자 검색 후 "Assign" 선택 후 "Done"을 통해 개별 사용자의 Assign을 완료 합니다.
프로비저닝 구성이 되어 있다면, 해당 Assign 할 사용자 검색 후 "Assign" 선택 단계에서 아래와 같이 라이선스 & 역할(Role)을 할당할 수 있는 옵션이 제공됩니다.
라이선스에 포함된 특정 서비스만 할당도 가능합니다.
2. 그룹에 포함된 사용자 (Group Assignment) [권장사항]
[Assign 구성]
Assignments > Assign to Groups 메뉴를 통해 수행합니다.
![]()
Assign 할 신규 생성한 그룹 또는 기존 그룹에 대해 검색 후 "Assign" 선택 후 "Done"을 통해 그룹에 포함된 사용자의 Assign을 완료 합니다.
프로비저닝 구성이 되어 있다면, 그룹 "Assign" 선택 단계에서 아래와 같이 라이선스 & 역할(Role)을 할당할 수 있는 옵션이 제공됩니다.
라이선스에 포함된 특정 서비스만 할당도 가능합니다.
[주요 사항] Office 365 그룹 할당 시 우선순위(Priority) 적용
Okta는 사용자가 애플리케이션에 할당된 여러 그룹에 중복 소속되어 있을 경우, 그룹 우선순위(Group Priority) 설정에 따라 라이선스와 역할을 결정합니다.
우선순위 기반 단일 적용: 사용자가 여러 할당 그룹에 동시에 속해 있을 때, 라이선스 및 역할 설정은 병합(Merge)되지 않고 가장 높은 우선순위(Priority 1)를 가진 그룹의 설정 하나만 적용됩니다.
순위 결정 방식: 우선순위 숫자가 작을수록(1, 2, 3...) 높은 권한을 가집니다. (Priority 1 > Priority 2)

IV. 최종 사용자 경험
1. Okta Dashboard 로그인
2. Office365에 직접 로그인
Last updated






























