Outlook VBA에서 AIP 레이블에 액세스: 종합 가이드

VBA and Office.js

VBA를 통해 Outlook에서 AIP 라벨 검사 살펴보기

현대 비즈니스 환경에서는 이메일 속성에 프로그래밍 방식으로 액세스하는 기능이 데이터 보안과 규정 준수를 유지하는 데 매우 중요합니다. Microsoft Outlook을 VBA(Visual Basic for Application)와 함께 사용하면 광범위한 사용자 정의 및 자동화가 가능합니다. 사용자가 보안 정책을 적용하거나 특정 워크플로를 트리거하기 위해 수신 이메일에 첨부된 AIP(Azure Information Protection) 레이블을 검사해야 하는 경우 특별한 문제가 발생합니다.

그러나 Outlook VBA는 기본적으로 Excel VBA 및 최신 JavaScript 기반 추가 기능 모델에서 쉽게 사용할 수 있는 'SensitivityLabel' 속성에 대한 액세스를 지원하지 않습니다. 이러한 제한으로 인해 이메일 헤더를 직접 구문 분석하지 않고 AIP 레이블 정보를 검색할 수 있는 대체 방법이 필요하며 이는 번거롭고 오류가 발생하기 쉽습니다.

명령 설명
Application.ActiveExplorer.Selection.Item(1) Outlook의 현재 선택 항목에서 첫 번째 항목을 선택합니다. 일반적으로 VBA에서 현재 선택된 이메일로 작업하는 데 사용됩니다.
PropertyAccessor.GetProperty() MAPI 속성 태그를 사용하여 Outlook 메일 항목에서 특정 속성을 검색합니다. 여기에서 이메일 헤더에 액세스하는 데 사용됩니다.
Office.onReady() Office 추가 기능이 로드되고 준비되면 함수를 초기화하여 호스트 응용 프로그램이 Office.js 스크립트를 실행할 준비가 되었는지 확인합니다.
loadCustomPropertiesAsync() Office.js를 사용하여 Outlook의 이메일 항목과 연결된 사용자 정의 속성을 비동기적으로 로드합니다. 추가 기능의 AIP 레이블과 같은 비표준 이메일 데이터에 액세스하기 위한 키입니다.
console.log() JavaScript 애플리케이션 디버깅에 유용한 정보를 웹 콘솔에 출력합니다. 여기서는 검색된 레이블을 기록합니다.
Chr(10) 이메일 헤더에서 줄 바꿈을 찾는 데 사용되는 줄 바꿈(LF) 문자인 ASCII 코드 10에 해당하는 문자를 반환합니다.

AIP 라벨 검색을 위한 스크립트 기능에 대한 심층 분석

제공된 스크립트는 이메일의 AIP(Azure Information Protection) 레이블에 액세스하기 위한 실용적인 솔루션을 제공합니다. 이 기능은 Outlook VBA를 통해 직접 액세스할 수는 없지만 규정 준수 및 보안 조치에 중요한 기능입니다. 첫 번째 스크립트는 Outlook 내에서 VBA를 활용합니다. 사용자가 현재 강조 표시한 이메일을 선택하는 명령입니다. 이 스크립트는 민감한 레이블 정보가 저장될 수 있는 모든 이메일 헤더를 가져오는 사전 정의된 MAPI 속성 태그가 있는 메서드입니다.

두 번째 스크립트는 Office.js 프레임워크를 사용하여 최신 Outlook 환경 내에서 기능을 향상시키는 것을 강조합니다. 여기서는 기능은 Office 호스트 응용 프로그램이 완전히 로드된 후에만 스크립트가 실행되도록 보장하여 호환성과 안정성을 보장합니다. 그런 다음 이메일에 첨부된 AIP 라벨을 포함할 수 있는 사용자 정의 속성을 비동기식으로 검색하는 방법입니다. 이 방법은 동기 호출에 대한 사용자 경험에 영향을 주지 않고 향상된 데이터 처리가 필요한 환경에서 특히 유용합니다.

Outlook에서 AIP 레이블 검색 스크립팅

이메일 메타데이터 추출에 VBA 사용

Dim oMail As Outlook.MailItem
Dim oHeaders As Outlook.PropertyAccessor
Const PR_TRANSPORT_MESSAGE_HEADERS As String = "http://schemas.microsoft.com/mapi/proptag/0x007D001E"
Dim labelHeader As String
Dim headerValue As String

Sub RetrieveAIPLabel()
    Set oMail = Application.ActiveExplorer.Selection.Item(1)
    Set oHeaders = oMail.PropertyAccessor
    headerValue = oHeaders.GetProperty(PR_TRANSPORT_MESSAGE_HEADERS)
    labelHeader = ExtractLabel(headerValue)
    MsgBox "The AIP Label ID is: " & labelHeader
End Sub

Function ExtractLabel(headers As String) As String
    Dim startPos As Integer
    Dim endPos As Integer
    startPos = InStr(headers, "MSIP_Label_")
    If startPos > 0 Then
        headers = Mid(headers, startPos)
        endPos = InStr(headers, Chr(10)) 'Assuming line break marks the end
        ExtractLabel = Trim(Mid(headers, 1, endPos - 1))
    Else
        ExtractLabel = "No label found"
    End If
End Function

라벨 검사를 위한 JavaScript 추가 기능 구축

향상된 이메일 처리를 위해 Office JS API 사용

Office.onReady((info) => {
    if (info.host === Office.HostType.Outlook) {
        retrieveLabel();
    }
});

function retrieveLabel() {
    Office.context.mailbox.item.loadCustomPropertiesAsync((result) => {
        if (result.status === Office.AsyncResultStatus.Succeeded) {
            var customProps = result.value;
            var label = customProps.get("MSIP_Label");
            if (label) {
                console.log("AIP Label: " + label);
            } else {
                console.log("No AIP Label found.");
            }
        } else {
            console.error("Failed to load custom properties: " + result.error.message);
        }
    });
}

이메일 메타데이터 분석을 통한 보안 강화

기업 환경 내의 이메일 메타데이터는 보안을 유지하고 규정 준수를 보장하는 데 중추적인 역할을 할 수 있습니다. 특히 AIP와 같은 민감한 정보 레이블과 관련된 이러한 데이터에 액세스하면 IT 부서가 보안 조치를 효과적으로 자동화하고 맞춤화할 수 있습니다. 이러한 액세스는 데이터 유출을 방지하고 민감한 정보를 수명주기 전반에 걸쳐 올바르게 분류하고 보호하는 데 매우 중요합니다.

Outlook VBA와 같은 레거시 시스템이 사용되는 환경에서 이러한 메타데이터에 액세스하려면 다음과 같은 최신 속성에 대한 직접적인 지원이 부족하기 때문에 창의적인 솔루션이 필요합니다. . 이러한 격차로 인해 기업 환경 내에서 기존 기술과 최신 기술 간의 기능을 연결하기 위해 추가 프로그래밍이나 타사 도구를 사용해야 하는 경우가 많습니다.

  1. AIP 라벨이란 무엇입니까?
  2. AIP(Azure Information Protection) 레이블은 레이블을 적용하여 문서와 이메일을 분류하고 보호하는 데 사용됩니다.
  3. Outlook VBA가 AIP 레이블에 직접 액세스할 수 있나요?
  4. 아니요, Outlook VBA는 다음을 직접 지원하지 않습니다. AIP 라벨에 액세스하는 데 사용되는 속성입니다. 헤더 구문 분석과 같은 대체 방법이 필요합니다.
  5. 무엇을 하는가? 명령을 해?
  6. 이 명령은 MAPI 속성 태그를 사용하여 Outlook의 이메일과 같은 개체에서 특정 속성을 검색합니다.
  7. 최신 Outlook 버전을 위한 JavaScript 기반 솔루션이 있습니까?
  8. 예, Outlook용 최신 JavaScript 기반 추가 기능 모델을 사용하면 Office.js 라이브러리를 통해 이러한 속성에 액세스할 수 있습니다.
  9. Outlook에서 이메일의 사용자 정의 속성에 어떻게 비동기식으로 액세스할 수 있나요?
  10. 사용하여 사용자 인터페이스를 차단하지 않고 사용자 지정 속성을 검색하는 Office.js의 메서드입니다.

VBA를 사용하여 레거시 Outlook에서 AIP 레이블을 직접 관리하는 것은 복잡하지만 논의된 전략은 효과적인 해결 방법을 제공합니다. 헤더 구문 분석을 위한 Outlook VBA와 현대 환경에서 사용자 지정 속성 처리를 위한 Office.js를 모두 활용함으로써 조직은 전자 메일 보안 프로토콜을 강력하게 유지하고 진화하는 규정 준수 요구 사항에 적응할 수 있도록 할 수 있습니다. 이러한 이중 접근 방식은 다양한 기술 생태계 내에서 이메일 보안을 관리하는 유연성의 필요성을 강조합니다.