偽装するアカウントを識別するIdentify the account to impersonate

サービス アプリケーションが EWS を使用して偽装するユーザーを識別する方法について説明します。Learn how your service application uses EWS to identify the user to impersonate.

サービス アプリケーションは、次の 3 つの識別子のいずれかを使用して偽装するユーザー アカウントを識別します。Your service application identifies the user account to impersonate by using one of the following three identifiers:

  • プライマリ SMTP アドレス。The primary SMTP address.

  • ユーザープリンシパル名 (UPN)。The user principal name (UPN).

  • セキュリティ識別子 (SID)。The security identifier (SID).

もちろん、使用する識別子は、アプリケーションが使用可能な情報によって異なります。The identifier that you use depends, of course, on the information that your application has available.

偽装するユーザー アカウントを識別するIdentifying the user account to impersonate

アプリケーションは、EWS マネージ API または EWS SOAP 要求を使用して、偽装するユーザー アカウントを識別できます。Your application can use either the EWS Managed API or EWS SOAP requests to identify the user account that it is impersonating. EWS マネージ API は、ExchangeService.ImpersonatedUserId プロパティを使用して、偽装されたユーザーを識別します。The EWS Managed API uses the ExchangeService.ImpersonatedUserId property to identify the impersonated user. 次の XML フラグメントに示すように、EWS は ExchangeImpersonation 要素を使用します。EWS uses the ExchangeImpersonation element, as shown in the following XML fragment.

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

次の各セクションは、識別子のいずれかを使用する方法を示します。Each of the following sections shows how to use one of the identifiers. 偽装識別子の動作を示す例については、「Exchange の偽装を使用して予定を追加する」を参照してください。For an example that shows the impersonation identifier in action, see Add appointments by using Exchange impersonation.

SMTP 電子メール アドレスを使用してユーザー アカウントを識別するUse the SMTP email address to identify the user account

SMTP 電子メール アドレスは、ユーザー アカウントに関連付けられているプライマリ電子メール アドレスです。The SMTP email address is the primary email address that is associated with a user account.

EWS マネージ API アプリケーションで、SMTP 電子メール アドレスを ConnectingIdType.SMTP 列挙値と共に指定します。In an EWS Managed API application, you specify the SMTP email address along with the ConnectingIdType.SMTP enumeration value.

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

EWS SOAP 要求で、PrimarySmtpAddress 要素にはユーザー アカウントの電子メール アドレスが含まれています。In an EWS SOAP request, the PrimarySmtpAddress element contains the email address for the user account.

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

UPN を使用してユーザー アカウントを識別するUse the UPN to identify the user account

UPN には、ユーザー アカウントの場所を示す完全修飾ドメイン名 (FQDN) が含まれています。The UPN contains the fully qualified domain name (FQDN) for the location of the user account. これは必ずしもユーザーのメールボックス ドメインではありません。This is not necessarily the user's mailbox domain. ユーザー参照が成功するには、Active Directory ドメインサービス (AD DS) のユーザーアカウントでUserPrincipalName属性が正しく設定されている必要があります。The UserPrincipalName attribute must be set correctly on the user account in Active Directory Domain Services (AD DS) for the user lookup to succeed.

EWS マネージ API アプリケーションで、UPN をConnectingIdType列挙値と共に指定します。In an EWS Managed API application, you specify the UPN along with the ConnectingIdType.PrincipalName enumeration value.

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

EWS SOAP 要求で、PrincipalName 要素 (ConnectingSIDType complexType) (EWS) 要素にはユーザー アカウントの UPN が含まれています。In an EWS SOAP request, the PrincipalName element (ConnectingSIDType complexType) (EWS) element contains the UPN for the user account.

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

SID を使用してユーザー アカウントを識別するUse the SID to identify the user account

SID は、セキュリティ記述子定義言語 (SDDL) フォームで偽装するアカウントの識別子です。The SID is the identifier of the account to be impersonated in security descriptor definition language (SDDL) form.

EWS マネージ API アプリケーションで、SID を ConnectingIdType.SID 列挙値と共に指定します。In an EWS Managed API application, you specify the SID along with the ConnectingIdType.SID enumeration value.

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

EWS SOAP 要求で、SID 要素には、ユーザー アカウントの SID が含まれています。In an EWS SOAP request, the SID element contains the SID for the user account.

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

関連項目See also