Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

セキュリティの問題のトラブルシューティング

この章では、Caché で SOAP セキュリティに関する問題の原因を特定する際に役に立つ情報を提供します。以下のトピックについて説明します。

セキュリティに関係のない問題の詳細は、"Caché での Web サービスおよび Web クライアントの作成" の “Caché SOAP の問題のトラブルシューティング” を参照してください。

トラブルシューティングに必要な情報

SOAP の問題をトラブルシューティングするには、通常、以下の情報が必要です。

  • WSDL およびこれが参照するすべての外部ドキュメント。

  • (メッセージ関連の問題の場合) 何らかの形式のメッセージ・ロギングおよびトレース。以下のオプションがあります。

    オプション SSL/TLS で使用可能かどうか HTTP ヘッダを表示するかどうか コメント
    Caché SOAP ログ はい いいえ セキュリティ・エラーの場合、このログは、SOAP フォルトに含まれるものよりも詳細を表示します。
    CSP ゲートウェイ・トレース はい はい MTOM (MIME 添付) を使用する SOAP メッセージの問題の場合、HTTP ヘッダを表示することは重要です。
    サードパーティのトレース・ツール いいえ ツールに依存 トレース・ツールの中には、送信された実際のパケットなど、下位レベルの詳細を表示するものもあります。これらの情報は、トラブルシューティングの際に重要になる場合があります。

    これらのオプションについては、"Caché での Web サービスおよび Web クライアントの作成" の “Caché SOAP の問題のトラブルシューティング” を参照してください。

また、フォルトを正しく処理して最適な情報を受け取るようにすることは非常に有効です。"Caché での Web サービスおよび Web クライアントの作成" の “SOAP フォルトの処理” を参照してください。

考えられるエラー

このセクションでは、Caché Web サービスおよび Web クライアントで考えられるセキュリティ関連のエラーについて説明します。

  • Caché Web サービスまたは Web クライアントを生成したばかりの場合、まだ WS-Security ヘッダを認識するように構成されていない場合があります。この場合、Web メソッドを実行しようとすると、以下のような汎用エラーが発生します。

    <ZSOAP>zInvokeClient+269^%SOAP.WebClient.1
    

    以下を Web サービスまたは Web クライアントに追加して、再コンパイルします。

    Parameter SECURITYIN="REQUIRE";

    この汎用エラーは、Web メソッドを誤って呼び出すことによって発生する可能性もあります (例えば、Web メソッドに返り値がないときに返り値を参照した場合)。

    この項目は、WS-Policy を使用している場合には適用されません。

  • Web メソッドを実行しようとすると、以下のようなセキュリティ・エラーが発生する場合もあります。

    ERROR #6454: No supported policy alternative in configuration 
    Policy.Client.Demo1SoapConfig:service
    

    セキュリティ・エラー発生時に確認する項目” を参照してください。

  • 着信メッセージが検証に失敗する場合があります。この場合、SOAP ログにこのエラーが示されます。以下はその例です。

    08/05/2011 14:40:11 *********************
    Input to Web client with SOAP action = http://www.myapp.org/XMLEncr.DivideWS.Divide
    <?xml version='1.0' encoding='UTF-8' standalone='no' ?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' 
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:s='http://www.w3.org/2001/XMLSchema' 
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" >
      <SOAP-ENV:Body>
        <SOAP-ENV:Fault>
          <faultcode>wsse:FailedAuthentication</faultcode>
          <faultstring>The security token could not be authenticated or authorized</faultstring>
          <detail></detail>
        </SOAP-ENV:Fault>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    

    セキュリティ・エラー発生時に確認する項目” を参照してください。

セキュリティ・エラー発生時に確認する項目

着信メッセージが検証に失敗した場合、または Caché が “サポートされている代替ポリシーがありません” エラーを発行した場合、以下の項目を確認すると役立ちます。

  • 格納された Caché 資格情報セットを取得する場合、この名前が正しく入力されていることを確認します。

  • Caché 資格情報セットを取得した後、オブジェクトのタイプを確認し、これが %SYS.X509CredentialsOpens in a new tab であることを確認します。

  • 適切な証明書が使用されていることを確認します。

    証明書を暗号化に使用する場合、メッセージの送信先のエンティティの証明書を使用します。暗号化は、この証明書の公開鍵を使用します。

    証明書を署名に使用する場合、所有している証明書を使用し、関連付けられた秘密鍵を使用して署名します。この場合、秘密鍵をロード済みであることおよびその秘密鍵ファイルのパスワードが正しく指定されていることを確認します。

  • 証明書が Caché で信頼されている認証機関によって署名されていることを確認します。

  • WS-Policy を使用している場合、生成された構成クラスを編集して、使用する Caché 資格情報セットを必ず指定するようにします。このドキュメントで前述の “生成されたポリシーの編集” のセクションを参照してください。

  • Web サービスが <UsernameToken> を要求する場合、Caché Web クライアントがこのトークンを送信していること、およびこのトークンに正しい情報が含まれていることを確認します。Caché は、送信する <UsernameToken> を自動的に指定できません。これは、実行時に行う必要があります。このドキュメントで前述の “タイムスタンプおよびユーザ名トークンの追加” を参照してください。

  • Web サービスまたは Web クライアントで必要なセキュリティ・ポリシーのうち、少なくとも 1 つが Caché でサポートされていることを確認します。このドキュメントで前述の “Caché でサポートされる規格” を参照してください。

  • 認証に失敗した場合、<UsernameToken> のユーザを特定し、そのユーザが属するロールを調べます。

FeedbackOpens in a new tab