4 Oracle User Messaging Serviceの構成
- ユーザー・メッセージング・サービスの構成ページへのアクセス
UMSは、Oracle Enterprise Manager Fusion Middleware Controlを使用して構成できます。 - ユーザー・メッセージング・サーバーの構成
UMSは、サーバー用に1つと、ドライバ・タイプごとに1つのエンタープライズ・アーカイブとしてデプロイされます。構成は、管理対象サーバー・レベルまたはクラスタ・レベルで定義でき、クラスタ・レベルによってドメイン・レベルはオーバーライドされます。サーバーおよびドライバは、WebLogic Scripting Tool (WLST)とEnterprise Manager (EM)を使用して構成できます。 - ユーザー・メッセージング・サービス・ドライバの構成
UMSでは、複数の構成がサポートされています。つまり、デプロイされた1つのドライバ・インスタンスで複数の構成を処理できます。これにより、ドメイン内の特定のドライバのインスタンスを複数デプロイしなくても、そのドライバの1つのインスタンスを異なる方法で構成できます。すべてのドライバで複数の構成がサポートされます。 - LDAPユーザー・プロファイルへのユーザー・メッセージング・サービスのアクセスの構成
UMSデプロイメントでのLDAPプロバイダ設定の一環として、WebLogicリモート・コンソールを介して「ユーザー名属性」を構成します。デフォルトのcn以外の値でこの属性を構成する場合、またはユーザーの電子メール・アドレスがmailとは異なるLDAP属性に格納されている場合、UMSがユーザー・プロファイルに正常にアクセスして、勤務先電子メールなど、LDAPでプロビジョニングされた通信チャネルのリストを取得するには、Oracle Platform Security Services (OPSS)で追加の構成変更を行う必要があります。 - グループ・メッセージングのためのOracle User Messaging Serviceの使用
UMSは、様々なチャネルによる双方向のマルチ・チャネル・メッセージングのサポートに加えて、グループ・メッセージングもサポートしています。この機能を使用すると、グループのURIにメッセージを送信してユーザーのグループにメッセージを送信したり、LDAPグループ(エンタープライズ・ロール)やアプリケーション・ロールにメッセージを送信したりできます。 - メッセージの自動再送信の構成
14cでは、自動再送信機能を構成して管理者による再送信を自動化できます。つまり、メッセージの送信が完全に失敗であると分類された場合に、そのメッセージの再送信が自動的にスケジュールされるということです。 - Oracle User Messaging Serviceの保護
ユーザー通信プリファレンスのユーザー・インタフェースは、Secure Sockets Layer (SSL)を使用してトランスポート・レベルで保護できます。デフォルトでは、デプロイされるすべてのWebサービスは保護されていません。本番環境にデプロイされるすべてのサービスに対して、Webサービス・セキュリティを有効にする必要があります。
ユーザー・メッセージング・サービスの構成ページへのアクセス
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ドライバは、クラスタ・レベルまたはサーバー・レベルで構成できます。適切な構成レベルを必ず選択するように、詳細はユーザー・メッセージング・サーバーの構成を参照してください。
ドライバの構成
ドライバ構成ページには次のいずれかの場所から移動できます。
-
「ユーザー・メッセージング・サービス」ホーム・ページの「関連ドライバ」表
-
「ターゲット・ナビゲーション」ペインのドライバ・ターゲットの「ドライバ・プロパティ」メニュー
-
「ユーザー・メッセージング・サービス」ホーム・ページの「ドライバ・プロパティ」メニュー
ドライバを構成するには、次のタスクを実行します。
-
Oracle Enterprise Manager Fusion Middleware Controlコンソールに管理者としてログインします。
-
「ユーザー・メッセージング・サービス」ホーム・ページに移動します。
-
「usermessagingserver(AdminServer)」をクリックします。「関連ドライバ」ページが表示されます。
-
「ローカル」タブを選択して、UMSサーバー・インスタンスと関連付けられているドライバにアクセスします。これらのドライバは、正しく構成されているかどうかによって、UMSサーバーに登録されている場合と登録されていない場合があります。「すべて」タブには、ドメインにデプロイされており、かつ、すべてのUMSサーバー・インスタンスに登録されているドライバがすべてリストされます。
-
リストからドライバを選択し、対応する「ドライバの構成」アイコンをクリックします。
このドライバ・デプロイメントに適用されている構成をすべて示す構成ページが表示され、管理者は構成を作成、編集または削除できます。ユーザー・メッセージング・ドライバは、次のシナリオのとおり異なる方法で構成します。
-
電子メール・ドライバ(12.1.3では電子メール・ドライバでのみが複数の構成がサポート)の場合、構成は、ドライバのデプロイ先がクラスタ環境か非クラスタ環境かによって決まります。
-
ドライバをクラスタ、たとえばa_ums_clusterにデプロイする場合、クラスタa_ums_clusterだけでなくドメイン全体についても電子メールの構成がすべて表示されます。構成名が同じ場合、クラスタレベルの構成によってドメインレベルの構成はオーバーライドされます。
-
非クラスタ管理対象サーバーにデプロイされるドライバの場合、構成はサーバー・レベルで行います。
-
複数の構成のサポートおよびクラスタ・レベルとドメイン・レベルの構成間の関係の詳細は、ユーザー・メッセージング・サーバーの構成およびユーザー・メッセージング・サービス・ドライバの構成を参照してください。
-
-
「作成」をクリックするか、リストからドライバ構成を選択して「編集」をクリックします。「ドライバ・プロパティ」ページが表示されます。新しい構成を作成することも、既存の構成を更新することもできます。
-
必要に応じて、「ドライバ固有の構成」セクションを展開し、ドライバのパラメータを構成します。詳細は、ドライバ・プロパティの概要を参照してください。
-
デプロイメント環境で構成プロパティが正しい形式になっていて有効であるかどうかを検証するには、入力したドライバ構成パラメータをテストできます。そのページで「テスト」ボタンをクリックします。「OK」をクリックして続行します。
ノート:
テストが成功しなかった場合でも、構成を保存できます。
- ドライバ・プロパティの概要
- パスワードの保護
- ドライバ・プロパティの保存
- メッセージング拡張ドライバの構成
- 電子メール・ドライバの構成
- SMPPドライバの構成
- XMPPドライバの構成
- APNSドライバの構成
- GCMドライバの構成
親トピック: ユーザー・メッセージング・サービス・ドライバの構成
ドライバ・プロパティの概要
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.com 、EMAIL: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を使用して資格証明ストアに安全に格納できます。プロパティは「エンコード済資格証明」フラグでマークされ、カスタムの入力フォーム・フィールドがあります。
ドライバの重要なプロパティを安全に格納するには、次のタスクを実行します。
-
Oracle Enterprise Manager Fusion Middleware Controlにログインし、選択したドライバのドライバ構成ページに移動します。
このドライバ・デプロイメントに適用されている構成をすべて示す構成ページが表示され、管理者は構成を作成、編集または削除できます。
-
「作成」をクリックして新しい構成を作成するか、構成を選択して「編集」をクリックして既存の構成を編集します。
「ドライバ・プロパティ」ページが表示されます。
-
「ドライバ固有の構成」表で、「エンコード済資格証明」フラグが設定されているプロパティを探します。
-
隣接する「値」列で「パスワードのタイプ」ドロップダウン・リストから資格証明タイプを選択します。
-
選択した資格証明タイプに従って、ユーザー名またはパスワード(あるいはその両方)の入力が求められます。次の3つのオプションがあります。
-
間接パスワード、新規のユーザーの作成(デフォルトのオプション): ユーザー名と実際のパスワードを指定し、このパスワードは、ユーザー名とともに資格証明ストアにキーの一部として格納されます。このキーと固定フォルダ(マップ名)は、ドライバ・デプロイメントのファイルに格納されます。
-
間接パスワード、既存のユーザーの使用: (以前に保存したパスワードを参照するために)資格証明ストアにある既存の間接ユーザー名/キーを選択します。
-
クリアテキスト・パスワードの使用: パスワードを指定し、ドライバ・デプロイメント・ファイルに直接保存します。
-
-
「OK」をクリックして変更を保存します。
-
ドライバ・アプリケーションまたはコンテナを再起動して、変更内容を有効にします。
パスワードは、ドライバ・デプロイメント・ディレクトリのファイルで確認できます。間接パスワードの場合のフォーマットは、次のようになります。
value="->mapName:keyName" (mapName can be any name of the user's choice, and the key is <parameter_name>.<username>)
親トピック: ドライバの構成
ドライバ・プロパティの保存
ドライバ・プロパティはUMSデータベースに保存できます。
UMSドライバが表示されると、特定のフィールドについてDRIVERPROPERTIES
に格納されているプロパティがファイル内の値をオーバーライドし、ドライバ・インスタンスがデータベースのこれらのプロパティ値を使用してリクエストを処理します。次に、ドライバ・プロパティの詳細を示します:
-
表名 -
DRIVERPROPERTIES
-
列 -
DRIVERNAME
、PROPERTYNAME
、PROPERTYVALUE
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トークンまたはユーザー名トークンのいずれかを使用できます。
拡張ドライバのセキュリティを使用するには:
-
SAMLトークンを使用するには、「セキュリティ・ポリシー」構成プロパティに値
oracle/wss11_saml_token_identity_switch_with_message_protection_client_policy
が含まれ、「キーストア別名」構成プロパティにリモート拡張エンドポイントで受け入れられる有効なキーストア・エントリの別名が含まれている必要があります。 -
ユーザー名トークンを使用するには、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 |
はい |
|
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 |
デフォルトの送信者アドレス(送信メッセージで指定されていない場合)。 ノート: |
いいえ |
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ユーザー認証のプレーン・テキスト認証( |
いいえ |
無効。このプロパティが無効の場合は、プレーン・テキストが許可されることを意味します。 |
ノート:
数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プロキシを介した接続/トンネリング。 |
|
証明書検証エラーのために、セキュア・ポートへの接続時にJavaMail SSLのIMAP/SMTPサーバーとのハンドシェイクが失敗します。 | 証明書の無視、または証明書の検証の無効化。 |
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プロキシを介した接続/トンネリング。 |
|
親トピック: OAuthを使用した電子メール・ドライバの構成
共通プロパティの更新
共通プロパティを含むusermessagingconfig.xml
ファイルを更新する必要があります。
表4-8 共通プロパティ
プロパティ名 | 値 | Procedure |
---|---|---|
ImapAuthUseOAuth2 |
True |
すべてのIMAPメール・アクセスにOAuthを使用するには、値をtrueに設定します。 |
SMTPAuthUseOAuth2 |
True |
SMTPを介したメッセージの送信にOAuthを使用するには、値をtrueに設定します。 |
OutgoingUsername |
送信電子メール用のUMS OAuthメールID。 |
UMS OAuthメールIDを入力します。たとえば、 |
OutgoingPassword |
<空> |
サーバーとの通信はOAuthアクセス・トークンおよびリフレッシュ・トークンを使用して行われるため、パスワードを設定しないでください。 |
IncomingMailIDs |
受信電子メール用のUMS OAuthメールID。 |
UMS OAuthメールIDを入力します。たとえば、 |
IncomingUserIDs |
受信電子メール用のUMS OAuthメールID。 |
UMS OAuthメールIDを入力します。たとえば、 |
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"/>
親トピック: OAuthを使用した電子メール・ドライバの構成
Gmailアカウントに対するOAuthの有効化
この項では、Gmailアカウントに対してOAuth 2.0ベースの認証を有効にする方法について説明します。内容は次のとおりです:
前提条件
次の前提条件タスクを実行する必要があります:
- GmailまたはMicrosoftの有効な電子メール・アカウントがあることを確認します。
- Pythonをインストールします。
親トピック: Gmailアカウントに対するOAuthの有効化
構成プロパティの更新
構成プロパティを含む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>
親トピック: Gmailアカウントに対するOAuthの有効化
トークンの検証
リフレッシュ・トークンの有効性を確認する必要があります。新しいアクセス・トークンを生成するには、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"
}
親トピック: Gmailアカウントに対するOAuthの有効化
SendAsの構成
OAuthの統合後にSendAs機能を構成する方法の詳細は、Google Mailで別のユーザーの代理としてメールを送信する方法を参照してください。
親トピック: Gmailアカウントに対するOAuthの有効化
Microsoft 365アカウントに対するOAuthの有効化
UMSでは、Microsoft IMAPおよびSMTPに接続するために次の2つの方法でOAuth 2.0ベース認証のサポートが提供されます:
- 認可コード・フロー - UMSが
O365OAuthClientID
、O365OAuthTenantID
、O365OAuthRefreshToken
、O365OAuthRefreshTokenScope
の各トークンを使用して構成されます。UMSの内部でアクセス・トークンが生成され、インバウンドとアウトバウンド両方の電子メールについてIMAPとSMTPへの接続に使用されます。 - クライアント資格証明フロー - UMSが
O365OAuthClientID
、O365OAuthTenantID
、O365OAuthClientSecret
、O365OAuthClientSecretScope
の各トークンを使用して構成されます。UMSの内部でアクセス・トークンが生成され、インバウンドとアウトバウンド両方の電子メールについてIMAPとSMTPへの接続に使用されます。
- 前提条件
- 構成プロパティの更新
- 認可コード・フローを使用したトークンの生成
- クライアント資格証明フローを使用したトークンの生成
- SMTP AUTHの有効化
- SendAsDeniedの構成
- 複数のインバウンド電子メールIDの構成
親トピック: OAuthを使用した電子メール・ドライバの構成
前提条件
次の前提条件タスクを実行する必要があります:
- GmailまたはMicrosoftの有効な電子メール・アカウントがあることを確認します。
- Pythonをインストールします。
- WebLogicをセキュア・モードで使用しているときに、次の証明書を取得してMSホストとの信頼できる接続を作成します。
構成プロパティの更新
構成プロパティを含む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>
認可コード・フローを使用したトークンの生成
この項では、次のトピックを取り上げます:
トークンの検証
リフレッシュ・トークンの有効性を確認する必要があります。新しいアクセス・トークンを生成するには、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つの値を使用してアクセス・トークンを内部的に生成します。
SMTP AUTHの有効化
SendAsDeniedの構成
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ドライバの構成
SMPPのカスタム・プロパティ
表4-12に、このドライバに固有のプロパティを示します。これらは通常、リモート・ゲートウェイへのアクセス構成、および特定のプロトコルやチャネル固有の動作に関連します。
表4-12 カスタムのSMPPプロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
|
この値は、SMPPドライバがメッセージをリクエストする宛先サーバーのアドレス値を示します。この値はUNIXの正規表現で指定します。たとえば、「555」は単一のアドレス、「^123|^789」は123または789で始まるすべてのアドレスを示します。 |
はい |
N/A |
|
SMS-Cサーバーの名前(またはIPアドレス)。 |
はい |
N/A |
|
メッセージの送信に使用するアカウントID。 |
はい |
N/A |
|
メッセージの受信に使用するアカウントID。 |
はい |
N/A |
|
送信側システムのタイプ。デフォルトはLogicaです。 |
はい |
デフォルト値はLogicaです。 |
|
受信側システムのタイプ。デフォルトはLogicaです。 |
はい |
デフォルト値はLogicaです。 |
|
送信側システムのパスワード。パスワードのタイプ(「間接パスワード、新規のユーザーの作成」、「間接パスワード、既存のユーザーの使用」、「クリアテキスト・パスワードの使用」から選択)とパスワードが含まれています。 |
はい |
N/A |
|
受信側システムのパスワード。パスワードのタイプ(「間接パスワード、新規のユーザーの作成」、「間接パスワード、既存のユーザーの使用」、「クリアテキスト・パスワードの使用」から選択)とパスワードが含まれています。 |
はい |
N/A |
|
送信側サーバーのTCPポート番号。 |
はい |
N/A |
|
受信側サーバーのTCPポート番号。 |
はい |
N/A |
|
受信メッセージに使用されます。SMS-CがエンコーディングをSMSC Default Alphabetに指定すると、これがSMPPドライバが前提とするエンコーディングになります。 ドロップダウン・リストで「IA5」、「UCS2」、「GSM_DEFAULT」、「ISO-8859-1」の中から選択します |
いいえ |
IA5 |
|
送信メッセージに使用されます。設定した場合、テキストはPreferredEncodingパラメータに従ってエンコードされます。エンコーディングに失敗した場合(つまり、指定されたエンコーダを使用して文字をエンコードできない)、ドライバは16ビット・エンコーディングUCS2を使用します。 設定しない場合、ドライバはUMSメッセージのContent-Typeヘッダーからエンコーディングを導出しようとします。 ドロップダウン・リストで「IA5」、「UCS2」、「GSM_DEFAULT」、「ISO-8859-1」の中から選択します |
いいえ |
IA5 |
|
SMPPドライバがSMS-Cへのメッセージの送信に使用するローカルTCPポート。 |
いいえ |
N/A |
|
SMPPドライバがSMS-Cからのメッセージの受信に使用するローカルTCPポート。 |
いいえ |
N/A |
|
SMPPドライバをホスト管理するサーバーのホスト名(またはIPアドレス)。 |
いいえ |
N/A |
|
SMSのウィンドウ・サイズ。値は正数である必要があります。デフォルトは1です。 |
いいえ |
1 |
|
SMS-Cへの問合せメッセージの送信間隔(秒単位)。デフォルトは、30秒間です。 |
いいえ |
30 |
|
スロットル間の遅延(秒単位)。デフォルトは30です。 |
いいえ |
30 |
|
バインド・エントリの試行間の最小遅延(秒単位)。デフォルトは30です。 |
いいえ |
30 |
|
SMPPリクエストとレスポンス間に許可された経過時間(秒単位)。デフォルトは30です。 |
いいえ |
30 |
|
登録済配信ビット・マスク。デフォルトは0xFFで、配信フラグ値を変更しません。 |
いいえ |
0xFF |
|
trueに設定すると、BIND_RECEIVERのアドレス範囲フィールドがnullに設定されます。false(デフォルト値)に設定すると、アドレス範囲フィールドがSmsSystemIdに設定されます。デフォルトは「無効」です。 |
いいえ |
無効 |
|
SMPPドライバによってSMS-Cへのメッセージに設定される最高優先度。クライアント・アプリケーションによって設定されるUMSメッセージの優先度は、SMPPの優先度に変換されますが、PriorityAllowedによって制限されます。範囲は0(標準)から3(最高)です。デフォルトは0です。 |
いいえ |
0 |
|
この値を「有効」(デフォルト)に設定すると、複数のメッセージをSMS-Cに一括送信できます。 |
いいえ。 |
有効 |
|
このプロパティを有効にすると、SMPPドライバはSMS-Cにメッセージを送信する際、常にSMPP仕様で定義されている |
いいえ |
無効 |
|
SMPP受信側セッションを経由して提供されるESMEアドレスの番号のタイプ(TON)。デフォルトは0です。 |
いいえ |
0 |
|
SMPP受信側セッションを経由して提供されるESMEアドレスの番号計画識別子(NPI)。デフォルトは0です。 |
いいえ |
0 |
|
宛先のTON。デフォルトは0です。 |
いいえ |
0 |
|
宛先のNPI。デフォルトは0です。 |
いいえ |
0 |
|
1メッセージに対する最大SMSチャンク数。デフォルトは-1(最大値なし)です。 |
いいえ |
-1 (最大値なし) |
|
各SMSメッセージ・チャンクの最大サイズ。デフォルトは160です。 |
いいえ |
160 |
|
断片化されたメッセージのためにオプションのSMPPパラメータ |
いいえ |
有効 |
|
データグラム・メッセージ・モードをサポートします。デフォルトは「無効」です。 |
いいえ |
無効 |
|
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でドライバを構成する場合は、ドライバ・プロパティを作成または更新する必要があります。
次のステップを実行して、ドライバ・プロパティを更新します:
- EMにログインします。
- 「EM」をクリックし、「ユーザー・メッセージング・サービス」を選択して「usermessagingdriver-xmpp」をクリックし、「ドライバ・プロパティ」を選択して「作成」をクリックします。
- 「ドライバ・プロパティ」ページで、次のフィールドを更新します:
表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プロパティ
名前 | 必須 | デフォルト値 |
---|---|---|
|
はい |
usermessagingdriver-xmpp |
|
はい |
SEND、RECEIVE |
|
はい |
IM |
|
はい |
text/plain |
|
いいえ |
DELIVERY_TO_GATEWAY_SUCCESS、DELIVERY_TO_GATEWAY_FAILURE |
|
いいえ |
N/A |
|
いいえ |
N/A |
|
いいえ |
N/A |
|
はい |
サーバー/クラスタ |
|
いいえ |
XMPP |
Supported Application Names |
いいえ | 空 |
Driver Type |
はい | ユーザー・メッセージングXMPPドライバ |
|
いいえ |
N/A |
|
いいえ |
N/A |
親トピック: XMPPドライバの構成
XMPPのカスタム・プロパティ
表4-15に、XMPPドライバに含まれるカスタム・プロパティを示します。
表4-15 カスタムのXMPPプロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
IMサーバー・ホスト |
Jabber/XMPPサーバー・ホスト名。 |
はい |
|
IMサーバー・ポート |
対応するJabber/XMPPサーバー・ポート。 |
はい |
5222 |
IMサーバー・ユーザー名 |
ログインのためのJabber/XMPPユーザー名を入力します。ドメイン名がJabber/XMPPサーバー・ホスト名と異なる場合は、完全なJabber IDを入力することもできます。 |
はい |
|
IMサーバー・パスワード |
ユーザー名に対するパスワード。 |
いいえ |
間接パスワード、新規ユーザーの作成 |
SecurityMode |
サーバーへの接続を確立するときに使用するセキュリティ・モード。使用可能なオプションは次のとおりです:
|
いいえ |
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でドライバを構成する場合は、ドライバ・プロパティを作成または更新する必要があります。
次のステップを実行して、ドライバ・プロパティを更新します:
- EMにログインします。
- 「EM」をクリックし、「ユーザー・メッセージング・サービス」を選択して「usermessagingdriver-xmpp」をクリックし、「ドライバ・プロパティ」を選択して「作成」をクリックします。
- 「ドライバ・プロパティ」ページで、次のフィールドを更新します:
表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: ドライバの検証およびテスト
ドライバを検証して、構成が正しいことを確認する必要があります。検証が完了したら、ドライバをテストする必要があります。
ドライバ・プロパティの保存の詳細は、ドライバ・プロパティの保存を参照してください。
親トピック: APNSドライバの構成
共通プロパティ
表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ドライバの構成
APNSのカスタム・プロパティ
表4-18に、APNSドライバに固有の構成可能なプロパティをリストします。
表4-18 APNSドライバのカスタム・プロパティ
名前 | 説明 | 必須 | デフォルト値 |
---|---|---|---|
サービス・モード |
APNsの本番環境を判別します |
はい |
|
キーストア名 |
APNsとの通信に使用される秘密キーおよび証明書を保持するKSSのキーストアの名前。デフォルト以外のキーストアを使用する場合は、キーストアの読取り権限をUMSに付与する必要があります。 |
はい |
apns |
別名 |
キーストア内の秘密キー証明書ペアの別名。 |
はい |
|
モバイル・アプリ・トピック |
プッシュ通知の送信先のモバイル・アプリ・トピック(またはAppleモバイル・アプリID)の名前。APNは、アプリケーションのバンドルIDをデフォルト・トピックとして使用します。 |
はい |
親トピック: APNSドライバの構成
GCMドライバの構成
Google Cloud Messaging (GCM)ドライバは、モバイル・プッシュ通知サービス用のUMSドライバです。これを使用してモバイル・プッシュ通知をAndroidアプリケーションに送信できます。
GCMドライバを構成するには、次のタスクを実行する必要があります。
タスク1: アプリケーション・サービス・アカウントの秘密キー・ファイルの取得
GCMドライバは、サービス・アカウントを使用して設定する必要があります。これは秘密キー・ファイル(JSONファイル)を取得することで行います。次のステップを実行して、秘密キー・ファイルを取得します:
- 次のURLを使用してFirebaseコンソールを開きます:
- 「Project Settings」アイコンをクリックします。
「Project Settings」ページが表示されます。
- 「Service Accounts」を選択します。
- 「Firebase Admin SDK」ダイアログ・ボックスで、「Generate new private key」をクリックします。
秘密キーの詳細を含むJSONファイルが生成されます。
- JSONファイルを保存します。
タスク2: UMSでのGCMドライバの構成
EMを使用してUMSでドライバを構成する場合は、ドライバ・プロパティを作成または更新する必要があります。
次のステップを実行して、ドライバ・プロパティを更新します:
- 次に示すように、「ドライバ・プロパティ」ページに移動します:
- 「ドライバ・プロパティ」ページで、次のフィールドを更新します:
表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ドライバの構成
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ユーザー・プロファイルへのアクセスを構成するには:
-
『Fusion Middleware Oracle Business Intelligenceエンタープライズ・デプロイメント・ガイド』の指示に従って、LDAPを使用するようにアイデンティティ・ストアを構成します。
ノート:
構成ファイルのバックアップの項で他のプロパティを定義している場合があります。 -
バックエンド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>
-
ドメインを再起動します。
グループ・メッセージングのためのOracle User Messaging Serviceの使用
UMSは、様々なチャネルによる双方向のマルチ・チャネル・メッセージングのサポートに加えて、グループ・メッセージングもサポートしています。この機能を使用すると、グループのURIにメッセージを送信してユーザーのグループにメッセージを送信したり、LDAPグループ(エンタープライズ・ロール)やアプリケーション・ロールにメッセージを送信したりできます。
グループ・メッセージング機能では、次の機能のサポートによりUMSの機能が拡張されています。
-
グループへのメッセージの送信
-
グループへの特定のチャネルを介したメッセージの送信
-
アプリケーション・ロールへのメッセージの送信
-
アプリケーション・ロールへの特定のチャネルを介したメッセージの送信
グループおよびアプリケーション・ロールへのメッセージの送信の詳細は、Oracle User Messaging Serviceによるアプリケーションの開発のグループ・メッセージの送信に関する項を参照してください。
グループ・メッセージング機能を使用する場合でも、新たにUMSを構成する必要はありません。UMSユーティリティを再使用してユーザー・ロールAPIにアクセスします。ユーザー・ロールAPI構成はUMSでは使用できないため、そのような構成はすべてUMSの外部で行います。ユーザー・ロールAPIは、最初のOracle WebLogic Server認証プロバイダを使用するように自動的に構成されるため、特別な構成は必要ありません。
ノート:
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のサーバー構成パラメータ、ResendDefault
、ResendDelay
および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システムで使用されるデフォルトのユーザー・アイデンティティをオーバーライドする必要があります。