アプリケーション横断的な範囲の管理
ServiceNow,、アプリケーション間の通信を有効にするには、管理者が明示的にその通信経路を有効にする必要があります。 クロス・アプリケーション・スコープを宣言することで、この通信が可能になる:
ソース・スコープ:通信経路を要求するアプリケーション。
対象範囲:要求されたコミュニケーションの範囲。 例えば、
GlobalまたはChange Mgmntなどです。ターゲット名:ソースがアクセスしたいテーブル。
オペレーション(Operation):ソースが要求するアクセスのタイプ。 例えば、
Read、Write、または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 に変更してください。
適切なレコードが見つからない場合は、新しいレコードを作成する必要があります。 クロススコープ権限で、 新規をクリックし、適切な値で新しいレコードを作成する。