4 Oracle User Messaging Serviceの構成

この章では、ご使用の環境でOracle User Messaging Server (UMS)を構成して保護する方法について説明します。

ユーザー・メッセージング・サービスの構成ページへのアクセス

UMSは、Oracle Enterprise Manager Fusion Middleware Controlを使用して構成できます。

詳細は、Oracle Fusion Middleware Fusion Middleware ControlによるOracle Fusion Middlewareの管理を参照してください。

あるいは、WebLogic Scripting Tool (WLST)を使用してUMSを構成することもできます。詳細は、『インフラストラクチャ・コンポーネントWLSTコマンド・リファレンス』を参照してください。

ユーザー・メッセージング・サーバーの構成

UMSは、サーバー用に1つと、ドライバ・タイプごとに1つのエンタープライズ・アーカイブとしてデプロイされます。構成は、管理対象サーバー・レベルまたはクラスタ・レベルで定義でき、クラスタ・レベルによってドメイン・レベルはオーバーライドされます。サーバーおよびドライバは、WebLogic Scripting Tool (WLST)とEnterprise Manager (EM)を使用して構成できます。

ユーザー・メッセージング・サーバーの構成をクラスタ・レベルで定義する場合は、そのクラスタ名と次のすべてのプロパティを指定する必要があります。

表4-1 ユーザー・メッセージング・サーバーの構成プロパティ

名前 説明 必須

AppReceivingQueuesInfo

アプリケーションが受信メッセージをデキューするキューのデフォルト・セット。

はい

DuplicateMessageRetryDelay

メッセージが重複した場合に処理を保留するための遅延時間

はい

EngineCommandQueuesInfo

他のメッセージング・コンポーネントが送信したコマンド・メッセージをエンジンがデキューするキューのセット

はい

EnginePendingReceiveQueueInfo

エンジンが保留メッセージをデキューするキュー。この値のフォーマットはJNDIQueueConnectionFactoryName:JNDIQueueNameです

はい

EngineReceivingQueuesInfo

エンジンが受信メッセージをデキューするキューのセット

はい

EngineSendingQueuesInfo

エンジンが送信メッセージをデキューするキューのセット

はい

JpsContextName

アイデンティティ・ストア・サービス・インスタンスの取得時に使用するJava Platform Security (JPS)コンテキストの名前。値を空にするとJPSコンテキストに設定されます

はい

ReceivedmessageStatusEnabled

受信メッセージ・ステータス・レポーティングの有効化 - falseの場合、クライアント・ライブラリは配信ステータスをエンジンに返しません

はい

ResendDefault

配信失敗時の自動再送信のデフォルト回数。このプロパティはメッセージごとにプログラムでオーバーライドできます。上限は、構成パラメータResendMaxに指定した値です。

はい

ResendDelay

自動再送信間の遅延

はい

ResendMax

配信失敗時の自動再送信の最大回数

はい

SecurityPrincipal

デフォルトで使用されるシステム・ユーザー

はい

SessionTimeout

ドライバまたはメッセージング・クライアント・アプリケーションによってセッション・フラグが設定されている場合、セッション・タイムアウトの前に待機する期間

はい

SupportedDeliveryTypes

このサーバーがサポートしている配信タイプのセット

はい

ユーザー・メッセージング・サービス・ドライバの構成

UMSでは、複数の構成がサポートされています。つまり、デプロイされた1つのドライバ・インスタンスで複数の構成を処理できます。これにより、ドメイン内の特定のドライバのインスタンスを複数デプロイしなくても、そのドライバの1つのインスタンスを異なる方法で構成できます。すべてのドライバで複数の構成がサポートされます。

各構成に一意の名前を使用して、ドライバの単一デプロイメントの構成を複数作成できます。可能ではありますが、意図しない結果をもたらす可能性があるため、特定のドライバ・インスタンスに複数の構成を作成する際に、同じ構成名を使用しないことをお薦めします。

UMSはクラスタまたはサーバーにデプロイできるため、クラスタ・レベルまたはサーバー・レベルでドライバを構成できます。デプロイメントと同じレベルで構成することをお薦めします。ただし、例外的なシナリオでは、デプロイメントとは異なるレベルで構成を作成することが正しい場合もあります。

UMSドライバは、Oracle Enterprise Manager Fusion Middleware Controlを使用して構成できます。または、WLSTコマンドconfigUserMessagingDriverを使用してUMSドライバを構成することもできます。このコマンドの詳細は、インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンスを参照してください。

ノート:

UMSドライバは、クラスタ・レベルまたはサーバー・レベルで構成できます。適切な構成レベルを必ず選択するように、詳細はユーザー・メッセージング・サーバーの構成を参照してください。

ドライバの構成

ドライバ構成ページには次のいずれかの場所から移動できます。

  • 「ユーザー・メッセージング・サービス」ホーム・ページの「関連ドライバ」表

  • 「ターゲット・ナビゲーション」ペインのドライバ・ターゲットの「ドライバ・プロパティ」メニュー

  • 「ユーザー・メッセージング・サービス」ホーム・ページの「ドライバ・プロパティ」メニュー

ドライバを構成するには、次のタスクを実行します。

  1. Oracle Enterprise Manager Fusion Middleware Controlコンソールに管理者としてログインします。

  2. 「ユーザー・メッセージング・サービス」ホーム・ページに移動します。

  3. 「usermessagingserver(AdminServer)」をクリックします。「関連ドライバ」ページが表示されます。

  4. 「ローカル」タブを選択して、UMSサーバー・インスタンスと関連付けられているドライバにアクセスします。これらのドライバは、正しく構成されているかどうかによって、UMSサーバーに登録されている場合と登録されていない場合があります。「すべて」タブには、ドメインにデプロイされており、かつ、すべてのUMSサーバー・インスタンスに登録されているドライバがすべてリストされます。

  5. リストからドライバを選択し、対応する「ドライバの構成」アイコンをクリックします。

    このドライバ・デプロイメントに適用されている構成をすべて示す構成ページが表示され、管理者は構成を作成、編集または削除できます。ユーザー・メッセージング・ドライバは、次のシナリオのとおり異なる方法で構成します。

    1. 電子メール・ドライバ(12.1.3では電子メール・ドライバでのみが複数の構成がサポート)の場合、構成は、ドライバのデプロイ先がクラスタ環境か非クラスタ環境かによって決まります。

      • ドライバをクラスタ、たとえばa_ums_clusterにデプロイする場合、クラスタa_ums_clusterだけでなくドメイン全体についても電子メールの構成がすべて表示されます。構成名が同じ場合、クラスタレベルの構成によってドメインレベルの構成はオーバーライドされます。

      • 非クラスタ管理対象サーバーにデプロイされるドライバの場合、構成はサーバー・レベルで行います。

    複数の構成のサポートおよびクラスタ・レベルとドメイン・レベルの構成間の関係の詳細は、ユーザー・メッセージング・サーバーの構成およびユーザー・メッセージング・サービス・ドライバの構成を参照してください。

  6. 「作成」をクリックするか、リストからドライバ構成を選択して「編集」をクリックします。「ドライバ・プロパティ」ページが表示されます。新しい構成を作成することも、既存の構成を更新することもできます。

  7. 必要に応じて、「ドライバ固有の構成」セクションを展開し、ドライバのパラメータを構成します。詳細は、ドライバ・プロパティの概要を参照してください。

  8. デプロイメント環境で構成プロパティが正しい形式になっていて有効であるかどうかを検証するには、入力したドライバ構成パラメータをテストできます。そのページで「テスト」ボタンをクリックします。「OK」をクリックして続行します。

    ノート:

    テストが成功しなかった場合でも、構成を保存できます。
ドライバ・プロパティの概要

UMSドライバは、アウトバウンド・メッセージをルーティングする際にメッセージング・エンジンで使用される共通プロパティ(表4-2を参照)を共有します。

表4-2 共通ドライバ・プロパティ

名前 説明 必須プロパティ
Capability ドライバの機能をメッセージの送信にするかまたは受信にするかを設定します。値はSEND、RECEIVEおよびBOTHです。 はい
Cost 同じタイプの複数のドライバ構成間でのドライバ構成の選択にのみ使用され、クライアント・アプリケーションが必要とした場合にのみ使用されます。ドライバのコスト・レベル(0 - 10)。0は最小のコストで、10は最大のコストです。値がこの範囲にない場合、コストは0とみなされます。 いいえ
DefaultSenderAddress ドライバがサポートする特定のDeliveryTypeの送信者アドレスがUMSメッセージで指定されていない場合、ドライバがDefaultSenderAddressを送信者のアドレスとして使用することがあります。DefaultSenderAddressの例は、EMAIL:alice@example.comです。 いいえ
SenderAddresses ドライバで処理するように構成されている送信者アドレスのリスト。SenderAdressesが指定されているドライバは、送信メッセージの送信者アドレスが一致する場合にのみ選択されます。SenderAdressesが指定されていないドライバは、メッセージの送信者アドレスに関係なく、すべての送信メッセージを処理できるとみなされます。リストは、カンマ区切りのUMSアドレスで構成する必要があります(たとえばEMAIL:alice@example.comEMAIL:alice@example.com,EMAIL:bob@example.com)。大/小文字の区別はありません。 いいえ
Speed 同じタイプの複数のドライバ構成間でのドライバ構成の選択にのみ使用され、クライアント・アプリケーションが必要とした場合にのみ使用されます。ドライバの速度レベル(0から10。10が最高速)。 いいえ
SupportedCarriers サポートされている電話会社のカンマ区切りのリスト。 いいえ
Configuration Level ドライバ構成をserverレベルまたはclusterレベルで有効にします。「サーバー」レベルを選択した場合は、サーバー名を指定する必要があります。「クラスタ」レベルを選択した場合は、クラスタ名を指定する必要があります。 はい
SupportedContentTypes ドライバでサポートされているコンテンツ・タイプ。 はい
SupportedDeliveryTypes ドライバでサポートされている配信タイプ。 はい
SupportedProtocols サポートされているプロトコルのカンマ区切りのリスト。 いいえ
SupportedStatusTypes ドライバでサポートされているステータス・タイプ。 いいえ
Supported Application Names ドライバでサポートされるアプリケーション名。 いいえ
パスワードの保護

ドライバの重要なプロパティ(パスワード)は、Oracle Enterprise Manager Fusion Middleware Controlを使用して資格証明ストアに安全に格納できます。プロパティは「エンコード済資格証明」フラグでマークされ、カスタムの入力フォーム・フィールドがあります。

ドライバの重要なプロパティを安全に格納するには、次のタスクを実行します。

  1. Oracle Enterprise Manager Fusion Middleware Controlにログインし、選択したドライバのドライバ構成ページに移動します。

    このドライバ・デプロイメントに適用されている構成をすべて示す構成ページが表示され、管理者は構成を作成、編集または削除できます。

  2. 「作成」をクリックして新しい構成を作成するか、構成を選択して「編集」をクリックして既存の構成を編集します。

    「ドライバ・プロパティ」ページが表示されます。

  3. 「ドライバ固有の構成」表で、「エンコード済資格証明」フラグが設定されているプロパティを探します。

  4. 隣接する「値」列で「パスワードのタイプ」ドロップダウン・リストから資格証明タイプを選択します。

  5. 選択した資格証明タイプに従って、ユーザー名またはパスワード(あるいはその両方)の入力が求められます。次の3つのオプションがあります。

    • 間接パスワード、新規のユーザーの作成(デフォルトのオプション): ユーザー名と実際のパスワードを指定し、このパスワードは、ユーザー名とともに資格証明ストアにキーの一部として格納されます。このキーと固定フォルダ(マップ名)は、ドライバ・デプロイメントのファイルに格納されます。

    • 間接パスワード、既存のユーザーの使用: (以前に保存したパスワードを参照するために)資格証明ストアにある既存の間接ユーザー名/キーを選択します。

    • クリアテキスト・パスワードの使用: パスワードを指定し、ドライバ・デプロイメント・ファイルに直接保存します。

  6. 「OK」をクリックして変更を保存します。

  7. ドライバ・アプリケーションまたはコンテナを再起動して、変更内容を有効にします。

パスワードは、ドライバ・デプロイメント・ディレクトリのファイルで確認できます。間接パスワードの場合のフォーマットは、次のようになります。

value="->mapName:keyName"    (mapName can be any name of the user's choice, and the key is <parameter_name>.<username>)
ドライバ・プロパティの保存

ドライバ・プロパティはUMSデータベースに保存できます。

UMSドライバが表示されると、特定のフィールドについてDRIVERPROPERTIESに格納されているプロパティがファイル内の値をオーバーライドし、ドライバ・インスタンスがデータベースのこれらのプロパティ値を使用してリクエストを処理します。次に、ドライバ・プロパティの詳細を示します:

  • 表名 - DRIVERPROPERTIES

  • 列 - DRIVERNAMEPROPERTYNAMEPROPERTYVALUE

UMSデータベースにドライバ・プロパティを保存するには、次のMBeanを使用します:

MBean名

oracle.ucs.messaging:Location=ESS_SOAServer_1,name=UserPrefsAdministration,type=SDPMessagingRuntime (ノート: ESS_SOAServer_1以外の他のSOAサーバー・インスタンスを使用してこのmbeanを呼び出すこともできます)

操作名

saveDriverProperties

パラメータ

  • P1 - driverName
  • P2 - propertyName
  • P3 - propertyValue


mBean = ObjectName("oracle.ucs.messaging:Location=ESS_SOAServer_1,name=UserPrefsAdministration,type=SDPMessagingRuntime")           
set_param = ['usermessagingdriver-apns-HCM', 'Alias', 'apns-prod-server-hcm-12122023']
set_type = ["java.lang.String", "java.lang.String", "java.lang.String"]
mbs.invoke(mBean, "saveDriverProperties", set_param, set_type)
メッセージング拡張ドライバの構成

拡張ドライバは、任意の管理者定義チャネル(プロトコル)のサポートを有効にし、このようなチャネルの通知を管理者定義のWebサービス・リスナー・エンドポイントに配信することで、UMSのメッセージング機能を拡張します。

ノート:

このドライバのインスタンスはデプロイされますが、デフォルトではどのサーバーにもターゲット設定されていません。このドライバ・インスタンスを有効化するには、UMS (usermessagingserver)が稼働している適切なサーバーにターゲット設定する必要があります。
共通プロパティ

これらは共通のドライバ・プロパティで、このドライバの機能を示しており、これらの機能は、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用されます。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。表4-3に、拡張ドライバの共通プロパティを示します。これらのプロパティの詳細は、表4-2を参照してください。使用可能な値の完全なリストについては、ユーザー・メッセージング・サービスJava APIリファレンスを参照してください。

表4-3 拡張ドライバの共通プロパティ

名前 必須 デフォルト値

InstanceName

はい

Extension-Driver

Capability

はい

SEND

SupportedDeliveryTypes

はい

URI

SupportedContentTypes

はい

text/plain、text/html、text/xml

SupportedStatusTypes

いいえ

DELIVERY_TO_GATEWAY_SUCCESS、DELIVERY_TO_GATEWAY_FAILURE

Cost

いいえ

Speed

いいえ

SupportedCarriers

いいえ

Configuration Level

はい

サーバー/クラスタ

SupportedProtocols

いいえ

popup

SenderAddresses

いいえ

DefaultSenderAddress

いいえ

Supported Application Names

いいえ

カスタム・プロパティ

表4-3に、このドライバに固有のプロパティを示します。通常、これらは拡張通知を配信するリモート・エンドポイントの構成に関連しています。

表4-4 拡張ドライバのカスタム・プロパティ

名前 説明 必須

グループ名

この拡張エンドポイント構成グループの名前。

はい

エンドポイントURL

リモート・エンドポイント・リスナーURL。

はい

マップされたドメイン

受信者URIのドメイン部分がこの値と一致した場合に、メッセージの配信に使用される拡張エンドポイント。

いいえ

プロトコル

受信者URIのプロトコル(スキーム)部分がこの値と一致した場合に、メッセージの配信に使用される拡張エンドポイント。

はい

セキュリティ・ポリシー

このエンドポイントに適用されるWS-Securityポリシーのカンマ区切りのリスト。

いいえ

ユーザー名

WS-Securityヘッダーを介して伝播されるユーザー名。

いいえ

キーストア別名

WS-Securityポリシーの公開キーの参照に使用するキーストア別名。

いいえ

資格証明ストア・キー

Oracle Web Services Managementの資格情報ストア・マップからWS-Securityのユーザー名およびパスワードを検索するために使用するキー。

いいえ

拡張ドライバのセキュリティ

リモート拡張エンドポイントがWS-Securityを使用して保護されている場合は、拡張ドライバの追加構成が必要です。2つの一般的なWS-Security構成がサポートされています。拡張ドライバではSAMLトークンまたはユーザー名トークンのいずれかを使用できます。

拡張ドライバのセキュリティを使用するには:

  1. SAMLトークンを使用するには、「セキュリティ・ポリシー」構成プロパティに値oracle/wss11_saml_token_identity_switch_with_message_protection_client_policyが含まれ、「キーストア別名」構成プロパティにリモート拡張エンドポイントで受け入れられる有効なキーストア・エントリの別名が含まれている必要があります。

  2. ユーザー名トークンを使用するには、Security Policies構成プロパティに値oracle/wss11_username_token_with_message_protection_client_policyが含まれ、「資格証明ストア・キー」構成プロパティにリモート拡張エンドポイントで受け入れられる有効な資格情報ストア・エントリの別名が含まれている必要があります。

WS-Securityポリシーの使用およびOWSMの構成の詳細は、『Oracle Fusion Middleware Webサービスの管理』を参照してください。

電子メール・ドライバの構成

電子メール・ドライバは、メッセージの送受信両方を実行します(すなわち、デフォルトでcapabilityプロパティはbothに設定されています)。電子メール・ドライバはSMTPを通じてメッセージを送信し、メッセージの受信にはIMAPまたはPOP3のいずれかを使用します。

共通プロパティ

表4-5に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。これらのプロパティの詳細は、表4-5を参照してください。使用可能な値の完全なリストについては、ユーザー・メッセージング・サービスJava APIリファレンスを参照してください。

表4-5 共通の電子メール・プロパティ

名前 必須 デフォルト値

InstanceName

はい

Email-Driver

Capability

はい

Both

SupportedDeliveryTypes

はい

Email

SupportedContentTypes

はい

text/plain、text/html、multipart/mixed、multipart/alternative、multipart/related

SupportedStatusTypes

いいえ

DELIVERY_TO_GATEWAY_SUCCESS、DELIVERY_TO_GATEWAY_FAILURE、USER_REPLY_ACKNOWLEDGEMENT_SUCCESS、USER_REPLY_ACKNOWLEDGEMENT_FAILURE

Cost

いいえ

N/A

Speed

いいえ

N/A

SupportedCarriers

いいえ

N/A

Configuration Level

はい

サーバー/クラスタ

Supported Protocols

いいえ

N/A

SenderAddresses

いいえ

N/A

DefaultSenderAddress

いいえ

N/A

Supported Application Names

いいえ

電子メールのカスタム・プロパティ

表4-6に、このドライバに固有のプロパティを示します。これらは通常、リモート・ゲートウェイへのアクセス構成、および特定のプロトコルやチャネル固有の動作に関連します。

表4-6 カスタムの電子メール・プロパティ

名前 説明 必須 デフォルト値

MailAccessProtocol

電子メール受信プロトコル。設定可能な値はIMAPおよびPOP3です。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。

いいえ

IMAP

AutoDelete

この値は、メッセージの処理後にドライバがメッセージに削除のマークを付けるかどうかを示します。デフォルトは「無効」です。POP3プロトコルの場合、メッセージは常に処理直後に削除されます。

いいえ

無効

Debug

この値は、ドライバがデバッグ・モードで実行されているかどうかを示します。有効になっている場合、電子メール・ドライバとメール・サーバー間のリクエストとレスポンスがJavaMailによってFusion Middleware Controlに出力されます。デフォルトは「無効」です。

いいえ

無効

CheckMailFreq

電子メール・サーバーからメッセージを取得する頻度。単位は秒で、デフォルト値は30秒です。

いいえ

30

ReceiveFolder

ドライバがメッセージをポーリングするフォルダの名前。デフォルト値はINBOXです。

いいえ

INBOX

OutgoingMailServer

SMTPサーバーの名前。電子メールの送信が必要な場合のみ必須です。

いいえ

N/A

OutgoingMailServerPort

SMTPサーバーのポート番号。通常は25です。

いいえ

25

OutgoingMailServerSecurity

SMTPサーバーで使用されるセキュリティ設定。設定可能な値は「なし」、「TLS」および「SSL」です。デフォルト値は「なし」です。

いいえ

なし

OutgoingDefaultFromAddr

デフォルトの送信者アドレス(送信メッセージで指定されていない場合)。

ノート: OutgoingDefaultFromAddrプロパティは非推奨です。かわりにDefaultSenderAddressを使用してください。DefaultSenderAddressプロパティの詳細は、表4-5を参照してください。

いいえ

N/A

OutgoingUsername

SMTP認証に使用するユーザー名。SMTP認証がSMTPサーバーでサポートされている場合のみ必要です。

いいえ

N/A

OutgoingPassword

SMTP認証に使用するパスワード。SMTP認証がSMTPサーバーでサポートされている場合のみ必要です。パスワードのタイプ(「間接パスワード、新規のユーザーの作成」、「間接パスワード、既存のユーザーの使用」、「クリアテキスト・パスワードの使用」から選択)とパスワードが含まれています。

いいえ

N/A

IncomingMailServer

受信メール・サーバーのホスト名。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。

いいえ

N/A

IncomingMailServerPort

IMAP4サーバーのポート番号(143または993)、またはPOP3サーバーのポート番号(110または995)。

いいえ

N/A

IncomingMailServerSSL

IMAP4またはPOP3サーバーへの接続時にSSLを有効にするかどうかを指定します。デフォルトは「無効」です。

いいえ

無効

IncomingMailIDs

ユーザー名に対応する電子メール・アドレス。各電子メール・アドレスはカンマで区切られ、対応するユーザー名がユーザー名リストに表示されているとおりに、リスト内で同じ位置に配置されている必要があります。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。

いいえ

N/A

IncomingUserIDs

ドライバ・インスタンスがポーリングするメール・アカウントのユーザー名のリスト。各名前はカンマで区切られている必要があります(たとえば、foo,bar)。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。

いいえ

N/A

IncomingUserPasswords

ユーザー名に対応するパスワードのリスト。各パスワードはカンマで区切られ、対応するユーザー名がユーザー名リストに表示されているとおりに、リスト内で同じ位置に配置されている必要があります。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。パスワードのタイプ(「間接パスワード、新規のユーザーの作成」、「間接パスワード、既存のユーザーの使用」、「クリアテキスト・パスワードの使用」から選択)とパスワードが含まれています。

いいえ

N/A

ProcessingChunkSize

メッセージ・ポーリングごとに処理されるメッセージ数。デフォルトは100です。

いいえ

100

Disconnect After Poll

メッセージ・ポーリングの後に電子メール・サーバーを切断するかどうか。POP3は常に切断されるため、IMAPの場合にのみ有効です。

いいえ

False

ImapAuthPlainDisable

IMAPユーザー認証のプレーン・テキスト認証(AUTHENTICATE PLAINコマンド)を無効にするか有効にするかを指定します。デフォルトは「無効」です。

いいえ

無効。このプロパティが無効の場合は、プレーン・テキストが許可されることを意味します。

ノート:

数100個のID/パスワードを追加できるように、ポップアップ・ダイアログを使用して(CSVファイルからインポートするか、表に追加します)、複数の受信電子メールID/ユーザーID/パスワードを追加します。

ドライバ・プロパティの保存の詳細は、ドライバ・プロパティの保存を参照してください。

OAuthを使用した電子メール・ドライバの構成

OAuth 2.0ベースの認証は、GmailとMicrosoft Exchange用に提供されています。OAuthを使用して電子メール・ドライバを構成するには、GmailまたはMicrosoft Exchangeの有効な電子メール・アカウントが必要です。

WebLogicの構成

ファイアウォールまたはVPN構成によってブロックされるために、OAuthアクセス・トークン生成URLまたはGmail/MSセキュアIMAPまたはSMTPポートにアクセスできない環境では、構成設定を更新する必要があります。

表4-7 WebLogic構成

問題 回避策 WebLogic構成の更新
ファイアウォールまたはネットワークの問題により、セキュア・ポート993および587へのJavaMail接続が失敗します。 SOCKSプロキシを介した接続/トンネリング。
  • -Dmail.imaps.proxy.host=<Your SOCKS proxy server>

  • -Dmail.imaps.proxy.port=<Proxy server's port>

  • -Dmail.smtp.proxy.host=<Your SOCKS proxy server>

  • -Dmail.smtp.proxy.port=<Proxy server's port>

証明書検証エラーのために、セキュア・ポートへの接続時にJavaMail SSLのIMAP/SMTPサーバーとのハンドシェイクが失敗します。 証明書の無視、または証明書の検証の無効化。
  • -Dweblogic.security.SSL.ignoreHostnameVerification=true

  • -Dmail.imaps.ssl.trust=imap.gmail.com

  • -Dmail.smtp.ssl.trust=smtp.gmail.com

MS OAuthの場合、outlook.office365.comおよびsmtp.office365.comを構成する必要があります。

次のように、OAuthアクセス・トークン生成URLへの接続に失敗:

https://login.microsoftonline.com/<tenant id>/oauth2/v2.0/token

https://oauth2.googleapis.com/token

HTTPプロキシを介した接続/トンネリング。
  • -Dhttps.proxyHost=<Your https proxy>

  • -Dhttps.proxyPort=<https proxy port>

共通プロパティの更新

共通プロパティを含むusermessagingconfig.xmlファイルを更新する必要があります。

表4-8 共通プロパティ

プロパティ名 Procedure
ImapAuthUseOAuth2

True

すべてのIMAPメール・アクセスにOAuthを使用するには、値をtrueに設定します。

SMTPAuthUseOAuth2

True

SMTPを介したメッセージの送信にOAuthを使用するには、値をtrueに設定します。

OutgoingUsername

送信電子メール用のUMS OAuthメールID。

UMS OAuthメールIDを入力します。たとえば、umsoauth@gmail.comです。

OutgoingPassword

<空>

サーバーとの通信はOAuthアクセス・トークンおよびリフレッシュ・トークンを使用して行われるため、パスワードを設定しないでください。

IncomingMailIDs

受信電子メール用のUMS OAuthメールID。

UMS OAuthメールIDを入力します。たとえば、umsoauth@gmail.comです。

IncomingUserIDs

受信電子メール用のUMS OAuthメールID。

UMS OAuthメールIDを入力します。たとえば、umsoauth@gmail.comです。

IncomingUserPasswords

<空>

サーバーとの通信はOAuthアクセス・トークンおよびリフレッシュ・トークンを使用して行われるため、パスワードを設定しないでください。

例4-1 共通プロパティ


<ns1:Property name="IncomingMailIDs" value="umsoauth@gmail.com"/>
<ns1:Property name="IncomingUserIDs" value="umsoauth@gmail.com"/>
<ns1:Property name="IncomingUserPasswords" value=" "/>
<ns1:Property name="OutgoingUsername" value="umsoauth@gmail.com"/>
<ns1:Property name="OutgoingPassword" value=""/>
<ns1:Property name="SMTPAuthUseOAuth2" value="true"/>
<ns1:Property name="ImapAuthUseOAuth2" value="true"/>
Gmailアカウントに対するOAuthの有効化

この項では、Gmailアカウントに対してOAuth 2.0ベースの認証を有効にする方法について説明します。内容は次のとおりです:

前提条件

次の前提条件タスクを実行する必要があります:

  1. GmailまたはMicrosoftの有効な電子メール・アカウントがあることを確認します。
  2. Pythonをインストールします。
構成プロパティの更新

構成プロパティを含むusermessagingconfig.xmlファイルを更新する必要があります。

表4-9 構成プロパティ

プロパティ名 その他の詳細
IncomingMailServer imap.gmail.com Gmail IMAPサーバー
IncomingMailServerPort 993 GmailのIMAPポート
IncomingMailServerSSL False 定数値
OutgoingMailServer smtp.gmail.com Gmail SMTPサーバー
OutgoingMailServerPort 587 SMTPサーバーのポートの使用
OAuth2AccessTokenSupplierFactory oracle.sdpinternal.messaging. oauth.ums.google.UMSGmail AccessTokenSupplierFactory 定数値この値はgmail IDを使用する際に必ず設定します。
GoogleOAuthClientID <Cliend id of the form xxx-xxx.apps.googleusercontent.com> 値の取得方法の詳細は、OAuthクライアントIDの作成を参照してください。
GoogleOAuthClientSecret エンコードされたシークレット値 値の取得方法の詳細は、OAuthクライアントIDの作成を参照してください。
GoogleOAuthRefreshToken エンコードされた有効なリフレッシュ・トークン 値の取得方法の詳細は、トークンの生成を参照してください。

例4-2 構成プロパティ

     
<ns1:Property name="IncomingMailServer" value="imap.gmail.com"/>     
<ns1:Property name="IncomingMailServerPort" value="993"/>     
<ns1:Property name="IncomingMailServerSSL" value="false"/>     
<ns1:Property name="OutgoingMailServer" value="smtp.gmail.com"/>     
<ns1:Property name="OutgoingMailServerPort" value="587"/>     
<ns1:Property name="OAuth2AccessTokenSupplierFactory"
value="oracle.sdpinternal.messaging.oauth.ums.google.UMSGmailAccessTokenSupplierFactory"/>     
<ns1:Property name="GoogleOAuthClientID" value="GoogleOAuthClientID.apps.googleusercontent.com"/>     
<ns1:Property name="GoogleOAuthClientSecret"
value="GoogleOAuthClientSecret"/>     
<ns1:Property name="GoogleOAuthRefreshToken"
value="GoogleOAuthRefreshToken"/>

UMSのサンプル構成ファイル


<?xml version="1.0" encoding="UTF-8"?>
<ns1:MessagingConfiguration xmlns:ns0="http://www.oracle.com/ucs/messaging/configtemplate" xmlns:ns1="http://www.oracle.com/ucs/messaging/config" version="12.2.1.3.0">
   <ns1:Driver name="Test1" type="email" server="AdminServer" enabled="true">
      <ns1:Property name="SupportedDeliveryTypes" value="EMAIL"/>
      <ns1:Property name="SupportedContentTypes" value="*"/>
      <ns1:Property name="Capability" value="BOTH"/>
      <ns1:Property name="Cost" value=""/>
      <ns1:Property name="Speed" value=""/>
      <ns1:Property name="SupportedCarriers" value=""/>
      <ns1:Property name="SupportedProtocols" value="SMTP"/>
      <ns1:Property name="SupportsCancel" value="false"/>
      <ns1:Property name="SupportsReplace" value="false"/>
      <ns1:Property name="SupportsStatusPolling" value="false"/>
      <ns1:Property name="SupportsTracking" value="false"/>
      <ns1:Property name="SupportedStatusTypes" value="DELIVERY_TO_GATEWAY_SUCCESS, DELIVERY_TO_GATEWAY_FAILURE, USER_REPLY_ACKNOWLEDGEMENT_SUCCESS, USER_REPLY_ACKNOWLEDGEMENT_FAILURE"/>
      <ns1:Property name="SenderAddresses" value=""/>
      <ns1:Property name="SupportedApplicationNames" value=""/>
      <ns1:Property name="DefaultSenderAddress" value=""/>
      <ns1:Property name="SendingQueuesInfo" value="OraSDPM/QueueConnectionFactory:OraSDPM/Queues/OraSDPMDriverDefSndQ1"/>
      <ns1:Property name="MailAccessProtocol" value="IMAP"/>
      <ns1:Property name="AutoDelete" value="false"/>
      <ns1:Property name="Debug" value="true"/>
      <ns1:Property name="CheckMailFreq" value="30"/>
      <ns1:Property name="DisconnectAfterPoll" value="false"/>
      <ns1:Property name="ReceiveFolder" value="INBOX"/>
      <ns1:Property name="OutgoingMailServer" value="smtp.gmail.com"/>
      <ns1:Property name="OutgoingMailServerPort" value="587"/>
      <ns1:Property name="OutgoingMailServerSecurity" value="None"/>
      <ns1:Property name="OutgoingDefaultFromAddr" value=""/>
      <ns1:Property name="OutgoingUsername" value="umstest@gmail.com"/>
      <ns1:Property name="OutgoingPassword" value=""/>
      <ns1:Property name="IncomingMailServer" value="imap.gmail.com"/>
      <ns1:Property name="IncomingMailServerPort" value="993"/>
      <ns1:Property name="IncomingMailServerSSL" value="false"/>
      <ns1:Property name="IncomingMailIDs" value="umstest@gmail.com"/>
      <ns1:Property name="IncomingUserIDs" value="umstest@gmail.com"/>
      <ns1:Property name="IncomingUserPasswords" value="welcome"/>
      <ns1:Property name="ProcessingChunkSize" value="100"/>
      <ns1:Property name="ImapAuthPlainDisable" value="false"/>
      <ns1:Property name="CNSMode" value="false"/>
      <ns1:Property name="SMTPAuthUseOAuth2" value="true"/>
      <ns1:Property name="ImapAuthUseOAuth2" value="true"/>
      <ns1:Property name="OAuth2AccessTokenSupplierFactory" value="oracle.sdpinternal.messaging.oauth.ums.google.UMSGmailAccessTokenSupplierFactory"/>
      <ns1:Property name="GoogleOAuthClientID" value="GoogleOAuthClientID.apps.googleusercontent.com"/>
      <ns1:Property name="GoogleOAuthClientSecret" value="GoogleOAuthClientSecret"/>
      <ns1:Property name="GoogleOAuthRefreshToken" value="GoogleOAuthRefreshToken"/>
   </ns1:Driver>
</ns1:MessagingConfiguration>
OAuthクライアントIDの作成

次のステップを実行して、OAuthクライアントIDを作成します:

  1. 次のURLを使用して、Google Cloud Consoleを開きます:
  2. Gmailアカウントの資格証明を入力します。
    プロジェクトを作成することも、既存のプロジェクトを使用することもできます。
  3. 「Dashboard」オプションで、新しく作成したプロジェクトを選択します。
  4. 「Credentials」オプションを選択します。
  5. 「Create Credentials」をクリックし、「OAuth client ID」を選択します。
  6. プロンプトが表示されたら、次のようにOAuth同意画面を構成します:
    1. 「User Type」で、「External」を選択します。
    2. 「Create」をクリックします。
    3. 「Edit app registration」ページで、次のフィールドに詳細を入力します:
      • App name
      • User support email
      • Developer contact information

    その他のフィールドはオプションであるため、スキップできます。

  7. 「Create OAuth client ID」ページで、「Application type」ドロップダウン・リストから「Desktop app」を選択します。
  8. 「Name」フィールドに、My UMS OAuth Client1と入力します。
  9. 「Create」をクリックします。
    「OAuth client created」ダイアログ・ボックスが表示されます。
  10. このダイアログ・ボックスから「Your Client ID」および「Your Client Secret」をコピーします。
  11. 「OK」をクリックします。
    「Your Client ID」および「Your Client Secret」の詳細は、「Credentials」セクションの「OAuth 2.0 Client IDs table」にも表示され、必要に応じてここからコピーすることもできます。
トークンの生成
次のステップを実行して、アクセス・トークンおよびリフレッシュ・トークンを生成します:
  1. GitHubから、oauth2.py pythonスクリプトをダウンロードします。
  2. 次の4つのパラメータを使用してスクリプトを実行します:
    
    --user=<your UMS OAuth gmail id>
    --client_id=<your client id>
    --client_secret=<your client secret>
    --generate_oauth2_token

    ノート:

    すべての指示に従い、プロンプトが表示されたらアプリケーションを承認してください。
  3. 検証コードを受け取ったら、pythonスクリプトに詳細を入力してリフレッシュ・トークンとアクセス・トークンを取得します。
トークンの検証

リフレッシュ・トークンの有効性を確認する必要があります。新しいアクセス・トークンを生成するには、POSTリクエストをGoogleのOAuthトークン生成URLに送信する必要があります。アクセス・トークンを受信すると、検証が完了します。同じリフレッシュ・トークンの値をusermessagingconfig.xmlに設定する必要があります。

curlまたはPOSTMANあるいは任意の適切なクライアントを使用して、次のURLにPOSTリクエストを送信する必要があります:

URL

https://oauth2.googleapis.com/token

パラメータ

次の表は、POSTリクエストのパラメータのリストです。


client_id: <your client id>
client_secret: <your client secret>
refresh_token: <refresh token value>
grant_type: refresh_token

Curlコマンド

次の例は、curlを使用してリフレッシュ・トークンの有効性を検証する方法を示しています:


curl --location --request POST 'https://oauth2.googleapis.com/token' \
                        --header 'Content-Type: application/x-www-form-urlencoded' \
                        --data-urlencode 'client_id=734918285672-hij60r3464hd4gt8ejt9vbpgh11ndhj2.apps.googleusercontent.com' \
                        --data-urlencode 'client_secret=t9JYc9QcwLQzZTI4BEkfW4-M' \
                        --data-urlencode 'refresh_token=1//0guaq1jSMUQO8CgYIARAAGBASNwF-L9IrFMCFjCIVtYLCR73Dyh84adQDA8fBouxSP8du9Zje7Z9VkE3wV2mJ3oNUzSVDx-vNFjc' \
                        --data-urlencode 'grant_type=refresh_token'

レスポンス

次の例は、レスポンス本文のアクセス・トークンの詳細を示しています:


{
    "access_token": "ya29.a0ARrdaM9ToRMTmg6ghpP3GboRg3JrtDN-dbqEUAq0PjhyKauR4_olpHiMK2OdR-sHm45C6wmrNkJ-LubZlgd7sxFKaiP65kt3migGJcjAK-WwbbXkxitr2igqzD441kP2OB1M-BVEyR9RU-uUjELEnOmdhx-kYOk",
    "expires_in": 3599,
    "scope": "https://mail.google.com/",
    "token_type": "Bearer"
}
SendAsの構成

OAuthの統合後にSendAs機能を構成する方法の詳細は、Google Mailで別のユーザーの代理としてメールを送信する方法を参照してください。

Microsoft 365アカウントに対するOAuthの有効化

UMSでは、Microsoft IMAPおよびSMTPに接続するために次の2つの方法でOAuth 2.0ベース認証のサポートが提供されます:

  • 認可コード・フロー - UMSがO365OAuthClientIDO365OAuthTenantIDO365OAuthRefreshTokenO365OAuthRefreshTokenScopeの各トークンを使用して構成されます。UMSの内部でアクセス・トークンが生成され、インバウンドとアウトバウンド両方の電子メールについてIMAPとSMTPへの接続に使用されます。
  • クライアント資格証明フロー - UMSがO365OAuthClientIDO365OAuthTenantIDO365OAuthClientSecretO365OAuthClientSecretScopeの各トークンを使用して構成されます。UMSの内部でアクセス・トークンが生成され、インバウンドとアウトバウンド両方の電子メールについてIMAPとSMTPへの接続に使用されます。
前提条件

次の前提条件タスクを実行する必要があります:

  1. GmailまたはMicrosoftの有効な電子メール・アカウントがあることを確認します。
  2. Pythonをインストールします。
  3. WebLogicをセキュア・モードで使用しているときに、次の証明書を取得してMSホストとの信頼できる接続を作成します。

    DigiCertSHA2SecureServerCA-2.crt

構成プロパティの更新

構成プロパティを含むusermessagingconfig.xmlファイルを更新する必要があります。

表4-10 構成プロパティ

プロパティ名 その他の詳細
IncomingMailServer outlook.office365.com MS IMAPサーバー
IncomingMailServerPort 993 MSサーバーのIMAPポート
IncomingMailServerSSL False 定数値
OutgoingMailServer smtp.office365.com MS SMTPサーバー
OutgoingMailServerPort 587 SMTPサーバーのポート
OAuth2AccessTokenSupplierFactory oracle.sdpinternal.messaging. oauth.ums.ms.UMSO365Access TokenSupplierFactory 定数値MS O365メールIDを使用する場合は、この値を設定する必要があります。
O365OAuthClientID <クライアントID (UUID形式)> 値の取得方法の詳細は、アプリケーション登録の開始の項を参照してください。
O365OAuthTenantID <テナントID (UUID形式)> 値の取得方法の詳細は、アプリケーション登録の開始の項を参照してください。
O365OAuthRefreshToken エンコードされた有効なリフレッシュ・トークン 値の取得方法の詳細は、トークンの生成の項を参照してください。

例4-3 構成プロパティ


      <ns1:Property name="IncomingMailServer" value="outlook.office365.com"/>
      <ns1:Property name="IncomingMailServerPort" value="993"/>
      <ns1:Property name="IncomingMailServerSSL" value="false"/>
      <ns1:Property name="OutgoingMailServer" value="smtp.office365.com"/>
      <ns1:Property name="OutgoingMailServerPort" value="587"/>
      <ns1:Property name="OAuth2AccessTokenSupplierFactory" value="oracle.sdpinternal.messaging.oauth.ums.ms.UMSO365AccessTokenSupplierFactory"/>
      <ns1:Property name="O365OAuthClientID" value="O365OAuthClientID"/>
      <ns1:Property name="O365OAuthTenantID" value="O365OAuthTenantID"/>
      <ns1:Property name="O365OAuthRefreshToken" value="O365OAuthRefreshToken"/>

UMSのサンプル構成ファイル


<?xml version="1.0" encoding="UTF-8"?>
<ns1:MessagingConfiguration xmlns:ns0="http://www.oracle.com/ucs/messaging/configtemplate" xmlns:ns1="http://www.oracle.com/ucs/messaging/config" version="12.2.1.3.0">
   <ns1:Driver name="Test1" type="email" server="AdminServer" enabled="true">
      <ns1:Property name="SupportedDeliveryTypes" value="EMAIL"/>
      <ns1:Property name="SupportedContentTypes" value="*"/>
      <ns1:Property name="Capability" value="BOTH"/>
      <ns1:Property name="Cost" value=""/>
      <ns1:Property name="Speed" value=""/>
      <ns1:Property name="SupportedCarriers" value=""/>
      <ns1:Property name="SupportedProtocols" value="SMTP"/>
      <ns1:Property name="SupportsCancel" value="false"/>
      <ns1:Property name="SupportsReplace" value="false"/>
      <ns1:Property name="SupportsStatusPolling" value="false"/>
      <ns1:Property name="SupportsTracking" value="false"/>
      <ns1:Property name="SupportedStatusTypes" value="DELIVERY_TO_GATEWAY_SUCCESS, DELIVERY_TO_GATEWAY_FAILURE, USER_REPLY_ACKNOWLEDGEMENT_SUCCESS, USER_REPLY_ACKNOWLEDGEMENT_FAILURE"/>
      <ns1:Property name="SenderAddresses" value=""/>
      <ns1:Property name="SupportedApplicationNames" value=""/>
      <ns1:Property name="DefaultSenderAddress" value=""/>
      <ns1:Property name="SendingQueuesInfo" value="OraSDPM/QueueConnectionFactory:OraSDPM/Queues/OraSDPMDriverDefSndQ1"/>
      <ns1:Property name="MailAccessProtocol" value="IMAP"/>
      <ns1:Property name="AutoDelete" value="false"/>
      <ns1:Property name="Debug" value="true"/>
      <ns1:Property name="CheckMailFreq" value="30"/>
      <ns1:Property name="DisconnectAfterPoll" value="false"/>
      <ns1:Property name="ReceiveFolder" value="INBOX"/>
      <ns1:Property name="OutgoingMailServer" value="smtp.office365.com"/>
      <ns1:Property name="OutgoingMailServerPort" value="587"/>
      <ns1:Property name="OutgoingMailServerSecurity" value="None"/>
      <ns1:Property name="OutgoingDefaultFromAddr" value=""/>
      <ns1:Property name="OutgoingUsername" value="umstest@myumsoauth.onmicrosoft.com"/>
      <ns1:Property name="OutgoingPassword" value=""/>
      <ns1:Property name="IncomingMailServer" value="outlook.office365.com"/>
      <ns1:Property name="IncomingMailServerPort" value="993"/>
      <ns1:Property name="IncomingMailServerSSL" value="false"/>
      <ns1:Property name="IncomingMailIDs" value="umstest@myumsoauth.onmicrosoft.com"/>
      <ns1:Property name="IncomingUserIDs" value="umstest@myumsoauth.onmicrosoft.com"/>
      <ns1:Property name="IncomingUserPasswords" value=""/>
      <ns1:Property name="ProcessingChunkSize" value="100"/>
      <ns1:Property name="ImapAuthPlainDisable" value="false"/>
      <ns1:Property name="CNSMode" value="false"/>
      <ns1:Property name="SMTPAuthUseOAuth2" value="true"/>
      <ns1:Property name="ImapAuthUseOAuth2" value="true"/>
      <ns1:Property name="OAuth2AccessTokenSupplierFactory" value="oracle.sdpinternal.messaging.oauth.ums.ms.UMSO365AccessTokenSupplierFactory"/>
      <ns1:Property name="O365OAuthClientID" value="O365OAuthClientID"/>
      <ns1:Property name="O365OAuthTenantID" value="O365OAuthTenantID"/>
      <ns1:Property name="O365OAuthRefreshTokenScope" value="https://graph.microsoft.com/IMAP.AccessAsUser.All https://graph.microsoft.com/SMTP.Send"/>
      <ns1:Property name="O365OAuthRefreshToken" value="O365OAuthRefreshToken"/>
   </ns1:Driver>
</ns1:MessagingConfiguration>
認可コード・フローを使用したトークンの生成

この項では、次のトピックを取り上げます:

アプリケーション登録の開始
  1. 次のURLを使用して、Microsoft Azureにログインします:
    https://portal.azure.com/
  2. MS O365アカウントの資格証明を入力します。
  3. 上部にあるハンバーガー・メニューをクリックします。
  4. Azure Active Directoryに移動します。

テナントの作成

  1. 「Create a Tenant」をクリックします。

    ノート:

    リストにテナントがない場合は、テナントを作成する必要があります。
  2. 「Configuration」ページで、次のフィールドに詳細を入力します:
    • Organization name
    • Initial domain name
    • Country/Region
  3. 「Review + Create」をクリックします。
  4. 「Azure Active Directory」ページで、左側のナビゲーション・メニューから「App registrations」を選択します。
  5. 「New registration」をクリックします。
  6. 「Register an application」ページで、「Name」フィールドに詳細を指定します。
  7. 「Supported account types」で、「Accounts in this organizational directory only (myumsoauth only - Single tenant)」を選択します。
  8. 「Register」をクリックします。
  9. 左側のナビゲーション・メニューの「Authentication」を選択します。
  10. 「Add a platform」をクリックします。
  11. 「Configure platforms」で、「Mobile and desktop applications」を選択します。
  12. 「Configure Desktop + devices」ページの「Redirect URIs」で、「https://login.microsoftonline.com/common/oauth2/nativeclient」を選択します。

API権限の定義

  1. 左側のナビゲーション・メニューの「API permissions」を選択します。
  2. 「Add a permission」をクリックします。
  3. 「Request API permission」ページで「Delegated permissions」を選択します。
  4. 「Select permissions」フィールドに、次を入力します:
    • IMAP.AccessAsUser.All
    • SMTP.Send
  5. 「Permission」の下にリストされた「IMAP.AccessAsUser.All」および「SMTP.Send」を選択します。

クライアント・シークレットの生成

  1. 左側のナビゲーション・メニューの「Certificates & Secrets」を選択します。
  2. 「New client secret」をクリックします。
  3. 「Add a client secret」で、次のフィールドに詳細を入力します:
    • Description
    • Expires
  4. 「Add」をクリックします。
トークンの生成

次のステップを実行して、アクセス・トークンおよびリフレッシュ・トークンを生成します:

  1. 次の詳細のMicrosoft URLを開きます:
    https://login.microsoftonline.com/<your tenant id>/ oauth2/v2.0/authorize?client_id=<your client id>&scope=IMAP.AccessAsUser.All SMTP.Send&response_type=code&redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclient
    例:
    https://login.microsoftonline.com/887c9fe4-c2e4-4b73-96e7-3f034cde3332/oauth2/v2.0/authorize?client_id=ce347d51-92a8-47ec-85a8-b71a903affc4&scope=IMAP.AccessAsUser.All SMTP.Send&response_type=code&redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclient
  2. プロンプトが表示されたら、MSO 365アカウントの資格証明を入力します。
  3. 「Consent on behalf of your organisation」を選択し、「Accept」をクリックします。
    次の詳細のURLにリダイレクトされます:
    https://login.microsoftonline.com/common/oauth2/nativeclient?code=<code>& session_state=<session state>
    https://login.microsoftonline.com/common/oauth2/nativeclient?code=0.AVYA5J98iOTCc0uW5z8DTN4zMlF9NM6okuxHhai3GpA6_8RWAM8.AQABAAIAAAD--DLA3VO7QrddgJg7WevrBzhwQ-VnAhparfeQA3VEDSXbYwDZ87LvKWkmPUWNZZOTOSa1Ja2rJOuizFnqqnDfFWj4UwryPjBNMeIAeHAgJ_RzhZTPCepmlcV_q9-93V6n0ASfjPbKwzN7A9XGRsZ8HJSJ-vMwGOAZvG3O8ywkMj6m_kOYSkCHEaiRMhSJRrIokpL0b70STHBxeaTXM4u71Mv0C3z-PdJqa4Rqwoboo77CF7hhLMHhtil9tJxSlA6Gvh6JVj0qXH27WvFQO7ZIUqrJZrDae2uCTVwyo70hJJ41trZsm6px8diWUf_zgnxuHAt4YCHNmj5TO-laj-02CKsHWpgzDSk7dduhl9KPnYerxLeE1T8EXjodG289sbsoz939yZe-mMbjyKOIzM-eM7B_WUrpt2zFKYQne0wETbi_o2RAxieMHmV-w2TFv54QeGAyXZ7ECkZuiyVuPPIaYnSRrV67Ps_Rj4LfcJJI2kj3QaRCGAvnUJRoJUb-0m2Bv23DtqPpn0o6tRPSUxiuLOHSWpxLhK7IW5nSfyeRiwzTC9-4YUpAfqf4N0u2yHMEAqrbTKOocJKm7KkadhHb1jyJ_rUYJD-0qHugqEtF0aqFvmvEDB-pOAsPXbtO6rycIjexEZgs26mSKeKv65yZ2lBLtN1XmUXa3Rvoec_GejvYwUeFINICkRa1NCrxMukgAA&session_state=fb6c0bf9-c9ea-43c0-ab07-7523d99e491c
  4. 上記のURLのコード・パラメータ値をコピーします。
  5. 次に示すように、必須パラメータを指定してPOSTリクエストを送信します:
    URL
    https://login.microsoftonline.com/<your tenant id>/oauth2/v2.0/token
    パラメータ

    次の表は、POSTリクエストのパラメータのリストです。

    
    client_id: <your client application id>
    scope: IMAP.AccessAsUser.All SMTP.Send offline_access
    grant_type: authorization_code
    code: The code you got from Step #2
    redirect_uri: https://login.microsoftonline.com/common/oauth2/nativeclient
    Curlコマンド

    次の例は、curlを使用してアクセス・トークンとリフレッシュ・トークンを生成する方法を示しています:

    
    curl --location --request POST 'https://login.microsoftonline.com/887c9fe4-
    c2e4-4b73-96e7-3f034cde3332/oauth2/v2.0/token' \
    
                            --header 'Content-Type: application/x-www-form-
    urlencoded' \
                            --data-urlencode 'client_id=ce347d51-92a8-47ec-
    85a8-b71a903affc4' \
                            --data-urlencode 'scope=IMAP.AccessAsUser.All 
    SMTP.Send offline_access' \
                            --data-urlencode 'grant_type=authorization_code' \
    
                            --data-urlencode 
    'code=0.AVYA5J98iOTCc0uW5z8DTN4zMlF9NM6okuxHhai3GpA6_8RWAM8.AQABAAIAAAD--
    DLA3VO7QrddgJg7WevrBzhwQ-
    VnAhparfeQA3VEDSXbYwDZ87LvKWkmPUWNZZOTOSa1Ja2rJOuizFnqqnDfFWj4UwryPjBNMeIAe
    HAgJ_RzhZTPCepmlcV_q9-93V6n0ASfjPbKwzN7A9XGRsZ8HJSJ-
    vMwGOAZvG3O8ywkMj6m_kOYSkCHEaiRMhSJRrIokpL0b70STHBxeaTXM4u71Mv0C3z-
    PdJqa4Rqwoboo77CF7hhLMHhtil9tJxSlA6Gvh6JVj0qXH27WvFQO7ZIUqrJZrDae2uCTVwyo70
    hJJ41trZsm6px8diWUf_zgnxuHAt4YCHNmj5TO-laj-
    02CKsHWpgzDSk7dduhl9KPnYerxLeE1T8EXjodG289sbsoz939yZe-mMbjyKOIzM-
    eM7B_WUrpt2zFKYQne0wETbi_o2RAxieMHmV-
    w2TFv54QeGAyXZ7ECkZuiyVuPPIaYnSRrV67Ps_Rj4LfcJJI2kj3QaRCGAvnUJRoJUb-
    0m2Bv23DtqPpn0o6tRPSUxiuLOHSWpxLhK7IW5nSfyeRiwzTC9-
    4YUpAfqf4N0u2yHMEAqrbTKOocJKm7KkadhHb1jyJ_rUYJD-0qHugqEtF0aqFvmvEDB-
    pOAsPXbtO6rycIjexEZgs26mSKeKv65yZ2lBLtN1XmUXa3Rvoec_GejvYwUeFINICkRa1NCrxMu
    kgAA' \
                            --data-urlencode 
    'redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclient'
    アクセス・トークンとリフレッシュ・トークンの詳細はレスポンスに含まれます。
トークンの検証

リフレッシュ・トークンの有効性を確認する必要があります。新しいアクセス・トークンを生成するには、POSTリクエストをMSのOAuthトークン生成URLに送信する必要があります。アクセス・トークンを受信すると、検証が完了します。同じリフレッシュ・トークンの値をusermessagingconfig.xmlに設定する必要があります。

curlまたはPOSTMANあるいは任意の適切なクライアントを使用して、次のURLにPOSTリクエストを送信する必要があります:

URL

https://login.microsoftonline.com/<your tenant id>/oauth2/v2.0/token

パラメータ

次の表は、POSTリクエストのパラメータのリストです。


client_id: <your client application id>
scope: IMAP.AccessAsUser.All SMTP.Send offline_access
grant_type: refresh_token
refresh_token: The refresh token that you just obtained
redirect_uri: https://login.microsoftonline.com/common/oauth2/nativeclient

Curlコマンド

次の例は、curlを使用してリフレッシュ・トークンの有効性を検証する方法を示しています:


curl --location --request POST 'https://login.microsoftonline.com/887c9fe4-c2e4-
4b73-96e7-3f034cde3332/oauth2/v2.0/token' \
                        --header 'Content-Type: application/x-www-form-urlencoded' 
\
                       
        --data-urlencode 'client_id=eba0d084-3a6b-4520-83b2-
52ed27a15b7b' \
                       
        --data-urlencode 'scope=https://outlook.office.com/IMAP.AccessAsUser.All
        https://outlook.office.com/SMTP.Send offline_access' \                       
        --data-urlencode 'grant_type=refresh_token' \        
        --data-urlencode 
'refresh_token=0.AVYA5J98iOTCc0uW5z8DTN4zMoTQoOtrOiBFg7JS7SehW3tWAM8.AgABAAEAAAD--
DLA3VO7QrddgJg7WevrAgDs_wQA9P-m1OnkkabmlTMmSH_G5cOl_6_1Cr-
_NoAjwozM1QItkpuWGtxkLiSmAm-o5jg5zTHhFdcxwknuDwCtQ9bNxT32a8xGmeei-
fo5GycV7V6QqApR0jcZqhoGQx1168WeCHBDk7HcTR9RZagoPIgpYCgArdKwSypBOU5s37s2gJG3e9m_flC9
GK0VxycmnQHWmCnFr91-QYeQNSsWA-nMQmhpkmFKBBlIm6BhWz5XCJA1m0J7-ZukuJp_D14OsFhwzzNszH-
wAd9_XEBq62NjTeADkvZ28-
2Ppqiky4hlPi0Go4JtpPh0zsDcOIUJrdJPTIY8GlEy2yJOslksctz4gh_Dg1eq35m_s1EeV8HVPOd3vXZcu
unHWKgrfPIZE7MslS_iu9xeslBcGvEpJNtpC4kdB8uTHLo2g8U8W7nZgyjrc8r09yt0bv27eVWBIRcUKuJe
yAs_mOIUij6eYpwMEAbuiPRd6efA9T-
arwB5iDbOrAfHt1FCnpJNXP166A22KcSx83CmLBrIsJu8wOpxfitj27fKo0sIOeE5e06GvDaZMLI6r02kRW
xJuYdUVSnjosuryREwqdSio735YhM9K0wINMPm6yJTmBL85SuZONN5Nd8DgJCNDfCK_1FGyXeqQvy5TjHRd
W3IBy0SjjAj2VPqtQ2IyuNXrpHxFWsgyqSpESrwkE6LZp6cXTc5DxNz6arilBojlOTKwX9q4KRnnyzcSBX7
pgyziNWACxMgIK4_s-l7WJyjk-oNiwZMGnJgDNYaeLdffvIqtly6vmI' \

                       
        --data-urlencode
'redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclient' \

レスポンス

次の例は、レスポンス本文のアクセス・トークンとリフレッシュ・トークンの詳細を示しています:


{
    "token_type": "Bearer",
    "scope": "EWS.AccessAsUser.All IMAP.AccessAsUser.All Mail.ReadWrite.All SMTP.Send User.Read profile openid email",
    "expires_in": 5397,
    "ext_expires_in": 5397,
    "access_token": 
	"eyJ0eXAiOiJKV1QiLCJub25jZSI6IkpieWVRMkVFbXFMQklhWmk3cXhBdmhxX2I2d3RUTzBpWWlNRnI1Mz
	RzTGMiLCJhbGciOiJSUzI1NiIsIng1dCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyIsImtpZCI6I
	mpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyJ9.eyJhdWQiOiIwMDAwMDAwMy0wMDAwLTAwMDAtYzAwMC0
	wMDAwMDAwMDAwMDAiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC84ODdjOWZlNC1jMmU0LTRiNz
	MtOTZlNy0zZjAzNGNkZTMzMzIvIiwiaWF0IjoxNjU0NzQwMTUwLCJuYmYiOjE2NTQ3NDAxNTAsImV4cCI6M
	TY1NDc0NTg0OCwiYWNjdCI6MCwiYWNyIjoiMSIsImFpbyI6IkUyWmdZUGhXMVpiR1kvYkkySVF6MnMvaTdt
	WlBEL1h5ODF5aW5KZCt4Q3Y4TDJUOTR3d0EiLCJhbXIiOlsicHdkIl0sImFwcF9kaXNwbGF5bmFtZSI6IlR
	lc3QgT0F1dGgiLCJhcHBpZCI6ImViYTBkMDg0LTNhNmItNDUyMC04M2IyLTUyZWQyN2ExNWI3YiIsImFwcG
	lkYWNyIjoiMCIsImZhbWlseV9uYW1lIjoiQmFidSIsImdpdmVuX25hbWUiOiJWZW5rYXRlc2giLCJpZHR5c
	CI6InVzZXIiLCJpcGFkZHIiOiIxMjIuMTY3LjIyNi4yNiIsIm5hbWUiOiJWZW5rYXRlc2ggQmFidSIsIm9p
	ZCI6IjAwYWM5M2JlLTY1MGQtNGRhNy1iNDI2LTE3YzJiODI0ZGI5MiIsInBsYXRmIjoiMyIsInB1aWQiOiI
	xMDAzMjAwMEU1NTE2MThGIiwicHdkX2V4cCI6IjAiLCJwd2RfdXJsIjoiaHR0cHM6Ly9wb3J0YWwubWljcm
	9zb2Z0b25saW5lLmNvbS9DaGFuZ2VQYXNzd29yZC5hc3B4IiwicmgiOiIwLkFWWUE1Sjk4aU9UQ2MwdVc1e
	jhEVE40ek1nTUFBQUFBQUFBQXdBQUFBQUFBQUFCV0FNOC4iLCJzY3AiOiJFV1MuQWNjZXNzQXNVc2VyLkFs
	bCBJTUFQLkFjY2Vzc0FzVXNlci5BbGwgTWFpbC5SZWFkV3JpdGUuQWxsIFNNVFAuU2VuZCBVc2VyLlJlYWQ
	gcHJvZmlsZSBvcGVuaWQgZW1haWwiLCJzaWduaW5fc3RhdGUiOlsia21zaSJdLCJzdWIiOiJGSUdjcnNzQU
	ZTYnNTdW9VNy1KdlFySDlkRzNxbkpLcXpuMnV0dU9VdlpFIiwidGVuYW50X3JlZ2lvbl9zY29wZSI6IkFTI
	iwidGlkIjoiODg3YzlmZTQtYzJlNC00YjczLTk2ZTctM2YwMzRjZGUzMzMyIiwidW5pcXVlX25hbWUiOiJ2
	ZW5rYXRiYWJ1a3JAbXl1bXNvYXV0aC5vbm1pY3Jvc29mdC5jb20iLCJ1cG4iOiJ2ZW5rYXRiYWJ1a3JAbXl
	1bXNvYXV0aC5vbm1pY3Jvc29mdC5jb20iLCJ1dGkiOiJVUG9wS2xWLXVVT1B2X3FWVTB0RUFBIiwidmVyIj
	oiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiLCJiNzlmYmY0Z
	C0zZWY5LTQ2ODktODE0My03NmIxOTRlODU1MDkiXSwieG1zX3N0Ijp7InN1YiI6IlVZWTFXS2hQaGlRUDlf
	bkdNcXJDcU8zVmVfZC1tZzlReVhZSEQ2alNOb1EifSwieG1zX3RjZHQiOjE2MDA2Njk1Mjh9.DT9fHa8_IF
	8bZt6sAUt43ep0slEEKh3ZslSHvLee6cIgbP4ACns_XK6-Xv-f1zqsHHj-2uPU3pLwP0_-
	0sOqILiv4dBEDKqUElzb54EqHQix2-yXqomKCZBspF245kpDX-
	dSbu3hJ3lh_qSTPpTG7jAXvWJdEyST1o1X0mTCt1pn1HAu2GxWhWFf2daVVcmlfuLtjyW82T-
	xKY5NlZvlzx5dxn8-M4Txkg-
	GInwYtcRgrsxHG9HyIY1dNfjoRv5k4uU1tRzQeTrNOa62E6hk26LIdZi9zGgrAV0KVGDbsxnkrmKZy-
	7JkvhGmczTg1PCnpbCdmFnNy1UGf3SjmEOKQ",
	
    "refresh_token": 
	"0.AVYA5J98iOTCc0uW5z8DTN4zMoTQoOtrOiBFg7JS7SehW3tWAM8.AgABAAEAAAD--
	DLA3VO7QrddgJg7WevrAgDs_wQA9P-m1OnkkabmlTMmSH_G5cOl_6_1Cr-
	_NoAjwozM1QItkpuWGtxkLiSmAm-o5jg5zTHhFdcxwknuDwCtQ9bNxT32a8xGmeei-
	fo5GycV7V6QqApR0jcZqhoGQx1168WeCHBDk7HcTR9RZagoPIgpYCgArdKwSypBOU5s37s2gJG3e9m_flC9
	GK0VxycmnQHWmCnFr91-QYeQNSsWA-nMQmhpkmFKBBlIm6BhWz5XCJA1m0J7-ZukuJp_D14OsFhwzzNszH-
	wAd9_XEBq62NjTeADkvZ28-
	2Ppqiky4hlPi0Go4JtpPh0zsDcOIUJrdJPTIY8GlEy2yJOslksctz4gh_Dg1eq35m_s1EeV8HVPOd3vXZcu
	unHWKgrfPIZE7MslS_iu9xeslBcGvEpJNtpC4kdB8uTHLo2g8U8W7nZgyjrc8r09yt0bv27eVWBIRcUKuJe
	yAs_mOIUij6eYpwMEAbuiPRd6efA9T-
	arwB5iDbOrAfHt1FCnpJNXP166A22KcSx83CmLBrIsJu8wOpxfitj27fKo0sIOeE5e06GvDaZMLI6r02kRW
	xJuYdUVSnjosuryREwqdSio735YhM9K0wINMPm6yJTmBL85SuZONN5Nd8DgJCNDfCK_1FGyXeqQvy5TjHRd
	W3IBy0SjjAj2VPqtQ2IyuNXrpHxFWsgyqSpESrwkE6LZp6cXTc5DxNz6arilBojlOTKwX9q4KRnnyzcSBX7
	pgyziNWACxMgIK4_s-l7WJyjk-oNiwZMGnJgDNYaeLdffvIqtly6vmI"
}
クライアント資格証明フローを使用したトークンの生成
usermessagingconfig.xmlファイルにO365OAuthClientSecretおよびO365OAuthClientSecretScopeが提供されている場合、UMSはこれらの2つの値を使用してアクセス・トークンを内部的に生成します。
O365OAuthClientSecretおよびO365OAuthClientSecretScope値を使用してアクセス・トークンを生成するには、次のステップを実行します:
  1. 新しいアカウントを作成して構成します。
    アカウントの構成の詳細は、UMS構成ファイルの更新を参照してください。
  2. 次の新しい権限を追加します:
    • IMAP.AccessAsApp
    • POP.AccessAsApp
    • SMTP.SendAsApp
  3. 新しいクライアント・シークレットを作成し、コピーします。

    ノート:

    新しいクライアント・シークレットは1回しか表示されません(このページからいったん離れるとシークレットは表示されなくなります)。このため、新しいシークレット値をコピーして保存する必要があります。
  4. 次に説明するように、PowerShellを接続し、メールボックス権限を追加します:
    1. ExchangeOnlineManagementのインストールとインポート
      次の2つのコマンドを実行します。
      Install-Module -Name ExchangeOnlineManagement -allowprerelease
      Import-module ExchangeOnlineManagement

      ノート:

      初めて接続する場合は、2つのコマンドを実行する必要があります。
    2. Exchange Onlineの接続
      次のコマンドを実行します。
      Connect-ExchangeOnline -Organization <Tenant id>
      例:
      Connect-ExchangeOnline -Organization 887c9fe4-c2e4-4b73-96e7-3f034cde3332

      ノート:

      Azureポータルのログイン・ウィンドウが表示されます。ポータルにログインしてクローズする必要があります。
    3. メールボックス権限の追加
      次のコマンドを実行します:
      New-ServicePrincipal -AppId <> -ObjectId <>
      例:
      New-ServicePrincipal -AppId eba0d084-3a6b-4520-83b2-52ed27a15b7b -ObjectId 31cb91f7-84fd-40e6-bb30-7b41371b95a7
      Add-MailboxPermission -Identity <user_mail_id> -User <ObjectId> -AccessRights FullAccess
      例:
      Add-MailboxPermission -Identity venkatbabukr@myumsoauth.onmicrosoft.com -User 31cb91f7-84fd-40e6-bb30-7b41371b95a7 -AccessRights FullAccess
  5. usermessagingcofnig.xmlファイルにクライアント・シークレットを入力します。
  6. SOAサーバーを再起動します。

    ノート:

    O365OAuthClientSecretおよびO365OAuthClientSecretScope値が提供されない場合、システムはリフレッシュ・トークンを使用してアクセス・トークンを生成します。
SMTP AUTHの有効化
Microsoft 365管理センターまたはExchange Online PowerShellには、SMTP AUTHの有効化や無効化のためのメールボックスの事前設定が用意されています。
次のステップを実行して、特定のメールボックスでSMTP AUTHを有効にします:
  1. 次のURLを使用して、Microsoft 365管理センターを開きます:
  2. ドメイン管理者の電子メールIDとパスワードを入力します。
  3. 左側のナビゲーション・メニューの「Users」を選択します。
  4. 「Active Users」を選択します。
  5. ユーザーの表示名をクリックします。
    ユーザーの詳細を含むフライアウトが表示されます。
  6. 「Mail」を選択します。
  7. 「Email apps」で、「Manage email apps」を選択します。
  8. 「Manage email apps」ページで、「Authenticated SMTP」オプションを選択します。
  9. 「Save changes」をクリックします。
SendAsDeniedの構成
Microsoft管理ポータルでSendAsDeniedを構成する必要があります。
次のステップを実行して、Microsoft管理ポータルでSendAsDeniedを構成します:
  1. 次のURLを使用して、Microsoft 365管理センターを開きます:
  2. ドメイン管理者の電子メールIDとパスワードを入力します。
  3. 左側のナビゲーション・メニューの「Users」を選択します。
  4. 「Active Users」を選択します。
  5. ユーザーの表示名をクリックして、ユーザーの詳細を表示します。
  6. 「Mail」を選択します。
  7. 「Mailbox Permissions」で、「Send on behalf of permissions」をクリックします。
  8. 「Add a permission」を選択します。
  9. OAuthユーザーの電子メールを選択します。
  10. SOAサービスを再起動します。
    Microsoft側でキャッシュが更新されるまで1時間待つ必要があります(すぐに更新されない場合)。
複数のインバウンド電子メールIDの構成
複数のインバウンド電子メールIDを構成し、OAuthユーザーに権限を付与できます。
次のステップを実行して、インバウンド電子メールIDを構成します:
  1. 次のURLを使用して、Microsoft 365管理センターを開きます:
  2. ドメイン管理者の電子メールIDとパスワードを入力します。
  3. 左側のナビゲーション・メニューの「Users」を選択します。
  4. 「Active Users」を選択します。
  5. UMSインバウンド・フローに対して構成する必要があるユーザーを選択します。
    たとえば、inbounduser1@domain.comです。
  6. 「Mail」を選択します。
  7. 「Mailbox Permissions」で、「Send on behalf of permissions」をクリックします。
  8. 「Add a permission」を選択します。
  9. OAuthとして構成する必要があるユーザーのUMS電子メールを選択します。
    たとえば、oauthuser1@domain.comです。
  10. 「Add」をクリックします。

    ノート:

    usermessagingconfig.xmlにIncomingUserPasswordsのパスワードが保存されていないことを確認する必要があります。
SMPPドライバの構成

Short Message Peer-to-Peer (SMPP)は、一般的なGSM SMSプロトコルです。UMSには、事前作成のSMPPプロトコルの実装が、ショート・メッセージを送受信できるドライバとして組み込まれています。送信機能が有効な場合、SMPPドライバは、メッセージを送信するための送信側システムとしてショート・メッセージ・サービス・センター(SMS-C)に対して1つのTCP接続を開きます。ドライバの受信機能が有効な場合は、メッセージを受信するための受信側システムとしてSMS-Cに別の接続を開きます。ドライバとSMS-C間のすべての通信に必要なのは、2つのTCP接続(両方ともドライバが開始する)のみです。

ノート:

SMPPドライバは、SMPPプロトコルのバージョン3.4を実装し、このバージョンをサポートするSMS-CまたはSMSゲートウェイへの接続のみをサポートします。
共通プロパティ

表4-11に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。これらのプロパティの詳細は、表4-2を参照してください。使用可能な値の完全なリストについては、ユーザー・メッセージング・サービスJava APIリファレンスを参照してください。

表4-11 共通のSMPPプロパティ

名前 必須 デフォルト値

InstanceName

はい

SMPP-Driver

Capability

はい

Both

SupportedDeliveryTypes

はい

SMS

SupportedContentTypes

はい

text/plain

SupportedStatusTypes

いいえ

DELIVERY_TO_GATEWAY_SUCCESS、DELIVERY_TO_GATEWAY_FAILURE

Cost

いいえ

N/A

Speed

いいえ

N/A

SupportedCarriers

いいえ

N/A

Configuration Level

はい

サーバー/クラスタ

Supported Protocols

いいえ

N/A

SenderAddresses

いいえ

N/A

DefaultSenderAddress

いいえ

N/A

Supported Application Names

いいえ

SMPPのカスタム・プロパティ

表4-12に、このドライバに固有のプロパティを示します。これらは通常、リモート・ゲートウェイへのアクセス構成、および特定のプロトコルやチャネル固有の動作に関連します。

表4-12 カスタムのSMPPプロパティ

名前 説明 必須 デフォルト値

SmsAccountId

この値は、SMPPドライバがメッセージをリクエストする宛先サーバーのアドレス値を示します。この値はUNIXの正規表現で指定します。たとえば、「555」は単一のアドレス、「^123|^789」は123または789で始まるすべてのアドレスを示します。

はい

N/A

SmsServerHost

SMS-Cサーバーの名前(またはIPアドレス)。

はい

N/A

TransmitterSystemId

メッセージの送信に使用するアカウントID。

はい

N/A

ReceiverSystemId

メッセージの受信に使用するアカウントID。

はい

N/A

TransmitterSystemType

送信側システムのタイプ。デフォルトはLogicaです。

はい

デフォルト値はLogicaです。

ReceiverSystemType

受信側システムのタイプ。デフォルトはLogicaです。

はい

デフォルト値はLogicaです。

TransmitterSystemPassword

送信側システムのパスワード。パスワードのタイプ(「間接パスワード、新規のユーザーの作成」、「間接パスワード、既存のユーザーの使用」、「クリアテキスト・パスワードの使用」から選択)とパスワードが含まれています。

はい

N/A

ReceiverSystemPassword

受信側システムのパスワード。パスワードのタイプ(「間接パスワード、新規のユーザーの作成」、「間接パスワード、既存のユーザーの使用」、「クリアテキスト・パスワードの使用」から選択)とパスワードが含まれています。

はい

N/A

ServerTransmitterPort

送信側サーバーのTCPポート番号。

はい

N/A

ServerReceiverPort

受信側サーバーのTCPポート番号。

はい

N/A

DefaultEncoding

受信メッセージに使用されます。SMS-CがエンコーディングをSMSC Default Alphabetに指定すると、これがSMPPドライバが前提とするエンコーディングになります。

ドロップダウン・リストで「IA5」、「UCS2」、「GSM_DEFAULT」、「ISO-8859-1」の中から選択します

いいえ

IA5

PreferredEncoding

送信メッセージに使用されます。設定した場合、テキストはPreferredEncodingパラメータに従ってエンコードされます。エンコーディングに失敗した場合(つまり、指定されたエンコーダを使用して文字をエンコードできない)、ドライバは16ビット・エンコーディングUCS2を使用します。

設定しない場合、ドライバはUMSメッセージのContent-Typeヘッダーからエンコーディングを導出しようとします。

ドロップダウン・リストで「IA5」、「UCS2」、「GSM_DEFAULT」、「ISO-8859-1」の中から選択します

いいえ

IA5

LocalSendingPort

SMPPドライバがSMS-Cへのメッセージの送信に使用するローカルTCPポート。

いいえ

N/A

LocalReceivingPort

SMPPドライバがSMS-Cからのメッセージの受信に使用するローカルTCPポート。

いいえ

N/A

LocalAddress

SMPPドライバをホスト管理するサーバーのホスト名(またはIPアドレス)。

いいえ

N/A

WindowSize

SMSのウィンドウ・サイズ。値は正数である必要があります。デフォルトは1です。

いいえ

1

EnquireInterval

SMS-Cへの問合せメッセージの送信間隔(秒単位)。デフォルトは、30秒間です。

いいえ

30

ThrottleDelay

スロットル間の遅延(秒単位)。デフォルトは30です。

いいえ

30

BindRetryDelay

バインド・エントリの試行間の最小遅延(秒単位)。デフォルトは30です。

いいえ

30

ResponseTimer

SMPPリクエストとレスポンス間に許可された経過時間(秒単位)。デフォルトは30です。

いいえ

30

RegisteredDeliveryMask

登録済配信ビット・マスク。デフォルトは0xFFで、配信フラグ値を変更しません。

いいえ

0xFF

RangeSetNull

trueに設定すると、BIND_RECEIVERのアドレス範囲フィールドがnullに設定されます。false(デフォルト値)に設定すると、アドレス範囲フィールドがSmsSystemIdに設定されます。デフォルトは「無効」です。

いいえ

無効

PriorityAllowed

SMPPドライバによってSMS-Cへのメッセージに設定される最高優先度。クライアント・アプリケーションによって設定されるUMSメッセージの優先度は、SMPPの優先度に変換されますが、PriorityAllowedによって制限されます。範囲は0(標準)から3(最高)です。デフォルトは0です。

いいえ

0

BulkSending

この値を「有効」(デフォルト)に設定すると、複数のメッセージをSMS-Cに一括送信できます。

いいえ。

有効

PayloadSending

このプロパティを有効にすると、SMPPドライバはSMS-Cにメッセージを送信する際、常にSMPP仕様で定義されているmessage_payloadパラメータを使用します。デフォルトは「無効」です。

いいえ

無効

SourceTon

SMPP受信側セッションを経由して提供されるESMEアドレスの番号のタイプ(TON)。デフォルトは0です。

いいえ

0

SourceNpi

SMPP受信側セッションを経由して提供されるESMEアドレスの番号計画識別子(NPI)。デフォルトは0です。

いいえ

0

DestinationTon

宛先のTON。デフォルトは0です。

いいえ

0

DestinationNpi

宛先のNPI。デフォルトは0です。

いいえ

0

MaxChunks

1メッセージに対する最大SMSチャンク数。デフォルトは-1(最大値なし)です。

いいえ

-1 (最大値なし)

ChunkSize

各SMSメッセージ・チャンクの最大サイズ。デフォルトは160です。

いいえ

160

LongMessageSending

断片化されたメッセージのためにオプションのSMPPパラメータsar_msg_ref_numsar_total_segmentsおよびsar_segment_seqnumを設定することによって、長いメッセージの送信がサポートされます。デフォルト値は「有効」です。

いいえ

有効

DatagramMessageMode

データグラム・メッセージ・モードをサポートします。デフォルトは「無効」です。

いいえ

無効

Optional Params

SMSとともに追加パラメータ(TLV)を渡すことをサポートします。

いいえ

XMPPドライバの構成

XMPPドライバは、Extensible Messaging and Presence Protocol (XMPP)を介したリアルタイムIMの場合に、Oracle Fusion Middlewareからエンド・ユーザーへの一方向または双方向のアクセスを提供します。このドライバを使用すると、エンド・ユーザーは、選択したIMクライアントを介して、アラート通知を受信したり、複数のアプリケーションと相互にチャットできます。

次のタスクを実行して、XMPPドライバを構成します。

タスク1: Ejabberdの設定

XMPPドライバはEjabberdを使用して設定する必要があります。これは、大規模なチャットや即時コミュニケーションなどリアルタイム・サービスを作成するために構築されたXMPPサーバー(Jabberサーバー)、MQTTブローカおよびSIPゲートウェイです。

Ejabberdの設定方法の詳細は、ejabberdのインストールを参照してください。

SERVERNAME、USERNAMEおよびPASSWORDを含む管理アカウント詳細は、ドライバを設定するように構成されています。

SSLを無効にするには、/opt/ejabberd/conf/にあるEjabberd ejabberd.ymlの構成ファイルを変更する必要があります:


listen:
  -
    port: 5222
    ip: "::"
    module: ejabberd_c2s
    max_stanza_size: 262144
    shaper: c2s_shaper
    access: c2s
    starttls_required: false

タスク2: UMSでのXMPPドライバの構成

EMを使用してUMSでドライバを構成する場合は、ドライバ・プロパティを作成または更新する必要があります。

次のステップを実行して、ドライバ・プロパティを更新します:

  1. EMにログインします。
  2. 「EM」をクリックし、「ユーザー・メッセージング・サービス」を選択して「usermessagingdriver-xmpp」をクリックし、「ドライバ・プロパティ」を選択して「作成」をクリックします。
  3. 「ドライバ・プロパティ」ページで、次のフィールドを更新します:

    表4-13 ドライバ・プロパティ

    フィールド 更新

    名前

    APPNAME

    IMサーバー・ホスト

    SERVERNAME

    IMサーバー・ポート

    5222

    IMサーバー・ユーザー名

    USERNAME@SERVERNAME

    IMサーバー・パスワード

    「IMサーバー・パスワード」セクション。

    パスワードのタイプ クリアテキスト・パスワードを使用します。
    パスワード Ejabberdで構成されたパスワードを入力します。
    セキュリティ・モード なし
    SASL認証の有効化 無効

EMを使用してUMSでドライバを構成していない場合は、次のようにXMPPドライバ構成を構成ファイルに追加します:


<ns1:Property name="IMServerHost" value="SERVERNAME"/>
<ns1:Property name="IMServerPort" value="5222"/>
<ns1:Property name="IMServerUsername" value="USERNAME@SERVERNAME"/>
<ns1:Property name="IMServerPassword" value="PASSWORD"/>
<ns1:Property name="SecurityMode" value="None"/>
<ns1:Property name="SASLAuthenticationEnabled" value="false"/>

タスク3: ドライバの検証およびテスト

ドライバを検証して、構成が正しいことを確認する必要があります。検証後、CoccinellaなどのEjabberdでサポートされているクライアントを使用してドライバをテストします。

共通プロパティ

表4-14に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。これらのプロパティの詳細は、表4-2を参照してください。使用可能な値の完全なリストについては、ユーザー・メッセージング・サービスJava APIリファレンスを参照してください。

表4-14 共通のXMPPプロパティ

名前 必須 デフォルト値

InstanceName

はい

usermessagingdriver-xmpp

Capability

はい

SEND、RECEIVE

SupportedDeliveryTypes

はい

IM

SupportedContentTypes

はい

text/plain

SupportedStatusTypes

いいえ

DELIVERY_TO_GATEWAY_SUCCESS、DELIVERY_TO_GATEWAY_FAILURE

Cost

いいえ

N/A

Speed

いいえ

N/A

SupportedCarriers

いいえ

N/A

Configuration Level

はい

サーバー/クラスタ

Supported Protocols

いいえ

XMPP

Supported Application Names いいえ
Driver Type はい ユーザー・メッセージングXMPPドライバ

SenderAddresses

いいえ

N/A

DefaultSenderAddress

いいえ

N/A

XMPPのカスタム・プロパティ

表4-15に、XMPPドライバに含まれるカスタム・プロパティを示します。

表4-15 カスタムのXMPPプロパティ

名前 説明 必須 デフォルト値

IMサーバー・ホスト

Jabber/XMPPサーバー・ホスト名。

はい

 

IMサーバー・ポート

対応するJabber/XMPPサーバー・ポート。

はい

5222

IMサーバー・ユーザー名

ログインのためのJabber/XMPPユーザー名を入力します。ドメイン名がJabber/XMPPサーバー・ホスト名と異なる場合は、完全なJabber IDを入力することもできます。

はい

 

IMサーバー・パスワード

ユーザー名に対するパスワード。

いいえ

間接パスワード、新規ユーザーの作成

SecurityMode

サーバーへの接続を確立するときに使用するセキュリティ・モード。使用可能なオプションは次のとおりです:
  • なし(セキュリティが無効になり、暗号化されていない接続のみが使用されます)
  • TLS (使用可能であればTLS暗号化によるセキュリティが常に使用されます)
  • SSL (SSL暗号化によるセキュリティが使用されます)

いいえ

TLS

SASL認証の有効化

サーバーへのログイン時にSASL認証を使用するかどうか。SASL認証に失敗した場合、ドライバは非SASL認証を使用します。

いいえ

有効

APNSドライバの構成

Apple Push Notification Service ( APNS)ドライバは、APNS APIサーバーと通信するUMSドライバです。Appleから取得したアプリケーションの証明書は、OPSSサブシステムのWLSサーバーに保存する必要があります。APNSドライバの構成の前提条件の詳細は、APNSドライバを構成するための前提条件を参照してください。

APNSドライバを構成するための前提条件

APNSドライバを使用してプッシュ通知を送信するには、ドライバはiOSアプリケーション固有の証明書にアクセスする必要があります。証明書(公開キーと秘密キー)はAppleの開発者ポータルから取得します。

タスク1: Entrustからの信頼証明書のインストール

アプリケーションのAPNSキー(.p12)と証明書をモバイル・アプリケーション・チームから取得します。開発タスクを実行するには、UMS用に提供されているサンドボックス・キーおよび証明書を使用します。

タスク2: ドメインへの証明書のインポート

次のコマンドを実行して、証明書の別名を抽出します:

keytool -list -v -keystore ent1_ums_demo.p12 -storetype PKCS12

証明書はPKCS #12ファイル(ファイル拡張子はp12またはpfxです)にパッケージ化されています。証明書をキーストア・サービスにインポートするには、事前にアーカイブをJavaKeyStoreファイル(ファイル拡張子jks)に変換する必要があります。

次のコマンドを実行し、keytoolコマンド(JDKに含まれる)を使用してアーカイブを変換します:

keytool -importkeystore -destkeystore apns-prod-server-testapns-21112023.jks -srckeystore ent1_ums_demo.p12 -srcstoretype PKCS12 -destalias apns-prod-server-testapns-21112023 -deststorepass welcome1 -destkeypass welcome1 -alias ent1_ums_demo

UMSは、インポートされた証明書に使用する必要があるapnsという事前定義済のキーストアとともに出荷されています。

次のサンプルは、WSLTを使用して証明書をキーストア・サービスにインポートする方法を示しています:

getOpssService(name='KeyStoreService').importKeyStore(appStripe='ums', name='apns', password='welcome1', aliases='apns-prod-server-testapns-21112023', keypasswords='welcome1', type='JKS', permission=true, filepath="/scratch/anegupta/keysncerts/apns-prod-server-testapns-21112023.jks")

ノート:

値のaliasesパラメータ(前述のコマンドの)は、APNSドライバ構成の別名プロパティおよびキーストア名の両方と一致している必要があります。

apnsと異なるキーストアが使用されている場合は、新しいキーストアを作成するために使用された値と同じappstripe値を使用して、UMSに追加の権限が付与される必要があります。

UMSの共有ライブラリoracle.sdp.clientには、同じappstripeを使用してoracle.security.jps.service.keystore.KeyStoreAccessPermission権限が付与される必要があります。

次のコマンドを実行して、apns証明書をWebLogicの構成済キーストア(環境に構成されているキーストアを選択)にインポートします:

keytool -importcert -keystore "..fmwhome12/wlserver/server/lib/DemoTrust.jks" -storepass DemoTrustKeyStorePassPhrase -file apns.cer -alias "apns.cer"

タスク3: UMS DBのdriverproperties表での新しい別名の更新:

UMSのドライバ・プロパティの更新は、次で説明するMBeanを使用して実行できます:

MBean名

oracle.ucs.messaging:Location=ESS_SOAServer_1,name=UserPrefsAdministration,type=SDPMessagingRuntime

ノート:

ESS_SOAServer_1以外の他のSOAサーバー・インスタンスを使用してこのMBeanを呼び出すこともできます。

操作名

saveDriverProperties

パラメータ

P1 - driverName

P2 - propertyName

P3 - propertyValue

たとえば、saveDriverProperties ("usermessagingdriver-apns-HCM", "Alias","apns-prod-server-hcm-12122023")です。


mBean = ObjectName("oracle.ucs.messaging:Location=ESS_SOAServer_1,name=UserPrefsAdministration,type=SDPMessagingRuntime")           
set_param = ['usermessagingdriver-apns-HCM', 'Alias', 'apns-prod-server-hcm-12122023']
set_type = ["java.lang.String", "java.lang.String", "java.lang.String"]
mbs.invoke(mBean, "saveDriverProperties", set_param, set_type)

タスク4: APNSリモート通知サーバーのAAA証明書のインポート

APNとの信頼できる接続を確立して、リモート通知サーバーを設定します。信頼できる接続を作成するには、AAA証明書サービスのルート証明書を各サーバーにインストールする必要があります。

次のリンクから証明書をダウンロードします:

リモート通知サーバーの設定

証明書をダウンロードした後、次のコマンドを実行して、WebLogicの構成済キーストアに証明書をインポートします:

keytool -importcert -keystore "../fmwhome12/wlserver/server/lib/DemoTrust.jks" -storepass DemoTrustKeyStorePassPhrase -file AAACertificateServices.crt -alias "AAACertificateServices.crt"

ノート:

環境で構成されたキーストアを選択します。

タスク5: UMSでのAPNSドライバの構成

EMを使用してUMSでドライバを構成する場合は、ドライバ・プロパティを作成または更新する必要があります。

次のステップを実行して、ドライバ・プロパティを更新します:

  1. EMにログインします。
  2. 「EM」をクリックし、「ユーザー・メッセージング・サービス」を選択して「usermessagingdriver-xmpp」をクリックし、「ドライバ・プロパティ」を選択して「作成」をクリックします。
  3. 「ドライバ・プロパティ」ページで、次のフィールドを更新します:

    表4-16 ドライバ・プロパティ

    フィールド
    名前 APPNAME
    送信者アドレス URI:APNS:UMS_SENDERNAME
    サービス・モード サンドボックス
    キーストア名 apns
    別名 apns-sand-server
    モバイル・アプリ・トピック com.oraclecorp.ums.demo

EMを使用してUMSでドライバを構成していない場合は、次のAPNSドライバ構成を構成ファイルに追加する必要があります:


<ns1:Property name="SenderAddresses" value="URI:APNS:UMS_SENDERNAME"/>
<ns1:Property name="ServiceMode" value="sandbox"/>
<ns1:Property name="KeyStoreName" value="apns"/>

#This Alias should be the same which is provided while importing CRM keys to the weblogic’s keystore
<ns1:Property name="Alias" value="apns-sand-server"/>

#Name of the mobile app topic to which push notification will be send. APNs uses the app's bundle ID as the default topic, e.g. 
'com.oraclecorp.example.myapp'.
<ns1:Property name="AppTopic" value="com.oraclecorp.ums.demo"/>

タスク6: ドライバの検証およびテスト

ドライバを検証して、構成が正しいことを確認する必要があります。検証が完了したら、ドライバをテストする必要があります。

ドライバ・プロパティの保存の詳細は、ドライバ・プロパティの保存を参照してください。

共通プロパティ

表4-17に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。これらのプロパティの詳細は、表4-2を参照してください。使用可能な値の完全なリストについては、ユーザー・メッセージング・サービスJava APIリファレンスを参照してください。

表4-17 APNSドライバの共通プロパティ

名前 必須 デフォルト値

InstanceName

はい

usermessagingdriver-apns

Capability

はい

SEND、RECEIVE

SupportedDeliveryTypes

はい

URI

SupportedContentTypes

はい

text/plain、application/json

SupportedStatusTypes

はい

DELIVERY_TO_GATEWAY_FAILURE、DELIVERY_TO_GATEWAY_SUCCESS、DELIVERY_TO_DEVICE_FAILURE

Cost

いいえ

N/A

Speed

いいえ

N/A

SupportedCarriers

はい

N/A

Configuration Level

はい

サーバー/クラスタ

Supported Protocols

いいえ

apns

Supported Application Names

いいえ

ドライバ・タイプ

いいえ

ユーザー・メッセージングAPNSドライバ

SenderAddresses

いいえ

N/A

DefaultSenderAddress

いいえ

N/A

APNSのカスタム・プロパティ

表4-18に、APNSドライバに固有の構成可能なプロパティをリストします。

表4-18 APNSドライバのカスタム・プロパティ

名前 説明 必須 デフォルト値

サービス・モード

APNsの本番環境を判別します

はい

キーストア名

APNsとの通信に使用される秘密キーおよび証明書を保持するKSSのキーストアの名前。デフォルト以外のキーストアを使用する場合は、キーストアの読取り権限をUMSに付与する必要があります。

はい

apns

別名

キーストア内の秘密キー証明書ペアの別名。

はい

モバイル・アプリ・トピック

プッシュ通知の送信先のモバイル・アプリ・トピック(またはAppleモバイル・アプリID)の名前。APNは、アプリケーションのバンドルIDをデフォルト・トピックとして使用します。

はい

GCMドライバの構成

Google Cloud Messaging (GCM)ドライバは、モバイル・プッシュ通知サービス用のUMSドライバです。これを使用してモバイル・プッシュ通知をAndroidアプリケーションに送信できます。

GCMドライバを構成するには、次のタスクを実行する必要があります。

タスク1: アプリケーション・サービス・アカウントの秘密キー・ファイルの取得

GCMドライバは、サービス・アカウントを使用して設定する必要があります。これは秘密キー・ファイル(JSONファイル)を取得することで行います。次のステップを実行して、秘密キー・ファイルを取得します:

  1. 次のURLを使用してFirebaseコンソールを開きます:

    https://console.firebase.google.com

  2. 「Project Settings」アイコンをクリックします。

    「Project Settings」ページが表示されます。

  3. 「Service Accounts」を選択します。
  4. 「Firebase Admin SDK」ダイアログ・ボックスで、「Generate new private key」をクリックします。

    秘密キーの詳細を含むJSONファイルが生成されます。

  5. JSONファイルを保存します。

タスク2: UMSでのGCMドライバの構成

EMを使用してUMSでドライバを構成する場合は、ドライバ・プロパティを作成または更新する必要があります。

次のステップを実行して、ドライバ・プロパティを更新します:

  1. 次に示すように、「ドライバ・プロパティ」ページに移動します:

    EM「ユーザー・メッセージング・サービス」「usermessagingdriver-apns」「ドライバ・プロパティ」「作成」

  2. 「ドライバ・プロパティ」ページで、次のフィールドを更新します:

    表4-19 ドライバ・プロパティ

    フィールド 更新
    名前 GCM_APPNAME
    送信者アドレス URI:GCM:APPNAME
    サービス・モード 本番
    FCMサービス・アカウントJSON  
    パスワードのタイプ 間接パスワード、新規ユーザーの作成
    間接ユーザー名/キー APPNAMEKEY
    パスワード タスク1で取得した秘密キー・ファイル(JSONファイル)の詳細を入力します。ファイルがWebLogicの資格証明ストアに追加されます。

EMを使用してUMSでドライバを構成していない場合は、秘密キーを資格証明ストアに追加する必要があります。

次のWLSTコマンドを実行して、秘密キーを資格証明ストアに追加します:

createCred(map="UCS", key="UMSDriver.GCM_APPNAME.ApiKey.APPNAMEKEY", user="UMSDriver.GCM_APPNAME.ApiKey.APPNAMEKEY", password="<content of private key file obtained in Task 1>", desc="")

詳細は、OPSSセキュリティ・ストアのWLSTコマンドを参照してください。

GCMドライバ構成を構成ファイルに追加し、次のようにUMSでドライバを構成します:


<ns1:Property name="SenderAddresses" value="URI:GCM:APPNAME"/>
<ns1:Property name="ApiKey" value="->UCS:UMSDriver.GCM_APPNAME.ApiKey.APPNAMEKEY"/>
<ns1:Property name="ServiceMode" value="production"/>

タスク3: ドライバの検証およびテスト

ドライバを検証して、構成が正しいことを確認する必要があります。検証が完了したら、ドライバをテストする必要があります。

共通プロパティ

表4-20に、メッセージング・エンジンがアウトバウンド・メッセージをルーティングする際に使用する、このドライバの機能を示す共通プロパティをリストします。通常、ドライバ開発者が設定する一部のプロパティは変更不要ですが、他のプロパティは、ルーティング動作を変更するために、管理者が変更できます。これらのプロパティの詳細は、表4-2を参照してください。使用可能な値の完全なリストについては、ユーザー・メッセージング・サービスJava APIリファレンスを参照してください。

表4-20 共通プロパティGCMドライバ

名前 必須 デフォルト値

InstanceName

はい

usermessagingdriver-gcm

Capability

はい

SEND

SupportedDeliveryTypes

はい

URI

SupportedContentTypes

はい

text/plain

SupportedStatusTypes

はい

DELIVERY_TO_GATEWAY_FAILURE、DELIVERY_TO_GATEWAY_SUCCESS、DELIVERY_TO_DEVICE_FAILURE

Cost

いいえ

N/A

Speed

いいえ

N/A

SupportedCarriers

はい

N/A

Configuration Level

はい

サーバー/クラスタ

Supported Protocols

いいえ

gcm

Supported Application Names

いいえ

ドライバ・タイプ

いいえ

ユーザー・メッセージングGCMドライバ

SenderAddresses

いいえ

N/A

DefaultSenderAddress

いいえ

N/A

GCMのカスタム・プロパティ

表4-21に、このドライバに固有のプロパティを示します。これらは通常、リモート・ゲートウェイへのアクセス構成、および特定のプロトコルやチャネル固有の動作に関連します。

表4-21 カスタム・プロパティGCMドライバ

名前 説明 必須 デフォルト値

FCMサービス・アカウントJSON

Firebaseサービス・アカウントJSONは、Google Firebase APIの認証に使用されます。これにより、Google Firebaseサービスへの認可アクセスがドライバに提供されます。

はい

間接パスワード、新規ユーザーの作成

サービス・モード

GCMドライバが通知を送信する先の環境を決定します。「本番」では、通知がGoogleのFirebase APIのURLに送信されます。「ローカル」では、通知がLocalEndpointURLパラメータに指定されたURLに送信されます。

はい

本番

ローカル・エンドポイントURL

GCMサービスのURL。「サービス・モード」の値が「ローカル」に設定されている場合にのみ使用されます。「サービス・モード」の値が「ローカル」に設定されているとき、このパラメータは必須です。

いいえ

 

LDAPユーザー・プロファイルへのユーザー・メッセージング・サービスのアクセスの構成

UMSデプロイメントでのLDAPプロバイダの設定の一環として、WebLogicリモート・コンソールを介して「ユーザー名属性」を構成します。デフォルトのcn以外の値でこの属性を構成する場合、またはユーザーの電子メール・アドレスがmailとは異なるLDAP属性に格納されている場合、UMSがユーザー・プロファイルに正常にアクセスして、勤務先電子メールなど、LDAPでプロビジョニングされた通信チャネルのリストを取得するには、Oracle Platform Security Services (OPSS)で追加の構成変更を行う必要があります。

Oracle Platform Security Services (OPSS)の詳細は、Oracle Platform Security Servicesによるアプリケーションの保護を参照してください。

LDAPユーザー・プロファイルへのアクセスを構成するには:

  1. 『Fusion Middleware Oracle Business Intelligenceエンタープライズ・デプロイメント・ガイド』の指示に従って、LDAPを使用するようにアイデンティティ・ストアを構成します。

    ノート:

    構成ファイルのバックアップの項で他のプロパティを定義している場合があります。
  2. バックエンドLDAPサーバー上のユーザー・プロファイルを検索する際に「ユーザー名属性」の値を使用するには、次の要素を追加します。

    <property name="username.attr" value="username_attribute_value"/>
    

    ここで、username_attribute_valueは、LDAPプロバイダ構成の「ユーザー名属性」プロパティの値です。たとえば、「ユーザー名属性」の値がmailの場合は、次の行を追加します。

    <property name="username.attr" value="mail"/> 
    

    次のコード例は、jps-config.xmlファイルに挿入された前述の行を示しています。

    <!-- JPS WLS LDAP Identity Store Service Instance --> 
      
    <serviceInstance name="idstore.ldap" provider="idstore.ldap.provider"> 
     
      <property name="idstore.config.provider"
    value="oracle.security.jps.wls.internal.idstore.WlsLdapIdStoreConfigProvide
    r"/> 
    
      <property name="CONNECTION_POOL_CLASS" 
    value="oracle.security.idm.providers.stdldap.JNDIPool"/> 
     
      <property name="username.attr" value="mail"/> 
     
    </serviceInstance>
     

    ユーザーの勤務先電子メール・アドレスを格納しているLDAP属性がmail属性以外である場合は、次の要素を追加します。

    <property name="PROPERTY_ATTRIBUTE_MAPPING" value="BUSINESS_EMAIL=attr_containing_email"/>

    ここで、attr_containing_emailは、ユーザーの電子メール・アドレスを格納しているLDAPプロバイダの属性名です。たとえば、電子メール・アドレスを格納しているユーザー属性がexternalEmailの場合は、次の行を追加します。

    <property name="PROPERTY_ATTRIBUTE_MAPPING" value="BUSINESS_EMAIL=externalEmail"/>  
    

    次のコード例は、jps-config.xmlファイルに挿入された前述の行を示しています。

    <!-- JPS WLS LDAP Identity Store Service Instance --> 
      
    <serviceInstance name="idstore.ldap" provider="idstore.ldap.provider">  
     
      <property name="idstore.config.provider"
    value="oracle.security.jps.wls.internal.idstore.WlsLdapIdStoreConfigProvide
    r"/>  
    
      <property name="CONNECTION_POOL_CLASS"
     value="oracle.security.idm.providers.stdldap.JNDIPool"/>  
     
      <property name="PROPERTY_ATTRIBUTE_MAPPING" value="BUSINESS_
    EMAIL=externalEmail"/> 
     
    </serviceInstance>
     
  3. ドメインを再起動します。

グループ・メッセージングのためのOracle User Messaging Serviceの使用

UMSは、様々なチャネルによる双方向のマルチ・チャネル・メッセージングのサポートに加えて、グループ・メッセージングもサポートしています。この機能を使用すると、グループのURIにメッセージを送信してユーザーのグループにメッセージを送信したり、LDAPグループ(エンタープライズ・ロール)やアプリケーション・ロールにメッセージを送信したりできます。

グループ・メッセージング機能では、次の機能のサポートによりUMSの機能が拡張されています。

  • グループへのメッセージの送信

  • グループへの特定のチャネルを介したメッセージの送信

  • アプリケーション・ロールへのメッセージの送信

  • アプリケーション・ロールへの特定のチャネルを介したメッセージの送信

グループおよびアプリケーション・ロールへのメッセージの送信の詳細は、Oracle User Messaging Serviceによるアプリケーションの開発のグループ・メッセージの送信に関する項を参照してください。

グループ・メッセージング機能を使用する場合でも、新たにUMSを構成する必要はありません。UMSユーティリティを再使用してユーザー・ロールAPIにアクセスします。ユーザー・ロールAPI構成はUMSでは使用できないため、そのような構成はすべてUMSの外部で行います。ユーザー・ロールAPIは、最初のOracle WebLogic Server認証プロバイダを使用するように自動的に構成されるため、特別な構成は必要ありません。

ノート:

UMSでアプリケーション・ロールを解決できるようにするには、特定のセキュリティ権限が必要です。アプリケーション・デプロイヤは、次の例に示すようにWLSTコマンドを使用してこれらのセキュリティ権限を構成する必要があります。
connect('weblogic','welcome1','t3://host.example.com:7601')
 
grantPermission(codeBaseURL="file:MW_HOME/user_projects/domains/DOMAIN_NAME/servers/SERVER_NAME/tmp/_WL_user/usermessagingserver/-",permClass="oracle.security.jps.service.policystore.PolicyStoreAccessPermission",permTarget="context=APPLICATION,name=<appStripe>",permActions="getApplicationPolicy"
)

セキュリティ・コマンドの詳細は、インフラストラクチャ・セキュリティWLSTコマンド・リファレンスを参照してください。

メッセージの自動再送信の構成

14cでは、自動再送信機能を構成して管理者による再送信を自動化できます。つまり、メッセージの送信が完全に失敗であると分類された場合に、そのメッセージの再送信が自動的にスケジュールされるということです。

これは、そのメッセージの送信が成功するまで、または構成した再送信回数に達するまで繰り返されます。再送信の遅延時間と最大回数を構成できます。機能上、これは、遅延時間を過ぎた場合に管理者が手動でメッセージを再送信するのと変わりません。自動再送信の目的は、ネットワークの一時的な問題や一時的にバックエンド・サービスを利用できない状況を解決することです。

この機能を構成するために、UMSのサーバー構成パラメータ、ResendDefaultResendDelayおよびResendMaxが導入されました。これらのパラメータの詳細は、表4-1を参照してください。

再送信の試行回数はサーバーに対して構成されますが、クライアントのプログラムでメッセージごとにオーバーライドできます。ResendDefaultサーバー構成パラメータをオーバーライドするには、メッセージごとに使用する再送信の回数をクライアントで指定します。オーバーライドしてもResendMax構成パラメータの制限は受けます。

プログラムで再送信の試行回数を設定する方法の詳細は、Oracle User Messaging Serviceによるアプリケーションの開発のUMS Java APIを使用したメッセージの再送信の指定に関する項およびUMS WebサービスAPIを使用したメッセージの再送信の指定に関する項を参照してください。

ノート:

メッセージの再送信が最大回数まで自動的に試行された後でもメッセージの再送信に失敗する場合は、管理者がEnterprise Managerからそのメッセージを手動で送信できます。再送信カウンタはリセットされます。再送信の最大回数を0で構成した場合の動作は、12cの動作と同じです。つまり、管理者がEnterprise Managerを使用して手動で失敗したメッセージを選択し、再送信する必要があります。

Oracle User Messaging Serviceの保護

ユーザー通信プリファレンスのユーザー・インタフェースは、Secure Sockets Layer (SSL)を使用してトランスポート・レベルで保護できます。デフォルトでは、デプロイされるすべてのWebサービスは保護されていません。本番環境にデプロイされるすべてのサービスに対して、Webサービス・セキュリティを有効にする必要があります。

Oracle WebLogic ServerでSSLを有効にする方法は、『Oracle Fusion Middlewareの管理』Oracle WebLogic ServerのSSLの構成に関する項を参照してください。このステップで、ユーザー通信プリファレンスのユーザー・インタフェースを保護できます。

UMSは、UMS Webサービスを保護するためのOracle Web Services ManagerのWS-Securityポリシーの使用をサポートしています。Oracle Web Services Managerの詳細は、Oracle WebLogic Server WebLogic Webサービスの保護Oracle Web Service Managerのセキュリティ・ポリシーの使用に関する項を参照してください。

Webサービスの推奨セキュリティ構成では、Security Assertion Markup Language (SAML)トークンを使用して、Webサービス・クライアントとUMSの間でアイデンティティを受け渡します。SAMLトークンを使用する場合は、Webサービス・クライアントがユーザー名とパスワードをUMSに渡すかわりに、証明書の交換によってクライアントとUMSの間に信頼関係が確立されます。このキーストア構成が整うと、Webサービス・クライアントは、ユーザー・アイデンティティを渡すのみで、ユーザーを適切に認証していることを保証します。

UMS Webサービスで使用する推奨ポリシーは、次のとおりです。

  • oracle/wss11_saml_token_with_message_protection_service_policy(サーバー側)

  • oracle/wss11_saml_token_with_message_protection_client_policy(クライアント側)

  • oracle/wss11_saml_token_identity_switch_with_message_protection_client_policy(クライアント側)

    ノート:

    クライアント側ポリシーの選択は、アプリケーションによって実行されているセキュリティ・コンテキストに応じて異なります。

    • Webサービス・コールを行っているスレッドに、(たとえば、ユーザー認証を実行するWebアプリケーションまたはrun-asアイデンティティが定義されているJakarta EEモジュールから)対象のサブジェクトが関連付けられている場合は、ポリシーoracle/wss11_saml_token_with_message_protection_client_policyを使用します。

      現在のスレッド・サブジェクトは、SAML Policy WS-Securityヘッダーを使用して渡されます。この場合は、Webサービス・クライアント・インスタンスの作成時にパラメータjavax.xml.ws.BindingProvider.USERNAME_PROPERTYを指定しないでください。

    • Webサービス・コールを行っているスレッドに未定義のサブジェクトが関連付けられる場合、または別のアイデンティティをプログラムで指定する必要がある場合は、ポリシーoracle/wss11_saml_token_identity_switch_with_message_protection_client_policyを使用し、Webサービス・クライアント・インスタンスの作成時にパラメータjavax.xml.ws.BindingProvider.USERNAME_PROPERTYを指定します。動的アイデンティティ切替えを実行する場合は、アプリケーションに追加のコード権限を付与する必要があります。詳細は、Webサービスの管理を参照してください。

通知に関するWebサービス・セキュリティ

様々なWebサービスに、対応する通知Webサービス(MessageNotification)が含まれており、これらはクライアント側で実行され、適合するイベントの発生時に通知(メッセージ配信ステータス、メッセージ受信、プレゼンス・ステータスの変更)を受信します。

UMS Webサービス・セキュリティの有効化

UMS Webサービスのポリシーを有効にするには、『Oracle WebLogic Server WebLogic Webサービスの保護』を参照してください。ポリシーoracle/wss11_saml_token_with_message_protection_service_policyを選択する必要があります。この構成は、保護するサービスごとに繰り返す必要があります。

クライアント・セキュリティの有効化

Webサービス・クライアントのセキュリティは、プログラムで有効化する必要があります。Oracle User Messaging Serviceによるアプリケーションの開発に記載されているクライアント・ライブラリを使用すると、クライアント・オブジェクトの構築時にWS-Securityポリシー構成が提供されます。クライアント・コンストラクタは、Map<String, Object>タイプの引数を使用します。通常、SAML認証を使用する場合は、エンドポイント・アドレスなどの必須プロパティ以外に、キー/値のペアを構成マップに追加する必要があります。

表4-22 クライアント・セキュリティ・キー

キー 一般的な値
oracle.ucs.messaging.ws.ClientConstants.POLICIES
oracle/wss11_saml_token_
with_message_protection_
client_policy
javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY
リモートUMS WSのエンドポイントURL。これは通常「http://<host>:<port>/ucs/messaging/webservice」です。
javax.xml.ws.BindingProvider.USERNAME_PROPERTY
(オプション) <valid username> ノート: oracle/wss11_saml_token_with_message_protection_client_policyを使用する場合、このキーは指定しないでください。
oracle.wsm.security.util.SecurityConstants.Conf
ig.KEYSTORE_RECIPIENT_ALIAS_PROPERTY
(オプション)ターゲット・サービスのキーストア別名。クライアント別名を参照してください。
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_CSF_KEY
OWSMポリシーのアタッチに使用されます。Oracle Web Services Management資格証明ストア・マップからのリモート・ユーザー名/パスワード情報の参照に使用する資格証明ストア・キーを指定します。

例4-4 Webサービス・クライアントのセキュリティ

HashMap<String, Object> config = new HashMap<String, Object>();
config.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
 "http://example.com:8001/ucs/messaging/webservice");
config.put(oracle.ucs.messaging.ws.ClientConstants.POLICIES, new String[]
 {"oracle/wss11_saml_token_with_message_protection_client_policy"});
 
mClient = new MessagingClient(config);

キーストア構成

推奨WS-Securityポリシーを使用するには、OWSMに必要な公開キーと秘密キーの情報が含まれるキーストアを構成する必要があります。キーストアおよび対応する資格証明ストアのエントリを構成する方法は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』資格証明ストアの構成に関する項を参照してください。

  • Webサービス・クライアントとUMSサーバーの両方が同じドメインにある場合、これらはキーストアと資格証明ストアを共有します。

  • Webサービス・クライアントとUMSサーバーが異なるドメインにある場合は、UMS公開キーをクライアント・ドメインのキーストアにインポートし、クライアント・ドメインの公開キーをUMSキーストアにインポートする必要があります。

クライアント別名

ここで推奨しているSAMLポリシーなど、特定のWS-Securityポリシーを使用する場合、クライアントは、サーバーの公開キーを使用してWebサービス・リクエストを暗号化する必要があります。ただし、通常はドメインごとにキーストアを1つのみ構成します。したがって、複数の他のドメイン内のWebサービスと通信するWebサービス・クライアントがあるドメインの場合は、OWSMで使用するデフォルトのキーストア・エントリをオーバーライドすることが必要になる場合があります。

たとえば、アプリケーション「A」がUMS Webサービスに対するWebサービス・クライアントで、アプリケーション「B」が別のドメイン内のWebサービスに対するWebサービス・クライアントであるドメインがあるとします。この場合、AのリクエストはUMSドメインの公開キーを使用して暗号化する必要があり、Bのリクエストは他のドメインの公開キーを使用して暗号化する必要があります。この目的を達成するには、OWSMで使用するキーストア別名をリクエストごとにオーバーライドします。

  • たとえば、UMS公開キーを別名"ums_public_key"でインポートし、他の公開キーを別名"other_public_key"でインポートします。

  • UMS Webサービス・クライアントの作成時に、例4-5に示すように、キーをoracle.wsm.security.util.SecurityConstants.Config.KEYSTORE_RECIPIENT_ALIAS_PROPERTYに設定し、値を"ums_public_key"に設定して受信者キーストア別名パラメータを指定します。

  • 同様に、他のWebサービス・クライアントでもキーストア別名をオーバーライドする必要がありますが、正確なメカニズムは異なる場合があります。たとえば、JAX-WSクライアント・スタブを直接使用する場合は、オーバーライドプロパティをJAX-WSリクエスト・コンテキストに追加できます。詳細は、『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のWebサービス・クライアントのポリシー構成のオーバーライドに関する項を参照してください。

例4-5 クライアント別名

HashMap<String, Object> config = new HashMap<String, Object>();
config.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
 "http://example.com:8001/ucs/messaging/webservice");
config.put(ClientConstants.POLICIES, new String[] {"oracle/wss11_saml_token_
identity_switch_with_message_protection_client_policy"});
config.put(BindingProvider.USERNAME_PROPERTY, "user1");
config.put(oracle.wsm.security.util.SecurityConstants.Config.CLIENT_CREDS_
LOCATION, oracle.wsm.security.util.SecurityConstants.Config.CLIENT_CREDS_LOC_
SUBJECT);
config.put(oracle.wsm.security.util.SecurityConstants.Config.KEYSTORE_RECIPIENT_
ALIAS_PROPERTY, "ums_public_key");
config.put(MessagingConstants.APPLICATION_NAME, "MyUMSWSApp");
mClient = new MessagingClient(config);

JMSリソースの保護

この(オプションの)手順では、セキュリティを向上させるために、管理者がUMSのJMSリソース(キューなど)へのアクセスを制限できます。

JMSシステム・リソースを保護するには、OracleSystemRoleロールを持つUMSJMSSystemResourceという名前で始まるすべてのJMSサブデプロイメントをロックします(複数サーバーまたはクラスタ・デプロイメントではUMSに対して複数の自動作成リソースがある場合があります)。この操作は、WebLogicリモート・コンソールを使用して行うか、または次のようにWLSTスクリプトを実行できます(MIDDLEWARE_HOME/oracle_common/communications/bin/secure_jms_system_resource.pyにあります)。

MIDDLEWARE_HOME/oracle_common/common/bin/wlst.sh
./secure_jms_system_resource.py
-userConfigFile=<UserConfigFile>, -userKeyFile=<UserKeyFile> 
-url=<AdminServer_t3_url> -jmsSystemResource=<JMSSystemResourceName> -role=<SecurityRoleToUse>

UserConfigFileには、AdminUserの暗号化されたユーザー名とパスワードが含まれている必要があります。暗号化データのキーはUserKeyFile内に指定する必要があります。

デフォルトでは、UMSシステムはJMSリソースにアクセスするためにユーザーOracleSystemUserとして実行されます。ユーザーOracleSystemUserが存在しない場合、または他のユーザーに付与されている他のロールを使用してUMS JMSリソースを保護する場合は、別のユーザー名を指定することによって、UMSシステムで使用されるデフォルトのユーザー・アイデンティティをオーバーライドする必要があります。