인증서 기반 인증 또는 앱 전용 인증 설정
애플리케이션 객체를 사용한 인증에는 초기 온보딩이 필요합니다. 응용 프로그램과 서비스 주체는 같은 의미로 사용되지만 응용 프로그램은 클래스 개체와 같고 서비스 주체는 클래스의 인스턴스와 같습니다.
Azure Active Directory의 애플리케이션 및 서비스 주체 개체에 대한 자세한 내용은 Azure Active Directory의 애플리케이션 및 서비스 주체 개체를 참조하세요. Azure AD에서 응용 프로그램을 만드는 방법에 대한 자세한 시각적 흐름은 리소스에 액세스할 수 있는 Azure Active Directory 응용 프로그램 및 서비스 주체 만들기를 참조하세요.
- Azure AD에 응용 프로그램을 등록합니다.
- 애플리케이션에 API 권한을 할당합니다.
응용 프로그램 개체가 리소스에 액세스하려면
Exchange.ManageAsApp및Mail.ReadWrite사용 권한이 있어야 합니다. - 자체 서명된 인증서를 생성하고 개인 키에 대한 액세스 권한을 부여합니다.
앱 전용 액세스 토큰을 요청하는 동안 Azure AD에 대해 응용 프로그램을 인증하는 데 사용되는 자체 서명된 X.509 인증서를 만들고 구성합니다. CNG(Next Generation) 인증서는 Exchange를 사용한 앱 전용 인증에 지원되지 않습니다. CNG 인증서는 최신 Windows 버전에서 기본적으로 만들어집니다. CSP 키 제공자의 인증서를 사용해야 합니다.
(-Provider = 'Microsoft Strong Cryptographic Provider')입니다. - Azure AD 애플리케이션에 인증서를 연결합니다.
- 애플리케이션에 Azure AD 역할을 할당합니다.
애플리케이션에는
규정 준수 관리자Azure AD 역할이 할당되어 있어야 합니다. - 새 서비스 주체를 만듭니다.
1단계: Azure AD에서 응용 프로그램 등록
- Azure AD 포털을 엽니다.
- 페이지 맨 위에 있는 검색 상자에 앱 등록을 입력합니다.
- 서비스 섹션의 결과에서 앱 등록을 선택합니다.
또는 https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade 를 사용하여 앱 등록 페이지로 이동할 수 있습니다.
- 앱 등록 페이지에서 새 등록을 선택합니다.
- 애플리케이션 등록 페이지에서 다음 설정을 구성합니다.
필드 설명 이름 설명적인 내용을 입력합니다. 예를 들어 ExO PowerShell CBA입니다. 지원되는 계정 유형 이 조직 디렉터리의 계정 전용(<YourOrganizationName> 전용 - 단일 테넌트)이 선택되어 있는지 확인합니다. Exchange Online 위임된 시나리오에 대해 애플리케이션을 다중 테넌트로 만들려면 모든 조직 디렉터리의 계정(모든 Azure AD 디렉터리 - 다중 테넌트) 값을 선택합니다.
- 앱 등록을 완료한 후 등록 을 선택하고 앱 페이지를 닫습니다.
2단계: 애플리케이션에 API 권한 할당
이 섹션의 절차는 새 앱에 대해 자동으로 구성된 모든 기본 권한을 대체합니다. 앱에는 대체된 기본 권한이 필요하지 않습니다.
- 앱 페이지의 Management(관리)에서 Manifest(매니페스트 )를 선택합니다.
- 매니페스트 페이지에서
requiredResourceAccess항목(47줄 또는 약 47줄)을 찾습니다. - 다음 코드 조각과 같이
resourceAppId,resourceAccess id및resourceAccess 형식값을 수정합니다."requiredResourceAccess": [ { "resourceAppId": "00000002-0000-0ff1-ce00-000000000000", "resourceAccess": [ { "id": "dc50a0fb-09a3-484d-be87-e023b12c6440", "type": "Role" } ] }, { "resourceAppId": "00000003-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "e2a3a72e-5f79-4c64-b1b1-878b674786c9", "type": "Role" } ] } ], - 저장을 선택합니다.
- 매니페스트 페이지의 관리에서 API 권한을 선택합니다.
- API 권한 페이지의 필드에 내용을 입력합니다.
필드 설명 API / 권한 이름 Exchange.ManageAsApp및Mail.ReadWrite값이 표시되는지 확인합니다.상태 현재 잘못된 값은 <조직>에 부여되지 않으며 이 값을 변경해야 합니다. <조직>에 대한 관리자 동의 부여를 선택하고, 열리는 확인 대화 상자를 읽은 다음, 예를 선택합니다.
이제 <조직>에 대해 상태 값을 부여해야 합니다.
- 현재 API 권한 페이지(브라우저 탭이 아님)를 닫고 앱 등록 페이지로 돌아갑니다.
3단계: 자체 서명된 인증서 생성 및 개인 키에 대한 액세스 권한 부여
- 관리자 권한(관리자 권한으로 실행) Windows PowerShell 세션에서 New-SelfSignedCertificate, Export-Certificate 및 Export-PfxCertificate cmdlet을 사용하여 자체 서명된 인증서를 요청하고
.cer및 .pfx(기본적으로 SHA1)로 내보낼 수 있습니다. 예:# Create certificate $mycert = New-SelfSignedCertificate -DnsName "snowsecops.onmicrosoft.com" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date).AddYears(2) -KeySpec KeyExchange -Provider "Microsoft Strong Cryptographic Provider" # Generate password fro private key $mypwd = ConvertTo-SecureString -String '<password>' -Force -AsPlainText # Export certificate to .pfx file $mycert | Export-PfxCertificate -FilePath mycert.pfx -Password $mypwd # Export certificate to .cer file $mycert | Export-Certificate -FilePath mycert.cer - 다음 단계를 사용하여 MID 서비스 사용자에게 개인 키 액세스를 제공합니다.
- MMC(Microsoft Management Console)를 엽니다.
- MMC(Microsoft Management Console)에서 .
(MMC에 메뉴 항목이 없는 경우 다음으로 이동하여 추가합니다. .
- 생성한 인증서를 마우스 오른쪽 버튼으로 클릭합니다.
- 확장
- 접근자 목록에 MID 서비스 사용자를 추가합니다.
4단계: Azure AD 응용 프로그램에 인증서 연결
- 2단계 끝에 있는 Apps registration(앱 등록) 페이지의 Owned applications(소유 애플리케이션) 탭에서 애플리케이션을 선택합니다.
앱 등록 페이지로 돌아가야 하는 경우 를 사용하여 https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/%7E/RegisteredApps소유 애플리케이션 탭이 선택되어 있는지 확인한 다음 애플리케이션을 선택합니다.
- 관리에서 인증서 & 비밀을 선택합니다.
- 인증서 및 비밀 페이지가 열리면 인증서 업로드를 선택합니다.
- 3단계에서 만든 자체 서명된 인증서(
.cer파일)를 찾습니다. - 완료 후 추가를 선택합니다.
이제 인증서가 인증서 섹션에 표시됩니다.
CertificateThumbPrint를 적어 두고 현재 인증서 & 비밀 페이지를 닫습니다.
5단계: 애플리케이션에 Azure AD 역할 할당
- Azure AD 포털을 엽니다.
- 페이지 맨 위에 있는 검색 필드에서 역할 및 관리자를 찾습니다.
- 서비스 섹션의 결과에서 Azure AD 역할 및 관리자를 선택합니다.
또는 https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade 를 사용하여 Azure AD 역할 및 관리자 페이지로 이동할 수 있습니다.
- Azure AD 역할 및 관리자 페이지에서 결과의 역할 이름(확인란 아님)을 클릭하여 지원되는 역할 중 하나를 찾아 선택합니다.
규정 준수 관리자 역할을 찾아 선택합니다.
- Assignments(할당) 페이지에서 Add assignments(할당 추가)를 선택합니다.
- 과제 추가 팝업에서 1단계에서 만든 앱을 찾아 선택합니다.
- 완료 후 추가를 선택합니다.
- 할당 페이지로 돌아가서 역할이 앱에 할당되었는지 확인합니다.
6단계: 새 서비스 주체 만들기
- 다음 명령을 실행하여 1단계에서 등록한 Azure 응용 프로그램의 세부 정보(
<AppName>)를 변수에 저장합니다.Install-Module -Name AzureAD Import-Module -Name AzureAD Connect-AzureAD $AADApp = Get-AzureADServicePrincipal -SearchString"<AppName>"자세한 구문 및 매개 변수 정보는 Get-AzureADServicePrincipal을 참조하세요.
- 동일한 PowerShell 창에서 보안 & 준수 PowerShell에 연결합니다.
Import-Module ExchangeOnlineManagement Connect-IPPSSession -CertificateThumbPrint "<Your_Certificate_ThumbPrint>" -AppID $AADApp.AppId -Organization "<Your_organization>다음 명령을 실행하여 Azure 애플리케이션에 대한 서비스 주체 개체를 만듭니다.New-ServicePrincipal -AppId $AADApp.AppId -ObjectId $AADApp.ObjectId -DisplayName "<Descriptive Name>"구문 및 매개 변수에 대한 자세한 내용은 New-ServicePrincipal을 참조하십시오.