# 例: Cisco IOS XE

## 概要

本ページでは、Catalyst 9000などのCisco IOS XEデバイスを対象に、パスワードをローテーションするローテーション後スクリプトを作成する手順を取り扱います。

## 1. Cisco認証レコードの作成

別のユーザーのパスワードをローテーションする権限を持つCisco Catalystの管理者認証情報を保存するため、新しいPAMユーザーレコードを作成します。このレコードは、デバイス上でパスワード更新を実行する際に、ローテーション後スクリプトから参照されます。

タイプが「Text」のカスタムフィールドを追加し、ラベルに `host_endpoint` を指定します。値には、Cisco IOS XEデバイスのIPアドレスまたはホスト名を設定します。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2F8vMAmmz90eLHkXzTiBXl%2Fimage.png?alt=media&#x26;token=9de5cdf6-d4f2-4f61-8a90-46c4db7f65df" alt=""><figcaption></figcaption></figure>

## 2. 対象ユーザーのレコード作成

パスワードをローテーションする対象のユーザーアカウント用に、2つ目のPAMユーザーレコードを作成します。このレコードには、対象アカウントの現在のユーザー名とパスワードを入力します。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FFUDef2TUh9UxLkQCT8I7%2Fimage.png?alt=media&#x26;token=05d27629-ac3c-4aed-bb04-97fea36ea8e9" alt=""><figcaption></figcaption></figure>

## 3. ローテーション設定の構成

**\[ローテーション設定]** セクションで **\[セットアップ]** を選択し、パスワードローテーションを構成します。

* **\[ローテーションプロファイル]** では **\[PAMスクリプトのみを実行する]** を選択します。
* **\[PAMリソース]** では、ゲートウェイに対応する適切なPAM構成を選択します。
* **\[アップデート]** をクリックして、ローテーション設定を保存します。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FwlyeXwJnH178x6yMj2RR%2Fimage.png?alt=media&#x26;token=c38a3a54-592a-48fe-88f3-b24b8b9678e5" alt=""><figcaption></figcaption></figure>

## 4. ポストローテーションスクリプトのアップロード

引き続きPAMユーザーレコード内で、**\[PAMスクリプト]** セクションに移動し、**\[PAMスクリプトを追加]** をクリックします。デバイス上のPythonスクリプトを参照して選択するか、アップロードフィールドにドラッグ＆ドロップしてアップロードします。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FTb0YQKzqhoB4cvstmKsW%2Fimage.png?alt=media&#x26;token=2c3153d5-025a-4aec-b00d-8dd947705136" alt=""><figcaption></figcaption></figure>

以下のPythonファイルをPAMスクリプトとして添付します。このスクリプトは、Cisco IOS XEのエンドポイントに接続し、パスワードローテーションを実行します。

{% file src="<https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FZJ7E65jPV2qR9JekDU0t%2Fupdate-cisco-user.py?alt=media&token=693d5af9-dfb5-48b0-b88f-8bbe51d00d8d>" %}

## 5. Cisco認証レコードの関連付け

**\[追加認証情報]** ドロップダウンから、手順1で作成したCisco認証レコードを選択します。\
このレコードは、スクリプトがデバイスへ認証する際に使用されます。

* **\[コマンドプレフィックス付きで実行]** を有効にし、Python実行ファイルのフルパスを指定します。
* Docker経由でデプロイされたゲートウェイの場合、パスは通常 `/usr/local/bin/python3` となります。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FiM1P9EA38iUkiNF4BzRr%2Fimage.png?alt=media&#x26;token=bb4a3138-0011-4dc4-9188-86584023f19b" alt=""><figcaption></figcaption></figure>

## 6. 構成の保存

PAMユーザーレコードで **\[保存]** をクリックして、構成を完了します。
