# ServiceNow

この_ワークスペースごと_の1回限りのセットアップにより、Aikido組織内の全員がServiceNowで直接課題を作成できるようになります。

以下のユースケースがサポートされています：

* **自動チケット作成**：ServiceNowにチケットを自動的に作成・送信し、セキュリティ課題をシームレスに追跡できます。
* **手動チケット追加**：セキュリティ課題のチケットをServiceNowに手動で追加し、重大な脆弱性に的を絞って対応できます。

{% hint style="info" %}
Aikidoは現在、ServiceNowの**Incident**テーブルにチケットを送信します。その他のテーブルへの対応は、サポートを通じてリクエストできます。
{% endhint %}

### 前提条件：ServiceNowでOAuthアプリを登録する

Aikidoを接続する前に、ServiceNowインスタンスでOAuthアプリケーションを登録し、**Client ID**と**Client Secret**を生成する必要があります。

{% stepper %}
{% step %}
**OAuth 2.0プラグインを有効化する**

ServiceNowインスタンスにログインし、OAuth 2.0プラグインがまだ有効になっていない場合は有効化します。
{% endstep %}

{% step %}
**OAuthシステムプロパティを有効にする**

`sys_properties`テーブルで、システムプロパティ`com.snc.platform.security.oauth.is.active`を`true`に設定します。
{% endstep %}

{% step %}
**Application Registryを開く**

**System OAuth > Application Registry**に移動します。
{% endstep %}

{% step %}
**新しいOAuthエンドポイントを作成する**

**New**をクリックし、**Create an OAuth API endpoint for external clients**を選択します。
{% endstep %}

{% step %}
**アプリケーションを設定する**

以下のフィールドを設定します：

* **Name**：一意の名前（例：`Aikido`）
* **Client ID**：ServiceNowにより自動生成
* **Client Secret**：ServiceNowにより自動生成
* **Redirect URI**：`https://unify.apideck.com/vault/callback`
* **Refresh Token Lifespan**：リフレッシュトークンの有効期間（秒）
* **Access Token Lifespan**：`3600`に設定
* **Scope Restriction**：**Broadly scoped**に設定

{% hint style="info" %}
デフォルトの`Securely scoped`のままだと、API呼び出しが失敗します。
{% endhint %}
{% endstep %}

{% step %}
**保存して認証情報をコピーする**

**Submit**をクリックし、レコードを再度開いて**Client ID**と**Client Secret**の値をコピーします。
{% endstep %}
{% endstepper %}

{% hint style="info" %}
注意：チケットの作成は、インテグレーションを設定したユーザーに紐づけられます。ServiceNow内に、Incidentテーブルへの書き込み権限を持つ専用の「Aikido」ユーザーを作成することをお勧めします。
{% endhint %}

### AikidoアプリをServiceNowに接続する

{% stepper %}
{% step %}
**インテグレーションを開く**

Aikidoアプリ内の[インテグレーション設定](https://app.aikido.dev/settings/integrations)に移動します。「Task Trackers」セクションで**ServiceNow**を選択します。

<figure><img src="https://help.aikidogov.us/_assets/f908077e3073/image-311.png" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**認証情報を入力する**

ServiceNowの**インスタンス名**、**Client ID**、**Client Secret**を入力し、**「Save」**をクリックします。

{% hint style="info" %}
ServiceNowの**インスタンス名**は、管理画面URLのサブドメインです（例：`https://dev394641.servicenow.com`の`dev394641`）。
{% endhint %}

<figure><img src="https://help.aikidogov.us/_assets/a4575602ea08/image-314.png" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**接続を承認する**

**「Authorize」**をクリックして、AikidoにServiceNowインスタンスへのアクセスを許可します。

<figure><img src="https://help.aikidogov.us/_assets/13189c111d13/image-312.png" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**確認する**

もう一度**「Save」**をクリックしてセットアップを完了します。これでAikidoがServiceNowに接続されました。

<figure><img src="https://help.aikidogov.us/_assets/66f0fe03713c/image-313.png" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### Aikido経由でServiceNowにタスクを作成するオプション

AikidoからServiceNowに新しいタスクを作成するには、2つの異なるオプションがあります。

#### 1. 手動タスク作成

1. フィード内の任意の課題にカーソルを合わせ、**割り当て列**の_**+**_をクリックします。または、最後の列の三点リーダーをクリックしてアクションメニューを開くこともできます。課題をグループ化している場合、三点リーダーのアクションメニューは各サブ課題で利用できます。\
   \
   ![](https://help.aikidogov.us/_assets/f2236b2ae10f/image-316.png)
2. ポップアップモーダルで必要な詳細を入力します。\
   \
   ![](https://help.aikidogov.us/_assets/c35ef1803d2c/image-315.png)
3. ServiceNowで新しく作成されたタスクは、Aikidoの課題詳細の「Tasks」タブにリンクされます。

#### 2. 自動タスク作成


{% hint style="info" %}
Aikido は**1時間ごとに一括で**タスクを自動作成します。現時点では、これを手動でトリガーするオプションはありません。
{% endhint %}

1. [ServiceNowインテグレーション](https://app.aikido.dev/settings/integrations/tasktracker)の設定に移動します
2. トグルを**On**にして、「**Autocreation**」を必ず有効にしてください。
3. 自動タスク作成の条件を定義します。


これらの設定はすべて自動作成モーダルで構成できます。

* **オン/オフ：** 自動作成を有効または無効にします。オフの場合、しきい値は実質的に `None` に設定されます。
* **重大度のしきい値：** `Critical`、`High`、`Medium`、または `Low` 以上の課題に対してチケットを作成します。たとえば、`High` を選択すると、`High` と `Critical` のチケットが作成されます。
* **課題タイプ：** すべての課題タイプに対してチケットを作成するか、`SCA`、`SAST`、`Secrets`、`Cloud`、`IaC`、`Malware`、`License` などの特定のタイプに限定します。
* **1日あたりの上限：** 1日に作成されるチケットの最大数を設定します。デフォルトは `25` です。一部のプランではより高い上限がサポートされています。
* **チケット作成モード：** 課題グループごとに1つのチケットを作成するか、ロケーションまたはスコープごとに個別のチケットを作成します。ロケーションごとのモードでは、より多くのチケットが作成される場合があります。
* **スコープ：** ロケーションごとのモードでのみ使用できます。すべてのリポジトリまたはクラウド、マッピングされたリポジトリまたはチームのみ、または包含リストと除外リストを使用して特定のリポジトリまたはクラウドを対象にします。

<figure><img src="https://help.aikidogov.us/_assets/0f792496e2b2/image.png" alt=""><figcaption></figcaption></figure>

4. Aikidoは、設定された1日あたりのタスク上限に達するまで、1時間ごとにServiceNowチケットを自動的に生成します。

<figure><img src="https://help.aikidogov.us/_assets/c4c4166a5ab6/image-317.png" alt=""><figcaption></figcaption></figure>

### ServiceNowの同期

Aikidoは、いくつかのフィールドをServiceNowに自動的に同期します：

* 重大度はServiceNowの「Priority」フィールドにマッピングされます
* 担当者は双方向に同期されます（そのため、ServiceNowでの更新もAikidoに反映されます）
