偽装するアカウントを指定する

サービス アプリケーションが EWS を使用して偽装するユーザーを識別する方法について説明します。

サービス アプリケーションは、次の 3 つの識別子のいずれかを使用して偽装するユーザー アカウントを識別します。

  • プライマリ SMTP アドレス。

  • ユーザー プリンシパル名 (UPN)。

  • セキュリティ識別子 (SID)。

もちろん、使用する識別子は、アプリケーションが使用可能な情報によって異なります。

偽装するユーザー アカウントを識別する

アプリケーションは、EWS マネージ API または EWS SOAP 要求を使用して、偽装するユーザー アカウントを識別できます。 EWS マネージ API は、ExchangeService.ImpersonatedUserId プロパティを使用して、偽装されたユーザーを識別します。 次の XML フラグメントに示すように、EWS は ExchangeImpersonation 要素を使用します。

<soap:Header>
    <t:ExchangeImpersonation>
        <t:ConnectingSID>
            Identifier
        </t:ConnectingSID>
    </t:ExchangeImpersonation>
</soap:Header>

次の各セクションは、識別子のいずれかを使用する方法を示します。 偽装識別子の動作を示す例については、「Exchange の偽装を使用して予定を追加する」を参照してください。

SMTP 電子メール アドレスを使用してユーザー アカウントを識別する

SMTP 電子メール アドレスは、ユーザー アカウントに関連付けられているプライマリ電子メール アドレスです。

EWS マネージ API アプリケーションで、SMTP 電子メール アドレスを ConnectingIdType.SMTP 列挙値と共に指定します。

exchangeServiceInstance.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SMTP, "alisa@contoso.com");

EWS SOAP 要求で、PrimarySmtpAddress 要素にはユーザー アカウントの電子メール アドレスが含まれています。

<soap:Header>
  <t:ExchangeImpersonation>
    <t:ConnectingSID>
      <t:PrimarySmtpAddress>alisa@contoso.com</t:PrimarySmtpAddress>
    </t:ConnectingSID>
  </t:ExchangeImpersonation>
</soap:Header>

UPN を使用してユーザー アカウントを識別する

UPN には、ユーザー アカウントの場所を示す完全修飾ドメイン名 (FQDN) が含まれています。 これは必ずしもユーザーのメールボックス ドメインではありません。 ユーザー参照を成功させるには、Active Directory Domain Services (AD DS) のユーザー アカウントで UserPrincipalName 属性を正しく設定する必要があります。

EWS マネージ API アプリケーションでは、UPN と ConnectingIdType.PrincipalName 列挙値を指定します。

exchangeServiceInstance.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.PrincipalName, "alias@billing.contoso.com");

EWS SOAP 要求で、PrincipalName 要素 (ConnectingSIDType complexType) (EWS) 要素にはユーザー アカウントの UPN が含まれています。

<soap:Header>
  <t:ExchangeImpersonation>
    <t:ConnectingSID>
      <t:PrincipalName>alisa@billing.contoso.com</t:PrincipalName>
    </t:ConnectingSID>
  </t:ExchangeImpersonation>
</soap:Header>

SID を使用してユーザー アカウントを識別する

SID は、セキュリティ記述子定義言語 (SDDL) フォームで偽装するアカウントの識別子です。

EWS マネージ API アプリケーションで、SID を ConnectingIdType.SID 列挙値と共に指定します。

exchangeServiceInstance.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SID, "S-1-5-21-1493619105-1843311271-3936346804-1118");

EWS SOAP 要求で、SID 要素には、ユーザー アカウントの SID が含まれています。

<soap:Header>
  <t:ExchangeImpersonation>
    <t:ConnectingSID>
      <t:SID>S-1-5-21-1493619105-1843311271-3936346804-1118</t:SID>
    </t:ConnectingSID>
  </t:ExchangeImpersonation>
</soap:Header>

関連項目