Security & Compliance PowerShell에 연결

Exchange Online PowerShell V2 모듈(EXO V2 모듈로 약칭)은 최신 인증을 사용하고 MFA(다단계 인증)와 함께 작동하여 Microsoft 365의 모든 Exchange 관련 PowerShell 환경(Exchange Online PowerShell, 보안 및 규정 준수 PowerShell 및 독립 실행형 EOP(Exchange Online Protection) PowerShell)에 연결합니다. EXO V2 모듈에 대한 자세한 내용은 Exchange Online PowerShell V2 모듈 정보를 참조하세요.

이 문서에는 MFA를 사용하거나 또는 사용하지 않고 EXO V2 모듈을 사용하여 보안 및 규정 준수 PowerShell에 연결하는 방법에 대한 지침이 포함되어 있습니다.

결과적으로 사용 중단될 이전 버전의 보안 수준이 낮은 원격 PowerShell 연결 지침을 사용하려면 기본 인증 - 보안 및 규정 준수 PowerShell에 연결을 참조하세요.

이전 버전의 Exchange Online Remote PowerShell 모듈을 사용하여 MFA를 통해 보안 및 규정 준수 PowerShell에 연결하려면 V1 모듈 - MFA를 사용하여 보안 및 규정 준수 PowerShell에 연결을 참조하세요. 이전 버전의 모듈은 결과적으로 사용 종료됩니다.

시작하기 전에 알아야 할 사항은 무엇인가요?

MFA를 사용하거나 사용하지 않고 최신 인증을 사용하여 Exchange 온라인 PowerShell에 연결

이러한 연결 지침은 최신 인증을 사용하며 MFA(다단계 인증)를 사용하거나 사용하지 않고 작동합니다.

  1. Windows PowerShell 창에서 다음 명령을 실행하여 EXO V2 모듈을 로드합니다.

    Import-Module ExchangeOnlineManagement
    

    참고:

    • EXO V2 모듈을 이미 설치한 경우 이전 명령은 기록된 대로 작동합니다.
    • 모듈을 먼저 로드하지 않고 이 단계를 건너뛰고 Connect-IPPSSession 을 실행할 수 있습니다.
  2. 실행해야 하는 명령은 다음 구문을 사용합니다.

    Connect-IPPSSession -UserPrincipalName <UPN> [-ConnectionUri <URL>] [-AzureADAuthorizationEndpointUri <URL>] [-PSSessionOption $ProxyOptions]
    
    • <UPN> 은(는) 사용자 계정 이름 형식(예: navin@contoso.com)의 계정입니다.
    • 필수 ConnectionUri 값은 Microsoft 365 조직의 특성에 따라 다릅니다. 자세한 내용은 다음 예제 또는 Connect-IPPSSession의 매개 변수 설명을 참조하세요.
    • AzureADAuthorizationEndpointUri 매개 변수는 일부 환경에서는 필요하고 다른 환경에서는 필요하지 않습니다. 자세한 내용은 다음 예제 또는 Connect-IPPSSession의 매개 변수 설명을 참조하세요.
    • 프록시 서버를 사용하는 경우 먼저 다음 명령을 실행합니다. $ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>, <Value>이(가) IEConfig, WinHttpConfig 혹은 AutoDetect인 경우. 그런 다음 PSSessionOption 매개 변수와 $ProxyOptions값을 사용합니다. 자세한 내용은 New-PSSessionOption을 참조하세요.
    • 조직의 특성에 따라 다음 단계에서 UserPrincipalName 매개 변수를 생략할 수 있습니다. 대신 사용자 이름과 암호를 입력하거나 Connect-IPPSSession 명령을 실행한 후 저장된 자격 증명을 선택합니다. 작동하지 않으면 UserPrincipalName 매개 변수를 사용해야 합니다.
    • MFA를 사용하지 않는 경우 UserPrincipalName 매개 변수 대신 Credential 매개 변수를 사용할 수 있습니다. 먼저 $Credential = Get-Credential 명령을 실행하고 사용자 이름과 암호를 입력한 다음 Credential 매개 변수(-Credential $Credential)에 대한 변수 이름을 사용합니다. 작동하지 않으면 UserPrincipalName 매개 변수를 사용해야 합니다.

    이 예제는 Microsoft 365 또는 Microsoft 365 GCC 조직의 보안 및 규정 준수 PowerShell에 연결됩니다.

    Connect-IPPSSession -UserPrincipalName navin@contoso.com
    

    이 예는 21Vianet 조직에서 운영하는 Office 365의 보안 및 규정 준수 PowerShell에 연결합니다.

    Connect-IPPSSession -UserPrincipalName li@fabrikam.cn -ConnectionUri https://ps.compliance.protection.partner.outlook.cn/powershell-liveid
    

    이 예제는 Microsoft GCC High 조직의 보안 및 규정 준수 PowerShell에 연결됩니다.

    Connect-IPPSSession -UserPrincipalName chris@govt.us -ConnectionUri https://ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/common
    

    이 예제는 Microsoft 365 DoD 조직의 보안 및 규정 준수 PowerShell에 연결됩니다.

    Connect-IPPSSession -UserPrincipalName michelle@govt.mil -ConnectionUri https://l5.ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/common
    

구문과 매개 변수에 대한 자세한 내용은 Connect-IPPSSession을 참조합니다.

참고

작업을 마치면 원격 PowerShell 세션 연결을 반드시 끊어야 합니다. 세션 연결을 끊지 않고 Windows PowerShell 창을 닫으면 사용 가능한 모든 원격 PowerShell 세션이 사용될 수 있으며 세션이 만료될 때까지 기다려야 합니다. 원격 PowerShell 세션 연결을 끊으려면 다음 명령을 실행합니다.

Disconnect-ExchangeOnline

작동 여부는 어떻게 확인하나요?

보안 및 준수 PowerShell cmdlet을 로컬 Windows PowerShell 세션으로 가져오게 되고 진행률 표시줄을 통해 추적됩니다. 오류가 발생하지 않으면 정상적으로 연결된 것입니다. 연결을 간단하게 테스트하려면 Get-RetentionCompliancePolicy 등의 보안 및 규정 준수 PowerShell cmdlet을 실행하여 결과를 확인합니다.

오류가 발생하면 다음 요구 사항을 확인합니다.

  • 일반적인 문제는 잘못된 암호입니다. 세 단계를 다시 실행하고 사용하는 사용자 이름과 암호에 주의를 기울입니다.

  • DoS(서비스 거부) 공격을 방지하기 위해 보안 및 준수 PowerShell에 대한 5개의 개방형 원격 PowerShell 연결로 제한됩니다.

  • 연결하는 데 사용하는 계정은 원격 PowerShell에 대해 사용하도록 설정되어야 합니다. 자세한 내용은 Exchange Online PowerShell에 대한 액세스 사용 또는 비활성화를 참조하세요.

  • TCP 포트 80 트래픽은 로컬 컴퓨터와 Microsoft 365 간에 열려 있어야 합니다. 열려 있을 수도 있지만 조직에서 제한적인 인터넷 액세스 정책을 사용하는 경우 이는 고려해야 할 사항입니다.

  • 연결 요청 중에 클라이언트 IP 주소가 변경되면 연결에 실패할 수 있습니다. 조직에서 여러 IP 주소를 포함하는 원본 SNAT(Source Network Address Translation) 풀을 사용하는 경우 이 문제가 발생할 수 있습니다. 연결 오류는 다음과 같이 표시됩니다.

    서버에서 셸이 찾을 수 없으므로 ShellId <ID>을(를) 사용한 Windows Remote Shell에 대한 요청에 실패했습니다. 가능한 원인: 지정된 ShellId이 올바르지 않거나 셸이 서버에 더 이상 존재하지 않습니다. 올바른 ShellId를 제공하거나 새 셸을 만든 후 작업을 다시 시도하세요.

    이 문제를 해결하려면 단일 IP 주소를 포함하는 SNAT 풀을 사용하거나 보안 및 규정 준수 PowerShell 끝점에 연결하는 데 특정 IP 주소를 사용합니다.