# Visual Studio Code拡張機能

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2F7H6XqAAi82HqhD3ocDDd%2Fimage.png?alt=media&#x26;token=661550dc-6a26-4126-956c-4aede7bce799" alt=""><figcaption></figcaption></figure>

## 概要

Keeperボルトの機能を開発ワークフローに直接統合する、包括的なVS Code拡張機能です。Keeperボルトから、シークレットの保存、取得、生成、シークレットを使用したコマンド実行など、安全なシークレット管理を行えます。

この拡張機能を利用することで、開発環境を離れることなくシークレットを安全に管理でき、Keeper Securityの既存インフラストラクチャと連携しながら、高いセキュリティ基準を維持できます。

また、連携時のデータソースとして、KeeperコマンダーCLIまたはKeeperシークレットマネージャーのいずれかを選択できます。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FKLsAlCTiuVSVBe5LHY4g%2Fimage.png?alt=media&#x26;token=4ca2f24a-3788-4404-934f-a5ce51319e18" alt=""><figcaption></figcaption></figure>

## 機能

* **シークレット管理**\
  VS Codeから直接、Keeper Securityのボルトを使用してシークレットの保存、取得、生成を行えます。
* **デュアルモード対応**\
  連携方法として、次のいずれかを選択できます。
  * CLIモード (KeeperコマンダーCLI、デフォルト)
  * KSMモード (Keeperシークレットマネージャー)
* **シークレット検出**\
  設定ファイルを対象に、パターン認識によってシークレットの可能性がある情報(APIキー、パスワード、トークン、JWT、AWSキー、Stripeキーなど)を自動検出します。
* **安全なコマンド実行**\
  Keeperボルトからシークレットを注入した状態でコマンドを実行できます。
* **包括的なログ機能**\
  デバッグモードに対応した組み込みのログ機能を備えています。

## 要件

#### システム要件

* VS Code\
  バージョン1.99.0以降
* Keeper Securityアカウント\
  ボルトにアクセス可能な有効なサブスクリプション (コンシューマー、B2B、MSP)

#### CLIモードを使用する場合

* KeeperコマンダーCLI\
  公式バイナリを使用して、システムにグローバルインストールされている必要があります。
* 認証\
  [永続ログイン](https://docs.keeper.io/jp/keeperpam/commander-cli/commander-installation-setup/logging-in#persistent-login-sessions-stay-logged-in)または[生体認証ログイン](https://docs.keeper.io/jp/keeperpam/commander-cli/commander-installation-setup/logging-in#logging-in-with-biometric-authentication)で認証されている必要があります。

#### KSMモードを使用する場合

* テナントでKeeperシークレットマネージャーかKeeperPAMが有効であること
* シークレットマネージャーについて、詳しくは[こちらのページ](https://docs.keeper.io/keeperpam/secrets-manager)をご覧ください。

## セットアップ

<details>

<summary>CLIモード</summary>

**KeeperコマンダーCLIバイナリのインストール**

1. オペレーティングシステムに応じて、[Keeperコマンダーインストールガイド](https://docs.keeper.io/keeperpam/commander-cli/commander-installation-setup)に従いバイナリをダウンロードしてインストールします。
   * [Windowsでのインストール](https://docs.keeper.io/jp/keeperpam/commander-cli/commander-installation-setup/installation-on-windows)
   * [macOSでのインストール](https://docs.keeper.io/jp/keeperpam/commander-cli/commander-installation-setup/installation-on-mac)
   * [Linuxでのインストール](https://docs.keeper.io/jp/keeperpam/commander-cli/commander-installation-setup/installation-on-linux)
2. インストール後、CLIがシステムのシェルPATHからアクセスできることを確認してください。
3. ターミナルを開き、次のコマンドを実行します。
   * `keeper --version`
   * `Keeper Commander, version 17.1.8` のような出力が表示されれば、コマンダーCLIが正しくインストールされ、グローバルにアクセス可能であることを確認できます。

インストール完了後、インストール中にVS Codeを開いていた場合は、VS Codeを開き直してください。

**KeeperコマンダーCLIで認証する**

1. ターミナルまたはコマンドプロンプトを開きます。
2. `keeper shell` を実行します。
3. ログインしていない場合は、Keeperの認証情報の入力を求められます。指示に従ってログインを完了してください。
4. ログインが成功すると、プロンプトが `My Vault>` に変わります。
5. この `My Vault>` プロンプト内で、以下のいずれかの方法でセットアップを完了します。
   1. 永続ログインを有効化する場合
      1. `this-device persistent-login on` を実行します。
      2. `this-device register` を実行します。\
         \
         一定時間操作がない場合の自動ログアウト時間を設定するには、`this-device timeout 600` を実行します。これにより「logout\_timer」が10時間に設定されます。
   2. 生体認証ログインを使用する場合
      1. `biometric register` を実行します。
      2. 生体認証 (指紋またはFace ID) のプロンプトが表示されます。認証に成功すると、登録が完了します。

詳細については、[こちらのページ](https://docs.keeper.io/jp/keeperpam/commander-cli/commander-installation-setup/logging-in)をご参照ください。

{% hint style="info" %}
KeeperコマンダーCLIの構成を手動で変更した場合は、エディタウィンドウを再読み込みしてください。`Ctrl+Shift+P` (Macの場合は `Cmd+Shift+P`) を押してコマンドパレットを開き、**\[Developer: Reload Window]** を選択します。
{% endhint %}

</details>

<details>

<summary>KSMモード</summary>

**Keeperボルトでシークレットマネージャーアプリケーションを作成する**

1. Keeperボルトで **\[シークレットマネージャー]** タブを開き、既存のアプリケーションを表示します。
2. **\[アプリケーションを作成]** をクリックします。
3. 新しいシークレットマネージャーアプリケーションの名前を入力します。
4. アプリケーションにアクセスを許可する**共有フォルダ**を選択します。
   * アプリケーションは、ここで選択したフォルダに保存されているレコードのみにアクセスできます。
5. **アプリケーションのレコード権限**で「**編集**」を選択し、ボルト内レコードへの書き込み権限を付与します。
6. **\[アクセストークンを生成]** をクリックして、アプリケーションを作成します。
   * クライアントデバイス用の**ワンタイムアクセストークン**が生成されます。
   * このトークンを安全な方法でコピーまたはダウンロードします。後続のセットアップ手順で使用します。

{% hint style="info" %}
共有フォルダをシークレットマネージャーアプリケーションに追加する際は、「**編集**」権限が付与されていることを確認してください。そうでない場合、新しいシークレットが生成できません。
{% endhint %}

**追加のクライアントデバイスを作成する(任意)**

シークレットマネージャーアプリケーションを作成した後、Keeperボルトから、そのアプリケーションに対して追加のクライアントデバイスを作成できます。追加のクライアントデバイスの作成手順については、[こちらのページ](https://github.com/Keeper-Security/gitbook-jp-secrets-manager/blob/main/about/secrets-manager-configuration/README.md#shkurettomanjno)をご参照ください。

</details>

### 拡張機能のインストール

VS Codeの拡張機能マーケットプレイスで「Keeper Security」と検索し、拡張機能をインストールします。拡張機能のページは[こちら](https://marketplace.visualstudio.com/items?itemName=KeeperSecurityDev.ks-vscode)となります。

CursorなどのVS Codeフォークを使用している場合でも、Keeper拡張機能はOpen VSX Registryに公開されています。[こちら](https://open-vsx.org/extension/KeeperSecurityDev/ks-vscode)からご利用ください。

#### 拡張機能へのアクセスを確認する

1. VS Codeのコマンドパレットを開きます (`Ctrl+Shift+P` または `Cmd+Shift+P`)。
2. 「Keeper Security」と入力すると、利用可能なコマンドがすべて表示されます。

## 使用方法

### 利用可能なコマンド

認証後、コマンドパレット (`Ctrl+Shift+P` または `Cmd+Shift+P`) から以下のコマンドにアクセスできます。

| コマンド                         | 説明                               | 使用例                              |
| ---------------------------- | -------------------------------- | -------------------------------- |
| **Save in Keeper Security**  | 選択したテキストをボルト内のシークレットとして保存します     | ハードコードされたシークレットをKeeper参照に置き換えて保存 |
| **Get from Keeper Security** | 既存のシークレットをボルトからKeeper参照として挿入します  | シークレットの値を露出させずに保存済みのシークレットを取得    |
| **Run Securely**             | シークレットを注入してコマンドを安全に実行します         | 実行時にボルト内のシークレットを利用してアプリケーションを実行  |
| **Choose Folder**            | シークレットを保存するボルトのフォルダを選択します        | 特定のフォルダにシークレットを保存する場合に使用         |
| **Generate Password**        | 安全なパスワードを生成して保存します               | 新しい安全な認証情報を作成                    |
| **Open Logs**                | 拡張機能のアクティビティログを表示します             | 拡張機能の動作をデバッグまたは監視                |
| **Authenticate** (KSMモードのみ)  | 各種構成オプションを使用して、KSMの認証を行います       | 別のシークレットマネージャーアプリケーションを使用する場合    |
| **Switch to CLI / KSM**      | 現在のワークスペースで、CLIモードとKSMモードを切り替えます | コマンダーCLIモードとKSMモードを切り替えます        |

### コマンドの詳細

#### Save in Keeper Vault (Keeperボルトに保存する)

#### 1. コマンドパレットから実行

**目的**

* 選択したテキストをKeeper Securityボルト内のシークレットとして保存し、その部分をKeeper参照に置き換えます。

**手順**

1. 保存したいデータを選択します。
2. コマンドパレットを開きます (`Ctrl+Shift+P` または `Cmd+Shift+P`)。
3. `Keeper Security: Save in Keeper Vault` と入力して選択します。
4. 必要に応じて、拡張機能がKeeperに認証を行います。
5. レコード名およびフィールド名を入力します。
6. 拡張機能によりKeeperボルト内に新しいアイテムが作成されます。
7. 選択したテキストが、ユーザーのカーソル位置にシークレット参照 (`keeper://...`) として自動的に置き換えられます。

#### 2. シークレットの自動検出

**目的**

* コード内の潜在的なシークレットを自動的に検出し、簡単に識別・保護できるようにします。

**機能**

* 拡張機能が既知のシークレットパターンを基にファイルをスキャンします。
* 検出されたシークレットの上にCodeLensが表示されます。
* CodeLensには「Save in Keeper Security」オプションが表示されます。
* CodeLensをクリックし、表示される手順に従って検出されたシークレットを保存します。
* 検出されたシークレットは自動的にKeeper参照 (`keeper://...`) に置き換えられ、ユーザーのカーソル位置に挿入されます。

**対応ファイル形式**

* 環境ファイル: `.env`, `.env.*` など

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fw3EVY2rck7ySDJUJihwG%2Fsave-in-keeper-security-demo.gif?alt=media&#x26;token=6a4dacdd-d098-4086-94b4-74212e019e0a" alt=""><figcaption></figcaption></figure>

#### Get from Keeper Vault (Keeperボルトから取得する)

**目的**

* Keeperボルト内の既存のシークレットを実際の値を表示せずに、Keeper参照としてコード内に挿入します。

**手順**

1. コマンドパレットを開きます (`Ctrl+Shift+P` または `Cmd+Shift+P`)。
2. `Keeper Security: Get from Keeper Vault` と入力して選択します。
3. 拡張機能が利用可能なレコードの一覧を表示します。
4. 使用したいレコードとフィールドを選択します。
5. 選択したシークレット参照が、ユーザーのカーソル位置に挿入されます。

**参照形式**

```
keeper://record-uid/field/item
```

**例**

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FqAo8Et4XrGfJurgEyGYY%2Fget-from-keeper-security-demo.gif?alt=media&#x26;token=4b1f2baf-f904-4496-93b0-8755a7da6514" alt=""><figcaption></figcaption></figure>

### Run Securely (安全に実行する)

**目的**

* 選択した `.env` ファイル内で定義されたKeeper参照を基に、Keeperボルトから取得したシークレット値を注入してコマンドを実行します。

**手順**

1. コマンドパレットを開きます (`Ctrl+Shift+P` または `Cmd+Shift+P`)。
2. `Keeper Security: Run Securely` を検索して選択します。
3. 使用する `.env` ファイルを選択します。
   * 現在のワークスペース内にある利用可能な `.env` ファイルがドロップダウンに表示されます。
   * 別の場所から選択する場合は「Browse Environment File」を選びます。
   * ファイル選択ダイアログで隠しファイル (`.env` など) が表示されない場合は、以下のショートカットを使用します。
     * macOS: `Cmd + Shift + .`
     * Windows: `Ctrl + H` (一部のファイルダイアログで有効)
     * Linux: `Ctrl + H`
4. 実行したいコマンドを入力します。
5. 拡張機能が選択した `.env` ファイルからシークレットを注入し、新しいターミナルを作成してコマンドを実行します。

**注意**: アプリケーション内で注入されたシークレット値を利用するためには、対応する環境変数を参照する必要があります。

```
process.env.DB_PASSWORD
os.environ.get("API_KEY")
```

`.env` ファイルには、次のようなKeeper参照を含めてください。

```
DB_PASSWORD=keeper://record-uid/password
API_KEY=keeper://record-uid/api_key
```

これらの参照は「Run Securely」を使用した実行時に解決され、実際の値が注入されます。

**例**

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FC0arucRslj9NUaRH4Pho%2Frun-securely-demo.gif?alt=media&#x26;token=1a251ad2-d661-495c-87a9-f05ff224bc8c" alt=""><figcaption></figcaption></figure>

#### **Choose Folder (**&#x30D5;ォルダを選択する)

**目的**

* このワークスペースで使用するシークレットを保存するKeeperボルト内のフォルダを指定します。

**手順**

1. コマンドパレットを開きます (`Ctrl+Shift+P` または `Cmd+Shift+P`)。
2. `Keeper Security: Choose Folder` と入力して選択します。
3. 拡張機能が利用可能なボルトフォルダの一覧を表示します。
4. このワークスペースで使用するフォルダを選択します。

以後、「Save in Keeper Security」および「Generate Password」の操作で作成されるシークレットは、選択したフォルダに保存されます。

**例**

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2F9wnSnNTR8QVjypFycN7O%2Fchoose-folder-demo.gif?alt=media&#x26;token=2e77befa-041c-4b46-a0a2-80feb719bf78" alt=""><figcaption></figcaption></figure>

#### **Generate Password (**&#x30D1;スワードを生成する)

**目的**

* 安全なパスワードを生成し、Keeperボルトに保存します。

**手順**

1. コマンドパレットを開きます (`Ctrl+Shift+P` または `Cmd+Shift+P`)。
2. `Keeper Security: Generate Password` と入力して選択します。
3. レコード名を入力します。
4. 生成されたパスワードの参照が、ユーザーのカーソル位置に挿入されます。

**例**

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FaUt3U3ijCHfmBqxGKEOY%2Fgenerate-password-demo.gif?alt=media&#x26;token=2b408de0-fbd1-4fc6-8661-79e36ac423a8" alt=""><figcaption></figcaption></figure>

#### Open Logs (ログを開く)

**目的**

* 拡張機能の動作ログを表示し、デバッグや監視を行います。

**手順**

1. コマンドパレットを開きます (`Ctrl+Shift+P` または `Cmd+Shift+P`)。
2. `Keeper Security: Open Logs` と入力して選択します。
3. 拡張機能が出力パネルを開き、詳細なログが表示されます。

**例**

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FHJIIotFqUCTz5vQIEzq4%2Fopen-logs-demo.gif?alt=media&#x26;token=9dc4309b-21b1-4105-ad14-9f62fd8d26a8" alt=""><figcaption></figcaption></figure>

### Authenticate (認証) (KSMモードのみ)

**目的**

ワンタイムトークン、Base64エンコード文字列、JSON構成ファイルなどの各種構成オプションを使用して、KSMの再認証を行います。別のシークレットマネージャーアプリケーションを使用する場合にも利用できます。

**手順**

1. コマンドパレットを開きます (`Ctrl+Shift+P` または `Cmd+Shift+P`)。
2. `Keeper Security: Authenticate` と入力し、選択します。
3. 使用する認証方法を選択します。
   * **One-Time Token**\
     ワンタイムアクセストークンを入力します。
   * **Base64**\
     Base64エンコードされた構成文字列を入力します。
   * **JSON Config File**\
     JSON構成ファイルのパスを選択します。
4. 表示される入力欄に、選択した認証方法に対応する値を入力します。
5. KSMの認証が完了します。

### Switch to CLI / KSM

**目的**

\
現在のワークスペースで、拡張機能の動作モードをCLI (KeeperコマンダーCLI) とKSM (Keeperシークレットマネージャー) の間で切り替えます。

**手順**

1. コマンドパレットを開きます。
2. `Keeper Security: Switch to CLI` または `Keeper Security: Switch to KSM` と入力し、選択します。
3. ウィンドウの再読み込みを確認するダイアログが表示されます。
4. **\[Reload Window]** をクリックして、モード切り替えを確定します。

## 拡張機能の設定

この拡張機能には、以下の設定オプションがあります。

**手順**

1. VS Codeの設定を開きます (`Ctrl+,` または `Cmd+,`)。
2. 検索バーに「Keeper Security」と入力します。
3. 以下のオプションを設定します。

| 設定項目                 | 説明                    | デフォルト値  |
| -------------------- | --------------------- | ------- |
| **Debug Enabled**    | デバッグ用の詳細なログを有効にします    | `false` |
| **Secret Detection** | シークレットの自動検出を有効にします    | `true`  |
| **Mode Type**        | CLIまたはKSMのモード間を切り替えます | `cli`   |

**注意:** デバッグモードを有効にした場合、変更を反映させるには拡張機能を再読み込みする必要があります。`Ctrl+Shift+P` (Macの場合は `Cmd+Shift+P`) を押し、**\[Developer: Reload Window]** を選択してください。

## トラブルシューティング

### **デバッグモード**

拡張機能の動作に関する詳細情報を確認するため、デバッグログを有効にします。

**手順**

1. VS Codeの設定を開きます (`Ctrl+,` または `Cmd+,`)。
2. 検索バーに「Keeper Security」と入力します。
3. 「Debug」オプションを有効にします。
4. ウィンドウを再読み込みします(`Ctrl+Shift+P` または `Cmd+Shift+P` → **\[Developer: Reload Window]**)。

### よくある問題

#### CLIモードおよびKSMモードに共通する問題

#### 1. 拡張機能全般の問題

**問題**

* シークレットの取得に時間がかかる、読み込み状態が継続する、Keeper参照を解決できない、Keeperボルトの最新レコードが表示されないなど、拡張機能の動作に予期しない問題が発生する。

**対処方法**

* エディタウィンドウを再読み込みする (`Ctrl+Shift+P` または `Cmd+Shift+P` → **\[Developer: Reload Window]**)。
* CLIモードの場合、KeeperコマンダーCLIが**永続ログイン**または**生体認証ログイン**で認証されていることを確認する。
* KSMモードの場合、KSM認証が正しいことを確認する。
* インターネット接続およびファイアウォール設定を確認する。
* Keeperボルトにアクセスできることを確認する。
* 問題が続く場合は拡張機能のキャッシュをクリアする。

#### 2. コマンドが表示されない

**問題**

* Keeper拡張機能のコマンドが、コマンドパレットに表示されない。

**対処方法**

* 正しいKeeper拡張機能がインストールされていることを確認する。
* コマンドが表示されない場合は、VS Codeのウィンドウを再読み込みする。
* 拡張機能が正しく有効化・アクティブ化されていることを確認する。

#### 3. 拡張機能が読み込まれない

**問題**

* 拡張機能が有効化されない、またはエラーが表示される。

**対処方法**

* VS Codeのバージョンが要件を満たしていることを確認する (1.99.0以降が必要)。
* Node.jsのバージョンを確認する (18.0.0以降が必要)。
* 拡張機能を一度アンインストールし、再インストールする。

#### 4. Run Securelyコマンドの問題

**問題**

* コマンド実行時に、注入されたシークレットへアクセスできない。

**対処方法**

* コマンドパレットから `Keeper Security: Run Securely` を使用してコマンドを実行する。
* `.env` ファイルに有効な `keeper://` 参照が含まれていることを確認する。
* 参照されているすべてのシークレットがボルト内に存在することを確認する。
* 不要なターミナルを削除し、拡張機能によって新しく作成された最新のターミナルが使用されていることを確認する。

#### 5. フォルダ選択に関する問題

**問題**

* ボルトフォルダを選択できない、または変更できない。

**対処方法**

* ボルト内のフォルダに対して、十分な権限が付与されていることを確認する。
* CLIモードの場合、KeeperコマンダーCLIに適切な権限が付与されていることを確認する。
* KSMモードの場合、シークレットマネージャーアプリケーションが、対象の共有フォルダにアクセスできることを確認する。
* ボルト内のフォルダ構成を確認する。
* ウィンドウの再読み込みを試す。

#### 6. 設定からのモード切り替えに関する問題

**問題**

* 設定画面でモードを変更しても、モードが切り替わりません。

**対処方法**

* ドロップダウンからモードを変更した後、エディタウィンドウを再読み込みしてください。`Ctrl+Shift+P` (Macの場合は `Cmd+Shift+P`) を押し、**\[Developer: Reload Window]** を選択する。

**または**

* コマンドパレットから**Switch to CLI**または**Switch to KSM** 実行し、モードを切り替える。

#### CLIモード固有の問題

#### 7. KeeperコマンダーCLIが見つからない

**問題**

* 「Keeper Commander CLI is not installed」と表示される

**対処方法**

* [インストールガイド](https://docs.keeper.io/keeperpam/commander-cli/commander-installation-setup)に従い、KeeperコマンダーCLIをグローバルにインストールする
* CLIがシステムPATHからアクセス可能であることを確認する
* ターミナルで `keeper --version` を実行してインストールされていることを確認する

#### 8. 認証エラー

**問題**

* 「Keeper Commander CLI is not authenticated」と表示される

**対処方法**

1. ターミナルまたはコマンドプロンプトを開き、`keeper shell` を実行します。
2. ログインしていない場合はKeeperの認証情報入力を求められます。指示に従ってログインしてください。
3. ログイン成功後、プロンプトが `My Vault>` に変わります。
4. [永続ログイン](https://docs.keeper.io/jp/keeperpam/commander-cli/commander-installation-setup/logging-in#persistent-login-sessions-stay-logged-in)または[生体認証ログイン](https://docs.keeper.io/jp/keeperpam/commander-cli/commander-installation-setup/logging-in#logging-in-with-biometric-authentication)を有効にします。

詳しくは[ログイン](https://docs.keeper.io/jp/keeperpam/commander-cli/commander-installation-setup/logging-in)のページをご参照ください。

**注意:** コマンダーCLIに再ログインした場合は、`Ctrl+Shift+P` (Macの場合 `Cmd+Shift+P`) を押し、**\[Developer: Reload Window]** を選択してエディタウィンドウを再読み込みしてください。

#### KSMモード固有の問題

#### 9. SaveおよびGenerate Passwordコマンドが失敗する (KSMモード)

**問題**

* 正しい手順を実行しているにもかかわらず、SaveまたはGenerate Passwordコマンドが失敗する。

**対処方法**

* 正しく認証されていることを確認する。
* シークレットマネージャーアプリケーションで、対象の共有フォルダに対して「**編集**」権限が付与されていることを確認する。
