環境ごとにシークレットをローテーション・デプロイする
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
SitecoreAI環境は、編集ホスト、Edge、ページビルダーなどのサービスを安全に接続するために複数の秘密とトークンを使用します。これらの秘密をローテーションすることで、認証情報漏洩のリスクを減らし、侵害トークンの影響を抑え、セキュリティとコンプライアンスのベストプラクティスを支援します。アクセススコープの変更、外部編集ホストの更新、または日常的な運用衛生の一環として、定期的なシークレットローテーションも推奨されます。
このトピックでは、SitecoreAI Web APIを通じて必要なキーとトークンを再生成することで、SitecoreAI環境用のシークレットをローテーションする方法について説明します。手順は組み込みのSwagger UIの使い方を示しますが、ワークフローに合った他のAPIクライアントや自動化のアプローチも使えます。このプロセスには、環境秘密の再生成、環境の再デプロイ、外部編集ホストの更新が含まれ、途切れないオーサリングとページ編集の体験を確保します。
!警告これは時間的に重要で多段階のプロセスであり、以下の順に完了しなければなりません。
- 編集の秘密を再生成する。
- エッジトークンを再生してください。 これによりコンテキストIDが無効になるため、すぐに次のステップに進めてください。
- コンテキストIDを再生成してください。
- ライブウェブサイトに新しいライブコンテキストID/スコープ化されたコンテキストIDを更新してください。
- SitecoreAI環境を再デプロイしてください。
- 既存の外部編集ホストを新しいプレビューコンテキストIDと編集秘密で更新してください。まずは低環境でこの手順を試すことを推奨します。本番環境で働く場合は、通常の勤務時間外にこの手順を実行してください。
前提条件
シークレットローテーションや環境再生は、SitecoreAI環境を管理・再デプロイできるユーザーに限定されています。SitecoreAI Deployアプリへのアクセス権と、組織管理者の役割を持っていることを確認してください。環境のシークレットのローテーションを作成するには、まず現在のユーザーアクセストークンと環境IDを取得する必要があります。ユーザーアクセストークンを取得するには:
-
Sitecore Cloud Portalの右上にあるシステム情報>プロファイルアイコンをクリックします。
-
開くダイアログでベアラートークンをコピーし、後で使うためにメモに貼り付けます。
!注トークンは15分間有効です。新しいトークンを取得するには、ページをリロードしてください。
環境IDを取得するには:
- SitecoreAI Deployで、該当するプロジェクト名をクリックし、秘密のローテーションが必要な環境名をクリックします。
- オーサリング環境の 詳細タブで、環境IDをコピーしてメモに貼り付けて後で使うようにします。
秘密の回転を作成します
これは時間的に重要で多段階のプロセスであり、以下の順に完了する必要があります:
- 編集の秘密を再生成する。
- エッジトークンを再生してください。これによりLive Context IDが無効になるため、すぐに次のステップに進んでください。
- コンテキストIDを再生成してください。
- すべてのライブサイトおよび外部編集ホストのコンテキストIDを更新してください。また、サイトの内部編集ホストを更新するために再デプロイしてください。秘密の回転を作成するには:
-
Swagger UIページを開きます。
-
「承認」をクリックします。
-
「利用可能な認可」ダイアログの「Value」欄に、先ほど保存したベアラートークンの値を入力します。
-
「オーライズ」をクリックしてからダイアログを閉じます。
-
編集秘密を再生成するには:
- Renerate-editing-secretエンドポイントを開き、「**試してみる」**をクリックしてください。
- EenvironmentIdフィールドで、先ほど保存した環境IDを入力し、「実行」をクリックします。
- 応答コードが200であることを確認し、 Reponse本体からその値をコピーしてメモに保存し、環境に外部設定の編集ホストがある場合に備えて後で使います。
-
エッジトークンの再生成:
- Renerate-edge-tokenエンドポイントを開き、「**試してみる」**をクリックしてください。
- EnvironmentIdフィールドに、先ほど保存した環境IDを入力し、「実行」をクリックします。
- 応答コードが202であることを確認しましょう。外部設定のレンダリングホストインスタンスがある場合は、 apiKeyプロパティから値をコピーして保存してください。後で必要になるからです。
-
コンテキストIDを再生成するには、デプロイアプリ内の環境 の詳細ページで「 **Regenerate」**をクリックします。その後、新しい Context ID Liveと Context IDプレビューをコピーしてメモに貼り付け、後で使うことができます。
!警告エッジトークンの再検証は、既存のすべてのコンテキストIDを無効にします。中断時間をできるだけ短くするために、すべてのライブウェブサイトでライブコンテキストIDを即時更新してください。
-
環境 を再デプロイ するには、「 デプロイメント」タブで「オプション」> **「ビルド&デプロイ」**をクリックしてください。
-
環境に外部編集ホストが設定されている場合、取り消されたコンテキストIDを置き換えたものに置き換える必要があります:
- SITECORE_EDGE_CONTEXT_ID- 新しいプレビューコンテキストID値で更新。
- NEXT_PUBLIC_SITECORE_EDGE_CONTEXT_ID- 新しいプレビューコンテキストID値で更新。クライアント側での使用には、スコープ付きのコンテキストを作成する必要があります。
- SITECORE_EDITING_SECRET- Regenerate Editing Secret ステップで得られた値で更新します。
-
すべてのライブウェブサイト( すべてのレンダリングホスト)については、新しいLive Context ID値で更新してください。クライアント側で使用する場合は、 スコープ付きのコンテキストを作成する必要があります。
-
以前にスコープ化されたコンテキストIDを作成している場合は、それらも 更新する必要があります。
-
さらに、外部レンダリングホストがある場合は、Regenerate Edge Tokenのステップで環境変数SITECORE_API_KEY更新する必要があります。