IBM Cloud Docs
シークレットの手動ローテーション

シークレットの手動ローテーション

IBM Cloud® Secrets Managerを使用して、シークレットの新規バージョンを手動で作成できます。

サービス・インスタンスのシークレットをローテーションすると、その値の新規バージョンが作成されます。 資格情報をローテーションすると、単一のシークレットで保護リソースにアクセスできる期間が制限されるため、資格情報に関連付けられているリスクからユーザーのビジネスを保護できます。 シークレットを定期的 (30 日、60 日ごとなど) にローテーションさせると、シークレットに関するベスト・プラクティスに常時準拠できるようになります。

開始前に

開始する前に、必要なレベルのアクセス権限を持っていることを確認してください。 シークレットをローテーションさせるには、ライター・サービス・ロールまたはそれ以上が必要です。

サポート対象シークレット・タイプ

Secrets Manager に保存した秘密はすべて、必要に応じてローテーションし、入れ替えることができる。 Secrets Managerがシークレットをローテートするリクエストを評価する方法は、シークレットのタイプによって異なります。

Secrets Manager、秘密のタイプ別に手動回転を評価する方法について説明する。
タイプ ローテーションの説明
任意シークレット 任意シークレットは、ローテーションに指定したデータにすぐに置き換えられます。
IAM 資格情報 サービス ID と API キーで構成される IAM 資格情報は、その初期構成に従って即時に再生成されます。 アカウントの既存のサービス ID を使用して IAM 資格情報シークレットが作成された場合は、手動ローテーションの一部として API キーのみが再生成されます。 シークレットの作成がアクセス・グループの選択によってなされた場合は、サービス ID と API キーの値は両方とも、手動ローテーション時に再生成されます。 重要: IAM クレデンシャル・シークレットの Reuse IAM credentials until lease expires (reuse_api_key) オプションは、手動でローテーションできるかどうかに影響する。 このフィールドが false か、または UI で**「オフ」**に設定されている場合、手動ローテーションはサポートされません。 各読み取りでシークレットに動的に生成される API キーは、既にシングル・ユースの一時的な値になっています。
インポートされたた証明書 サービス・インスタンスに最初にインポートされた証明書は、ローテーション時にインポートしたデー タに直ちに置き換えられる。
キー・バリューシークレット キー・バリューシークレットは、ローテーションで指定されるデータに即時に置き換えられます。
プライベート証明書 プライベート証明書は、その親によって署名された証明書、または認証局を発行する証明書にすぐに置き換えられます。
パブリック証明書 パブリック証明書は、**「アクティブ、ローテーション保留中」**ステータスに変わり、証明書をローテーションする要求が処理中であることが示されます。Secrets Manager は、構成済みの認証局 (CA) に要求を送信します。例えば、Let's Encrypt を使用して、ドメインの所有権を検証します。 検証が正常終了すると、新しい証明書が発行されます。
ユーザー資格情報 ユーザーの資格情報シークレットに関連付けられているパスワードは、ローテーション時に指定したデータにすぐに置き換えられます。
サービス資格情報 Service credentials secret は新しいものに置き換えられる。 前の秘密は、定義されたTTLの残り時間利用可能なままである。
カスタム資格情報 カスタム認証情報の秘密情報は新しいものに置き換えられる。 前の秘密は、定義されたTTLの残り時間利用可能なままである。

データベース用に作成されたサービス資格情報の場合、資格情報に加えて、作成された資格情報のデータベース権限も変更すると、サービス資格情報がローテーションされた後にそれらは同期されないことに注意してください。 データベース・サービス資格情報をローテーションする場合、これは ID ローテーションと見なされます。

UI での新しいシークレット・バージョンの作成

Secrets Manager UI を使用して、シークレットおよび証明書を手動でローテーションさせることができます。

任意のシークレットのローテート

Secrets Manager UI を使用して、任意シークレットを手動でローテーションできます。

  1. コンソールで、**「メニュー」**アイコン「メニュー」アイコン **>「リソース・リスト」**をクリックします。
  2. サービスのリストから、Secrets Manager のインスタンスを選択します。
  3. Secrets Manager UI で、**「シークレット」**リストに移動します。
  4. ローテートするシークレットの行で、**「アクション」**メニュー「アクション」アイコン **>「ローテート」**をクリックします。
  5. 新しいファイルを選択するか、新しいシークレット値を入力します。
  6. オプション: シークレットまたは特定のバージョンのシークレットにメタデータを追加します。
    1. ファイルをアップロードするか、メタデータとバージョン・メタデータを JSON 形式で入力します。
  7. シークレットをすぐにローテーションさせるには、**「ローテーション」**をクリックします。
  8. オプション: バージョン・ヒストリーをチェックして、最新の更新を表示します。

キー/値シークレットの新規バージョンの作成

Secrets ManagerUIを使用して、キー・バリューシークレットを手動でローテートできます。

  1. コンソールで、**「メニュー」**アイコン「メニュー」アイコン **>「リソース・リスト」**をクリックします。
  2. サービスのリストから、Secrets Manager のインスタンスを選択します。
  3. Secrets Manager UI で、**「シークレット」**リストに移動します。
  4. ローテートするシークレットの行で、**「アクション」**メニュー「アクション」アイコン **>「ローテート」**をクリックします。
  5. ファイルを選択するか、JSON形式で新しいシークレット値を入力します。
  6. オプション: シークレットまたは特定のバージョンのシークレットにメタデータを追加します。
    1. ファイルをアップロードするか、メタデータとバージョン・メタデータを JSON 形式で入力します。
  7. シークレットをすぐにローテーションさせるには、**「ローテーション」**をクリックします。
  8. オプション: バージョン・ヒストリーをチェックして、最新の更新を表示します。

ユーザー資格情報の新規バージョンの作成

Secrets Manager UI を使用して、ユーザー資格情報シークレットに関連付けられているパスワード値を手動でローテーションさせることができます。

  1. コンソールで、**「メニュー」**アイコン「メニュー」アイコン **>「リソース・リスト」**をクリックします。

  2. サービスのリストから、Secrets Manager のインスタンスを選択します。

  3. Secrets Manager UI で、**「シークレット」**リストに移動します。

  4. ローテートするシークレットの行で、**「アクション」**メニュー「アクション」アイコン **>「ローテート」**をクリックします。

  5. お持ちのパスワードを入力するか、または新規パスワードを生成するかを決定します。

    新規パスワードの生成を選択すると、Secrets Manager は、既存の値を、大文字、小文字、数字、記号を含め、ランダムに生成された 32 文字のパスワードで置き換えます。

  6. オプション: シークレットまたは特定のバージョンのシークレットにメタデータを追加します。

    1. ファイルをアップロードするか、メタデータとバージョン・メタデータを JSON 形式で入力します。
  7. シークレットをすぐにローテーションさせるには、**「ローテーション」**をクリックします。

  8. オプション: バージョン・ヒストリーをチェックして、最新の更新を表示します。

IAM 認証情報の新しいバージョンの作成

Secrets Manager UI を使用して、IAM 資格情報シークレットに関連付けられたパスワード値を手動でローテートできる。

  1. コンソールで、**「メニュー」**アイコン「メニュー」アイコン **>「リソース・リスト」**をクリックします。
  2. サービスのリストから、Secrets Manager のインスタンスを選択します。
  3. Secrets Manager UI で、**「シークレット」**リストに移動します。
  4. ローテートするシークレットの行で、**「アクション」**メニュー「アクション」アイコン **>「ローテート」**をクリックします。
  5. オプション: シークレットまたは特定のバージョンのシークレットにメタデータを追加します。
    1. ファイルをアップロードするか、メタデータとバージョン・メタデータを JSON 形式で入力します。
  6. シークレットをすぐにローテーションさせるには、**「ローテーション」**をクリックします。
  7. オプション: バージョン・ヒストリーをチェックして、最新の更新を表示します。

サービス資格情報の新規バージョンの作成

Secrets Manager UI を使用して、Service credentials secret に関連付けられたパスワード値を手動でローテーションできます。

  1. コンソールで、**「メニュー」**アイコン「メニュー」アイコン **>「リソース・リスト」**をクリックします。
  2. サービスのリストから、Secrets Manager のインスタンスを選択します。
  3. Secrets Manager UI で、**「シークレット」**リストに移動します。
  4. ローテートするシークレットの行で、**「アクション」**メニュー「アクション」アイコン **>「ローテート」**をクリックします。
  5. オプション: シークレットまたは特定のバージョンのシークレットにメタデータを追加します。
    1. ファイルをアップロードするか、メタデータとバージョン・メタデータを JSON 形式で入力します。
  6. シークレットをすぐにローテーションさせるには、**「ローテーション」**をクリックします。
  7. オプション: バージョン・ヒストリーをチェックして、最新の更新を表示します。

カスタム資格情報の新しいバージョンの作成

Secrets Manager UI を使用して、カスタム資格情報シークレットに関連付けられているパスワード値を手動でローテートできます。

  1. コンソールで、**「メニュー」**アイコン「メニュー」アイコン **>「リソース・リスト」**をクリックします。
  2. サービスのリストから、Secrets Manager のインスタンスを選択します。
  3. Secrets Manager UI で、**「シークレット」**リストに移動します。
  4. ローテートするシークレットの行で、**「アクション」**メニュー「アクション」アイコン **>「ローテート」**をクリックします。
  5. オプション: シークレットまたは特定のバージョンのシークレットにメタデータを追加します。
    1. ファイルをアップロードするか、メタデータとバージョン・メタデータを JSON 形式で入力します。
  6. シークレットをすぐにローテーションさせるには、**「ローテーション」**をクリックします。
  7. オプション: バージョン・ヒストリーをチェックして、最新の更新を表示します。

インポートされた証明書の新規バージョンの作成

サービスに最初にインポートした証明書を更新するときは、 Secrets Manager UI を使用して手動でインポートできます。 証明書がローテートされた後、前のバージョンは、必要になる場合に備えて保持されます。

ローテートする証明書が、以前に中間証明書と秘密鍵と共にインポートされている場合は、サービスが中断されないよう、ローテーション時に中間証明書と秘密鍵を含めます。

  1. コンソールで、**「メニュー」**アイコン「メニュー」アイコン **>「リソース・リスト」**をクリックします。

  2. サービスのリストから、Secrets Manager のインスタンスを選択します。

  3. Secrets Manager UI で、**「シークレット」**リストに移動します。

  4. ローテートする証明書の行で、**「アクション」**メニュー「アクション」アイコン **>「ローテート」**をクリックします。

  5. 新規証明書データを選択または入力します。

    証明書を手動でローテートすると、証明書の内容が、指定した新しいデータのみに置き換えられることに注意してください。 前のバージョンの秘密鍵および中間証明書は保持されません。

  6. シークレットをすぐにローテーションさせるには、**「ローテーション」**をクリックします。

  7. オプション: バージョン・ヒストリーをチェックして、最新の更新を表示します。

  8. 最新の証明書バージョンを TLS ターミネーション・ポイントに再デプロイします。

    現行バージョンにアクセスするには、証明書をダウンロードするか、または シークレットの取得 API を使用してリトリーブします。

管理されたCSRでインポートされた証明書の新しいバージョンを作成する

Secrets Manager のUIを使用して、証明書の最初のバージョンを作成したり、証明書を更新する際に次のバージョンを作成したりすることができます。

  1. コンソールで、**「メニュー」**アイコン「メニュー」アイコン **>「リソース・リスト」**をクリックします。
  2. サービスのリストから、Secrets Manager のインスタンスを選択します。
  3. Secrets Manager UI で、**「シークレット」**リストに移動します。
  4. ローテートする証明書の行で、**「アクション」**メニュー「アクション」アイコン **>「ローテート」**をクリックします。
  5. 現在のCSRを使用して署名された証明書ファイルを選択するか、そのデータを入力してください。
  6. オプション:中間CAファイルを選択するか、そのデータを入力します。
  7. シークレットをすぐにローテーションさせるには、**「ローテーション」**をクリックします。
  8. オプション: バージョン・ヒストリーをチェックして、最新の更新を表示します。
  9. 最新の証明書バージョンを TLS ターミネーション・ポイントに再デプロイします。

現在のバージョンにアクセスするには、証明書をダウンロードするか、 Get a secret APIを使って プログラムで取得することができる。

プライベート証明書の新規バージョンの作成

Secrets Manager サービス・インスタンスでプライベート証明書が有効になっている場合は、サービス・インスタンス用に構成されている認証局によって以前に発行された証明書を手動で更新できます。

  1. コンソールで、**「メニュー」**アイコン「メニュー」アイコン **>「リソース・リスト」**をクリックします。

  2. サービスのリストから、Secrets Manager のインスタンスを選択します。

  3. Secrets Manager UI で、**「シークレット」**リストに移動します。

  4. ローテートする証明書の行で、**「アクション」**メニュー「アクション」アイコン **>「ローテート」**をクリックします。

  5. オプション: シークレットまたは特定のバージョンのシークレットにメタデータを追加します。

    1. ファイルをアップロードするか、メタデータとバージョン・メタデータを JSON 形式で入力します。
  6. **「ローテーション」**をクリックします。

  7. 最新の証明書バージョンを TLS ターミネーション・ポイントに再デプロイします。

    現行バージョンにアクセスするには、証明書をダウンロードするか、または シークレットの取得 API を使用してリトリーブします。

公開証明書の新規バージョンの作成

Secrets Manager サービス・インスタンスがパブリック証明書で有効になっている場合は、サード・パーティーの認証局から以前に発注された証明書を手動で更新できます。

  1. コンソールで、**「メニュー」**アイコン「メニュー」アイコン **>「リソース・リスト」**をクリックします。

  2. サービスのリストから、Secrets Manager のインスタンスを選択します。

  3. Secrets Manager UI で、**「シークレット」**リストに移動します。

  4. ローテートする証明書の行で、**「アクション」**メニュー「アクション」アイコン **>「ローテート」**をクリックします。

  5. オプション: シークレットまたは特定のバージョンのシークレットにメタデータを追加します。

    1. ファイルをアップロードするか、メタデータとバージョン・メタデータを JSON 形式で入力します。
  6. **「ローテーション」**をクリックします。

    オーダーが処理中であることを示す成功メッセージが表示されています。 検証が正常終了すると、新しい証明書が発行され、証明書のステータスが**「アクティブ、ローテーション保留中」** から**「アクティブ」に変わります。 検証に失敗すると、証明書のステータスは「アクティブ、ローテーション失敗」**に変わります。

  7. オプション: 証明書発行の詳細をチェックします。

    公開証明書の発行の詳細を確認するには、**「アクション」**アイコン「アクション」アイコン **>「詳細」**をクリックします。 リクエストに問題があった場合は、ローテーションが正常に完了しなかった理由に関する情報が「ステータス」フィールドに表示されます。

  8. 最新の証明書バージョンを TLS ターミネーション・ポイントに再デプロイします。

    現行バージョンにアクセスするには、証明書をダウンロードするか、または シークレットの取得 API を使用してリトリーブします。

UI での独自の DNS プロバイダーを使用したパブリック証明書の新規バージョンの作成

UI で手動 DNS プロバイダーを使用して作成されたパブリック証明書をローテーションするには、以下の手順を実行します。

  1. コンソールで、**「メニュー」**アイコン「メニュー」アイコン **>「リソース・リスト」**をクリックします。

  2. サービスのリストから、Secrets Manager のインスタンスを選択します。

  3. ローテートする証明書の行で、**「アクション」**メニュー「アクション」アイコン **>「ローテート」**をクリックします。

  4. オプション:証明書を簡単に識別できるように、名前と説明を追加します。

  5. オプション: 「更新」 をクリックします。

  6. 「チャレンジ (Challenges)」 をクリックして、各ドメインに関連付けられた TXT レコード名と値にアクセスしてください。 チャレンジを完了するには、これらのユーザーが必要です。

  7. ドメインの所有権を検証するには、ドメインごとに提供される TXT レコードを DNS プロバイダー・アカウントに手動で追加します。 有効期限前に検証されていないユーザー確認用の質問にのみ対応する必要があります。

    サブドメイン用の証明書 (例えば、 sub1.sub2.domain.com) を注文する場合は、TXT レコードを登録済みドメイン domain.com に追加する必要があります。

  8. ドメインに追加した TXT レコードが伝搬されていることを確認します。 DNS プロバイダーによっては、完了までに時間がかかる場合があります。

  9. レコードが伝搬されたことを確認したら、 「検証」 をクリックして Let 's Encrypt を要求し、ドメインに対するチャレンジを検証して公開証明書を作成します。

    オーダーが失敗した場合 (例えば、TXT レコードが正常に伝搬されなかった場合)、続行するには新しいオーダーを開始する必要があります。

  10. 証明書が発行されたら、DNS プロバイダー・アカウント内のドメインから TXT レコードをクリーンアップして削除します。

CLI からのシークレットの新規バージョンの手動作成

Secrets Manager CLI プラグインを使用して、シークレットおよび証明書を手動でローテーションさせることができます。

任意のシークレットのローテート

Secrets Manager CLI プラグインを使用して任意のシークレットをローテートするには、ibmcloud secrets-manager secret-version-create コマンドを実行します。 例えば、以下のコマンドは秘密をローテーションし、その新しいバージョンとして new-secret-data を割り当てる。

ibmcloud secrets-manager secret-version-create \    
   --secret-id=SECRET_ID \    
   --secret-version-prototype='{"payload": "updated secret credentials", "custom_metadata": {"anyKey": "anyValue"}, "version_custom_metadata": {"anyKey": "anyValue"}}'

このコマンドでは、シークレットの値と他のメタデータが出力されます。 コマンド・オプションについては、ibmcloud secrets-manager secret-version-create を参照してください。

サービス資格情報の秘密のローテーション

Secrets Manager CLI プラグインを使用してサービス資格情報シークレットをローテートするには、次のコマンドを実行します。 ibmcloud secrets-manager secret-version-create コマンドを実行します。 例えば、以下のコマンドは秘密をローテーションし、その新しいバージョンとして new-secret-data を割り当てる。

ibmcloud secrets-manager secret-version-create --secret-id SECRET_ID

このコマンドでは、シークレットの値と他のメタデータが出力されます。 コマンド・オプションについては、ibmcloud secrets-manager secret-version-create を参照してください。

カスタム認証情報のローテーション

Secrets Manager CLI プラグインを使用してカスタム資格情報シークレットをローテートするには、次のコマンドを実行します。 ibmcloud secrets-manager secret-version-create コマンドを実行します。 例えば、以下のコマンドは秘密をローテーションし、その新しいバージョンとして new-secret-data を割り当てる。

ibmcloud secrets-manager secret-version-create --secret-id SECRET_ID

このコマンドでは、シークレットの値と他のメタデータが出力されます。 コマンド・オプションについては、ibmcloud secrets-manager secret-version-create を参照してください。

ユーザー資格情報のローテート

Secrets Manager CLI プラグインを使用してユーザー資格情報のシークレットをローテートするには、ibmcloud secrets-manager secret-version-create コマンドを実行します。 例えば、以下のコマンドは秘密をローテーションし、その新しいバージョンとして new-password を割り当てる。

ibmcloud secrets-manager secret-version-create \    
   --secret-id SECRET_ID \    
   --secret-version-prototype='{"password": "new-password", "custom_metadata": {"anyKey": "anyValue"}, "version_custom_metadata": {"anyKey": "anyValue"}}'

サービスがランダム・パスワードを生成して資格情報に割り当てるようにするには、 password フィールドを省略します。 例えば、{}. Secrets Managerは、既存の値を、大文字、小文字、数字、および記号を含む、ランダムに生成された32文字のパスワードに置き換えます。

このコマンドでは、シークレットの値と他のメタデータが出力されます。 コマンド・オプションについては、ibmcloud secrets-manager secret-version-create を参照してください。

IAM 資格情報のローテート

Secrets Manager CLI プラグインを使用して IAM 資格情報のシークレットをローテートするには、 ibmcloud secrets-manager secret-version-create コマンドを実行します。 例えば、以下のコマンドは新しい API キーを作成します。

ibmcloud secrets-manager secret-version-create \    
   --secret-id SECRET_ID

手動で IAM クレデンシャルを回転させることは 、「IAM クレデンシャルの再利用」「オン」に設定されている場合のみ可能です。

このコマンドでは、シークレットの値と他のメタデータが出力されます。 コマンド・オプションについては、ibmcloud secrets-manager secret-version-create を参照してください。

インポートされた証明書のローテーション

Secrets Manager CLIプラグインを使用して証明書をローテーションするには、 ibmcloud secrets-manager secret-version-create 指示。 例えば、以下のコマンドは秘密をローテーションし、その新しいバージョンとして new-secret-data を割り当てる。

certificate=$(cat cert.pem)
intermediate=$(cat intermediate.pem)
private_key=$(cat private_key.pem)
ibmcloud secrets-manager secret-version-create --secret-id SECRET_ID --imported-cert-certificate ${certificate} --imported-cert-intermediate ${intermediate} --imported-cert-private-key ${private_key}

このコマンドでは、シークレットの値と他のメタデータが出力されます。 コマンド・オプションについては、ibmcloud secrets-manager secret-version-create を参照してください。

管理されたCSR付きの輸入証明書のローテーション

Secrets Manager CLI プラグインを使用して証明書を再度インポートするには、次のコマンドを実行する。 ibmcloud secrets-manager secret-version-create コマンドを実行する。 例えば、以下のコマンドは秘密をローテーションし、その新しいバージョンとして new-secret-data を割り当てる。

インポートされた証明書の秘密鍵がCSRを管理している場合、 private_key フィールドは許可されません。

certificate=$(cat cert.pem)
intermediate=$(cat intermediate.pem)
ibmcloud secrets-manager secret-version-create --secret-id SECRET_ID --imported-cert-certificate ${certificate} --imported-cert-intermediate ${intermediate}

このコマンドでは、シークレットの値と他のメタデータが出力されます。 コマンド・オプションについては、ibmcloud secrets-manager secret-version-create を参照してください。

プライベート証明書のローテーション

Secrets Manager CLI プラグインを使用して新しいプライベート証明書の秘密鍵を作成するには、 ibmcloud secrets-manager secret-version-create コマンドを実行します。

ibmcloud secrets-manager secret-version-create \
   --secret-id SECRET_ID
   --secret-version-prototype '{"csr":"..."}' # Keep empty JSON if not needed

このコマンドでは、シークレットの値と他のメタデータが出力されます。 コマンド・オプションについては、ibmcloud secrets-manager secret-version-create を参照してください。

パブリック証明書のローテーション

Secrets Manager CLI プラグインを使用して新しいパブリック証明書シークレットを注文するには、 ibmcloud secrets-manager secret-version-create コマンドを実行します。

ibmcloud secrets-manager secret-version-create \
   --secret-id SECRET_ID \
   --public-cert-rotation '{"rotate_keys": true|false}'

証明書をローテートするときに、その秘密鍵もローテートして、 rotate_keys フィールドに true または false を割り当てるかどうかを選択します。

このコマンドでは、シークレットの値と他のメタデータが出力されます。 コマンド・オプションについては、ibmcloud secrets-manager secret-version-create を参照してください。

KV シークレットのローテート

Secrets Manager CLI プラグインを使用して KV シークレットをローテートするには、 ibmcloud secrets-manager secret-version-create コマンドを実行します。 例えば、以下のコマンドは秘密をローテーションし、その新しいバージョンとして new-secret-data を割り当てる。

ibmcloud secrets-manager secret-version-create \    
   --secret-id=SECRET_ID \    
   --secret-version-prototype='{"data": {"key":"value"}, "custom_metadata": {"anyKey": "anyValue"}, "version_custom_metadata": {"anyKey": "anyValue"}}'

このコマンドでは、シークレットの値と他のメタデータが出力されます。 コマンド・オプションについては、ibmcloud secrets-manager secret-version-create を参照してください。

API を使用したシークレットの手動ローテーション

Secrets Manager API を使用して、シークレットおよび証明書を手動でローテーションさせることができます。

任意のシークレットのローテート

Secrets Manager API を呼び出すと、任意シークレットをローテーションできます。

以下の要求例は、新しいバージョンのシークレットを作成します。 API を呼び出す場合は、ID 変数と IAM トークンを、ご使用の Secrets Manager インスタンス固有の値で置き換えます。

custom_metadata および version_custom_metadata 要求パラメーターを使用して、組織のニーズに関連するメタデータを保管できます。 version_custom_metadata の値は、シークレットのバージョンについてのみ返されます。 シークレットのカスタム・メタデータは、最大 50 バージョンの他のすべてのメタデータとして保管されます。機密データを含めることはできません。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
         "custom_metadata": {
            "metadata_custom_key": "metadata_custom_value"
            },
         "payload": "Updated arbitrary data",
         "version_custom_metadata": {
            "custom_version_key": "custom_version_value"
            }
         }' \
      "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

成功すると、シークレットの ID 値が他のメタデータとともに応答で返されます。 必須およびオプションの要求パラメーターについて詳しくは、API ドキュメントをチェックしてください。

キー・バリューシークレットのローテート

Secrets ManagerAPIを呼び出すことで、キー・バリューシークレットをローテートできます。

以下の要求例は、新しいバージョンのシークレットを作成します。 API を呼び出す場合は、ID 変数と IAM トークンを、ご使用の Secrets Manager インスタンス固有の値で置き換えます。

custom_metadata および version_custom_metadata 要求パラメーターを使用して、組織のニーズに関連するメタデータを保管できます。 version_custom_metadata の値は、シークレットのバージョンについてのみ返されます。 シークレットのカスタム・メタデータは、最大 50 バージョンの他のすべてのメタデータとして保管されます。機密データを含めることはできません。

curl -X POST \
   -H "Authorization: Bearer ${iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
      "custom_metadata": {
         "metadata_custom_key": "metadata_custom_value"
         },
      "data": {
            "key1": "val2"
         },
      "version_custom_metadata": {
         "custom_version_key": "custom_version_value"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

成功すると、シークレットの ID 値が他のメタデータとともに応答で返されます。 必須およびオプションの要求パラメーターについて詳しくは、API ドキュメントをチェックしてください。

ユーザー資格情報のローテート

シークレットをローテーションさせるには、Secrets Manager API を呼び出します。

以下の要求例は、新しいバージョンのシークレットを作成します。 API を呼び出す場合は、ID 変数と IAM トークンを、ご使用の Secrets Manager インスタンス固有の値で置き換えます。

custom_metadata および version_custom_metadata 要求パラメーターを使用して、組織のニーズに関連するメタデータを保管できます。 version_custom_metadata の値は、シークレットのバージョンについてのみ返されます。 シークレットのカスタム・メタデータは、最大 50 バージョンの他のすべてのメタデータとして保管されます。機密データを含めることはできません。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
      "custom_metadata": {
         "metadata_custom_key": "metadata_custom_value"
         },
      "password": "new-password",
      "version_custom_metadata": {
         "custom_version_key": "custom_version_value"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

サービスがランダム・パスワードを生成して資格情報に割り当てるようにするには、 password フィールドを省略します。 例えば、{}. Secrets Managerは、既存の値を、大文字、小文字、数字、および記号を含む、ランダムに生成された32文字のパスワードに置き換えます。

成功すると、シークレットの ID 値が他のメタデータとともに応答で返されます。 必須およびオプションの要求パラメーターについて詳しくは、API ドキュメントをチェックしてください。

IAM 資格情報のローテート

シークレットをローテーションさせるには、Secrets Manager API を呼び出します。

以下の要求例は、新しいバージョンのシークレットを作成します。 API を呼び出す場合は、ID 変数と IAM トークンを、ご使用の Secrets Manager インスタンス固有の値で置き換えます。

custom_metadata および version_custom_metadata 要求パラメーターを使用して、組織のニーズに関連するメタデータを保管できます。 version_custom_metadata の値は、シークレットのバージョンについてのみ返されます。 シークレットのカスタム・メタデータは、最大 50 バージョンの他のすべてのメタデータとして保管されます。機密データを含めることはできません。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
      "custom_metadata": {
         "metadata_custom_key": "metadata_custom_value"
         },
      "version_custom_metadata": {
         "custom_version_key": "custom_version_value"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

成功すると、シークレットの ID 値が他のメタデータとともに応答で返されます。 必須およびオプションの要求パラメーターについて詳しくは、API ドキュメントをチェックしてください。

サービス資格情報のローテーション

シークレットをローテーションさせるには、Secrets Manager API を呼び出します。

以下の要求例は、新しいバージョンのシークレットを作成します。 API を呼び出す場合は、ID 変数と IAM トークンを、ご使用の Secrets Manager インスタンス固有の値で置き換えます。

custom_metadata および version_custom_metadata 要求パラメーターを使用して、組織のニーズに関連するメタデータを保管できます。 version_custom_metadata の値は、シークレットのバージョンについてのみ返されます。 シークレットのカスタム・メタデータは、最大 50 バージョンの他のすべてのメタデータとして保管されます。機密データを含めることはできません。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
      "custom_metadata": {
         "metadata_custom_key": "metadata_custom_value"
         },
      "version_custom_metadata": {
         "custom_version_key": "custom_version_value"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

成功すると、シークレットの ID 値が他のメタデータとともに応答で返されます。 必須およびオプションの要求パラメーターについて詳しくは、API ドキュメントをチェックしてください。

回転するカスタム資格情報

シークレットをローテーションさせるには、Secrets Manager API を呼び出します。

以下の要求例は、新しいバージョンのシークレットを作成します。 API を呼び出す場合は、ID 変数と IAM トークンを、ご使用の Secrets Manager インスタンス固有の値で置き換えます。

custom_metadata および version_custom_metadata 要求パラメーターを使用して、組織のニーズに関連するメタデータを保管できます。 version_custom_metadata の値は、シークレットのバージョンについてのみ返されます。 シークレットのカスタム・メタデータは、最大 50 バージョンの他のすべてのメタデータとして保管されます。機密データを含めることはできません。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
      "custom_metadata": {
         "metadata_custom_key": "metadata_custom_value"
         },
      "version_custom_metadata": {
         "custom_version_key": "custom_version_value"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

成功すると、シークレットの ID 値が他のメタデータとともに応答で返されます。 必須およびオプションの要求パラメーターについて詳しくは、API ドキュメントをチェックしてください。

インポートされた証明書のローテーション

シークレットをローテーションさせるには、Secrets Manager API を呼び出します。

以下の要求例は、新しいバージョンのシークレットを作成します。 API を呼び出す場合は、ID 変数と IAM トークンを、ご使用の Secrets Manager インスタンス固有の値で置き換えます。

custom_metadata および version_custom_metadata 要求パラメーターを使用して、組織のニーズに関連するメタデータを保管できます。 version_custom_metadata の値は、シークレットのバージョンについてのみ返されます。 シークレットのカスタム・メタデータは、最大 50 バージョンの他のすべてのメタデータとして保管されます。機密データを含めることはできません。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
         "certificate": "-----BEGIN CERTIFICATE-----\nMIIE3jCCBGSgAwIBAgIUZfTbf3adn87l5J2Q2Aw+6Vk/qhowCgYIKoZIzj0EAwIwx\n-----END CERTIFICATE-----", "custom_metadata": {
            "metadata_custom_key": "metadata_custom_value"
         },
         "intermediate": "-----BEGIN CERTIFICATE-----\nMIIE3DCCBGKgAwIBAgIUKncnp6BdSUKAFGBcP4YVp/gTb7gwCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----",
         "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAqcRbzV1wp0nVrPtEpMtnWMO6Js1q3rhREZluKZfu0Q8SY4H3\n-----END RSA PRIVATE KEY-----", "version_custom_metadata": {
            "custom_version_key": "custom_version_value"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

証明書、中間鍵、および秘密鍵のデータ内の改行を \n に置き換えます。

成功すると、シークレットの ID 値が他のメタデータとともに応答で返されます。 必須およびオプションの要求パラメーターについて詳しくは、API ドキュメントをチェックしてください。

管理されたCSR付きの輸入証明書のローテーション

シークレットをローテーションさせるには、Secrets Manager API を呼び出します。
以下の要求例は、新しいバージョンのシークレットを作成します。 API を呼び出す場合は、ID 変数と IAM トークンを、ご使用の Secrets Manager インスタンス固有の値で置き換えます。

インポートされた証明書の秘密鍵がCSRを管理している場合、 private_key フィールドは許可されません。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
         "certificate": "-----BEGIN CERTIFICATE-----\nMIIE3jCCBGSgAwIBAgIUZfTbf3adn87l5J2Q2Aw+6Vk/qhowCgYIKoZIzj0EAwIwx\n-----END CERTIFICATE-----",
         "intermediate": "-----BEGIN CERTIFICATE-----\nMIIE3DCCBGKgAwIBAgIUKncnp6BdSUKAFGBcP4YVp/gTb7gwCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

成功すると、シークレットの ID 値が他のメタデータとともに応答で返されます。 必須およびオプションの要求パラメーターについて詳しくは、API ドキュメントをチェックしてください。

パブリック証明書のローテーション

シークレットをローテーションさせるには、Secrets Manager API を呼び出します。

以下の要求例は、新しいバージョンのシークレットを作成します。 API を呼び出す場合は、ID 変数と IAM トークンを、ご使用の Secrets Manager インスタンス固有の値で置き換えます。

custom_metadata および version_custom_metadata 要求パラメーターを使用して、組織のニーズに関連するメタデータを保管できます。 version_custom_metadata の値は、シークレットのバージョンについてのみ返されます。 シークレットのカスタム・メタデータは、最大 50 バージョンの他のすべてのメタデータとして保管されます。機密データを含めることはできません。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
        "rotation": {
          "rotate_keys": true # or false
        },
        "version_custom_metadata": {
            "custom_version_key": "custom_version_value"
        }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

証明書、中間鍵、および秘密鍵のデータ内の改行を \n に置き換えます。

成功すると、シークレットの ID 値が他のメタデータとともに応答で返されます。 必須およびオプションの要求パラメーターについて詳しくは、API ドキュメントをチェックしてください。

プライベート証明書のローテーション

シークレットをローテーションさせるには、Secrets Manager API を呼び出します。

以下の要求例は、新しいバージョンのシークレットを作成します。 API を呼び出す場合は、ID 変数と IAM トークンを、ご使用の Secrets Manager インスタンス固有の値で置き換えます。

custom_metadata および version_custom_metadata 要求パラメーターを使用して、組織のニーズに関連するメタデータを保管できます。 version_custom_metadata の値は、シークレットのバージョンについてのみ返されます。 シークレットのカスタム・メタデータは、最大 50 バージョンの他のすべてのメタデータとして保管されます。機密データを含めることはできません。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
        "csr": '{}' # Keep empty if not required
        "version_custom_metadata": {
            "custom_version_key": "custom_version_value"
        }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

証明書、中間鍵、および秘密鍵のデータ内の改行を \n に置き換えます。

成功すると、シークレットの ID 値が他のメタデータとともに応答で返されます。 必須およびオプションの要求パラメーターについて詳しくは、API ドキュメントをチェックしてください。

Terraform を使用したシークレットの手動ローテート

Secrets Managerの Terraform を使用して、任意のシークレット、キー値シークレット、またはインポートした証明書を手動でローテートできます。 他のタイプのシークレットを手動でローテートするには、UI、API、または CLI を使用する必要があります。

任意のシークレットのローテート

Secrets Managerの Terraform を使用して、任意のシークレットをローテートできます。

任意のシークレットをローテートするには、 ibm_sm_arbitrary_secret リソース構成内の payload 属性の値を変更し、 terraform apply を実行して変更を適用します。 ペイロードに入力変数を使用する場合は、 variables.tf ファイルでその値を変更します。

descriptioncustom_metadataversion_custom_metadata などのメタデータ属性を含め、任意のシークレットの他の属性を同時に変更することもできます。

キー・バリューシークレットのローテート

Secrets Managerの Terraform を使用して鍵値シークレットをローテートするには、 ibm_sm_kv_secret リソース構成内の data 属性の値を変更し、 terraform apply を実行して変更を適用します。 ペイロードに入力変数を使用する場合は、 variables.tf ファイルでその値を変更します。

descriptioncustom_metadataversion_custom_metadata などのメタデータ属性を含め、キー値シークレットの他の属性を同時に変更することもできます。

インポートされた証明書のローテーション

Secrets Managerの Terraform を使用して、インポートした証明書をローテーションできます。

インポートした証明書をローテーションするには、 ibm_sm_imported_certificate リソース構成内の certificateintermediate (オプション)、および private_key (オプション) の各属性の値を変更し、 terraform apply を実行して変更を適用します。

インポートした証明書の他の属性 ( descriptioncustom_metadataversion_custom_metadata などのメタデータ属性を含む) を同時に変更することもできます。