シークレット・タスク
IBM Cloud® Secrets Manager はシークレット・タスクを使用して、非同期シークレット・タイプのライフサイクルをトリガーし、管理する。 非同期の秘密タイプは、初期状態( pre-activation )で作成され、新しい実行タスクが自動的に作成され、秘密の資格情報の外部作成を追跡する。 外部プロセスが完了すると、シークレットタスクを新しい認証情報で更新し、 Secrets Manager このシークレットステートを更新し、 active。
秘密のタスクをリストアップし、その詳細を取得し、削除することができます。
Custom credentials secret タイプは、 IBM Cloud® Code Engine ジョブとして実装されたクレデンシャル・プロバイダの非同期実行をトリガーするために、secret タスクを使用する。 各タスクは、タスクIDがジョブ実行名として設定されたジョブ実行にマッピングされる。
タスクにはさまざまなステータス、 タイプ、関連する値の記録がある。
| ステータス | 説明 |
|---|---|
queued |
タスクは作成され、処理開始のキューで待機している。 キューに入れられたタスクは、削除することでキャンセルすることができる。 |
processing |
タスクは実行中である。 カスタム資格情報シークレットタイプの場合、 Code Engine ジョブの実行が開始され、タスクはジョブのリターンまたはタイムアウトの経過を待っている。 処理中のタスクは、削除することで取り消すことができる。 |
credentials_created |
作成タスクは正常に完了しました。 カスタム認証情報のシークレットタイプの場合、 Code Engine ジョブの成功を Secrets Manager に報告する。 このステータスのタスクは、それ以降の更新を受け付けない。 |
credentials_deleted |
削除タスクは正常に完了しました。 カスタム認証情報の秘密の場合は、 Code Engine ジョブを入力する。 このステータスのタスクは、それ以降の更新を受け付けない。 |
failed |
タスクのタイムアウトが経過したか、資格情報プロバイダがエラーでタスクを更新した。 カスタム認証情報シークレットタイプの場合、 Code Engine ジョブはエラーで Secrets Manager に戻りました。 このステータスのタスクは、それ以降の更新を受け付けない。 |
| ステータス | 説明 |
|---|---|
create_credentials |
このタイプはクレデンシャルを作成するタスクを表します。 シークレット作成やローテーションがトリガーとなることもある。 |
delete_credentials |
このタイプは、以前に作成されたクレデンシャルを削除するタスクを表します。 シークレットの削除、特定のバージョンの期限切れや削除、あるいはローテーションがトリガーとなる。 |
| ステータス | 説明 |
|---|---|
secret_creation |
このタスクが発生したのは、秘密が作られたからだ。 |
manual_secret_rotation |
このタスクは、手動ローテーションのために引き起こされた。 |
automatic_secret_rotation |
このタスクは、自動(周期的)ローテーションのために発動された。 |
secret_version_expiration |
このタスクは、シークレットバージョンの有効期限が切れたために発生した。 |
secret_version_data_deletion |
このタスクはシークレットを削除したために発生した。 |
UIからシークレットタスクを操作する
カスタムクレデンシャルシークレットに関連するタスクを見るには、 アクションドロップダウン内のタスクメニューにアクセスします。 ここでは、クレデンシャルに関連付けられたアクションの記録を見ることができます。 例えば、いつクレデンシャルが作成または削除されたか、あるいはタイムアウトがタスクに関連付けられ たかどうかなどである。
- シークレット表で、**「アクション」**メニュー
をクリックして、シークレットのオプションのリストを開きます。
- 秘密のタスクを表示するには、「 タスク 」をクリックします。
秘密タスクを削除するには
- シークレット表で、**「アクション」**メニュー
をクリックして、シークレットのオプションのリストを開きます。
- タスクをクリックすると、すべてのタスクが表示されます。
- 削除するタスクのチェックボックスにチェックを入れ、 選択した削除をクリックする。
CLIからシークレットタスクを操作する
始める前に、 CLIのドキュメントに従って APIエンドポイントを設定してください。
Secrets Manager CLI プラグインを使用してカスタム資格情報シークレットに関連するタスクを見るには、次のコマンドを実行する。 ibmcloud secrets-manager secret-create コマンドを実行します:
ibmcloud secrets-manager secret-tasks --id SECRET_ID
特定のタスクの詳細を得るには、タスクIDを使う:
ibmcloud secrets-manager secret-task --secret-id SECRET-ID --id TASK_ID
タスクを削除するには
ibmcloud secrets-manager secret-task-delete --secret-id SECRET-ID --id TASK_ID
APIを使った秘密のタスク
Secrets Manager API を呼び出すことで、カスタム資格情報の秘密タスクをプログラムで見ることができます。 API を呼び出すときは、SECRET_ID 変数と IAM トークンを Secrets Manager インスタンス固有の値に置き換える:
curl -X POST
-H "Authorization: Bearer {IAM_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/SECRET_ID/tasks"
特定のタスクの詳細を得るには、タスクIDを使う:
curl -X POST
-H "Authorization: Bearer {IAM_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/SECRET_ID/tasks/TASK_ID"
タスクを削除するには
curl -X PUT
-H "Authorization: Bearer {IAM_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/SECRET_ID/tasks/TASK_ID"