アプリケーション横断的な範囲の管理

ServiceNow,、アプリケーション間の通信を有効にするには、管理者が明示的にその通信経路を有効にする必要があります。 クロス・アプリケーション・スコープを宣言することで、この通信が可能になる:

  • ソース・スコープ:通信経路を要求するアプリケーション。

  • 対象範囲:要求されたコミュニケーションの範囲。 例えば、 Global または Change Mgmnt などです。

  • ターゲット名:ソースがアクセスしたいテーブル。

  • オペレーション(Operation):ソースが要求するアクセスのタイプ。 例えば、 ReadWrite、または Createなどです。

  • ステータスクロスアプリケーションスコープが許可されているかどうか。 例えば、 Allowed または Requested などです。

デフォルトでは、 Turbonomic Actions をインストールすると、様々なテーブルに対してスコープされたパーミッションが定義されます。 この定義は、最も一般的なケースでのコミュニケーションを可能にする。 特に、このインストールはCIマッチング・テーブルのグローバル・リードを有効にする。 CIマッチングテーブルの詳細については、 仮想マシンのCIマッチングの詳細を参照してください。

例えば、 cmdb_ci_vm_instance CI Matchingテーブルが存在するとする。 デフォルトのインストールでは、以下の条件が定義されている:

  • ソーススコープ: Turbonomic Actions

  • 目標スコープ Global

  • ターゲット名: cmdb_ci_vm_instance

  • 操作:Read

  • 状況: Allowed

スコープ定義を変更した場合、またはCIマッチングを変更して異なるテーブルを使用するようにした場合は、クロスアプリケーションスコープがその変更をサポートするように定義されていることを確認する必要があります。 スコープが適切に定義されていない場合、 ServiceNow、CRが状態遷移を行う際にエラーが発生する可能性がある。

この問題の一般的な原因には、以下のようなものがある:

  • VMのクラスで使用するCIマッチングテーブルを変更しました。

    例えば、 AWS VM の CI Matching Table を cmdb_ci_vm_instance から cmdb_ci_server に変更する。 このテーブルのスコープ・レコードは、 Global に設定されていないか、レコードがまったく存在しない可能性があります。

  • Turbonomic Actions が既に使用しているテーブルのスコープレコードを追加しました。

    例えば、 change_request のスコープレコードを追加し、スコープを Global ではなく Change Mgmnt にしたとします。 ServiceNow は、追加したレコードから、より保守的な設定を使用するため、 Turbonomic アクションのCRトランジションはエラーをスローします。

  • 既存のターゲットの定義を変更した。

    例えば、 change_request.read のステータスを Allowed から低い設定に変更したとする。

change_request.read のステータスを Allowed 以外に変更したとする。 その場合、次のようなエラーが表示されるかもしれない:

ScopeAccessNotGrantedException: read access to change_request not granted

エラーメッセージには、失敗した操作(read )とターゲット名(change_request )が表示されます。この情報から、どのスコープレコードを変更する必要があるかがわかります。

レコードを見つけるには、 ServiceNow でシステム・アプリケーション / アプリケーション・クロス・スコープ・アクセスに移動します。 このビューには、 クロススコープ権限画面が表示されます。 以下の条件を満たす既存のレコードを探す:

  • ソース・スコープ Turbonomic Actions

  • ターゲット・スコープ Global

  • ターゲット名 change_request

  • オペレーション Read

  • ステータス = それ以外の値 Allowed

この問題を解決するには、ステータスを Allowed に変更してください。

適切なレコードが見つからない場合は、新しいレコードを作成する必要があります。 クロススコープ権限で新規をクリックし、適切な値で新しいレコードを作成する。