カスタム資格情報エンジン構成の作成

IBM Cloud® Code Engine プロジェクトとジョブを作成したら、カスタム資格情報エンジン設定を作成できます。 エンジン構成は、 Code Engine プロジェクトと、カスタム・クレデンシャル・シークレットに使用するプロジェクト内の特定の Code Engine ジョブを参照します。

カスタム・クレデンシャルにはさまざまな制限がある。 これらについては、 既知の問題と制限のページで 読むことができる。

開始前に

これらの前提条件を満たしていることを確認してください:

  • Code Engine プロジェクトとジョブを作成する。
  • Secrets Manager への Code Engine アクセスを許可する IAM クレデンシャル・シークレットを 作成する。 クレデンシャルと IAM 認可により、 Code Engine は情報を Secrets Manager に戻し、 Secrets Manager にカスタムのクレデンシャル・シークレットに関連する必要な更新を行うことができる。 IAMクレデンシャル・シークレットは必須である:
    • 自動ローテーションのポリシーを設定する。
    • 以下の権限を持つサービスIDまたはアクセスグループに関連付けられていること:
      • secrets-manager.secret-task.update を、カスタム・クレデンシャルが作成されるシークレット・グループに追加する。
      • 該当する場合、 Code Engine ジョブがアクションを完了するために必要な参照シークレットを含むシークレットグループを secrets-manager.secret.read にする。
    • または、認証用に信頼済みプロファイルを設定する。 セットアップの詳細については、 Code Engine のドキュメントを 参照してください。
  • Secrets Manager をソース、 Code Engine プロジェクトをターゲットとして、IAM サービス認可を作成する。

コンソールでカスタム資格情報エンジン設定を作成する

シークレットエンジン・ナビゲーション内のカスタム資格情報画面に移動し、コンソールに関連情報を入力 してカスタム資格情報の設定を作成する。

  1. Secrets engines ページで、 Custom credentials タブをクリックする。

  2. 設定の追加をクリックする

    1. コンフィギュレーション名を指定します。
    2. Code Engine プロジェクトが作成された地域を選択します。
    3. このカスタム資格情報の秘密のために作成されたプロジェクトとジョブを選択します。 プロジェクトとジョブが別のアカウントにある場合は、プロジェクトIDとジョブ名を入力してください。
    4. 構成の作成時に、 Secrets Manager をソースとし、 Code Engine をターゲットとする IAM サービス認可を作成するよう促される(作成されていない場合)。
    5. オプションで、以前に作成した IAM 資格情報の秘密を選択するか、コンテキスト内で作成する。
  3. 追加 をクリックします。

API を使用してカスタム資格情報エンジン設定を作成する

Secrets Manager API を呼び出すことで、カスタムクレデンシャルエンジン設定をプログラムで作成できます。 API を呼び出すときは、 api_key_refcode_engine 変数、および IAM トークンを、 Secrets Manager インスタンス固有の値に置き換える。 タスクのタイムアウトをカスタマイズするために、オプションで task_timeout パラメータを指定することができる。

curl -X POST
    -H "Authorization: Bearer {IAM_token}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "my_config",
      "config_type": "custom_credentials_configuration",
      "api_key_ref": "a2f9c2e4-a3a8-c508-2bed-fcb7c26843ca",
      "code_engine": {
        "job_name": "code-engine-job-name",
        "project_id": "12345678-5120-4a18-832a-4ba122496633",
        "region": "us-south"
      },
      "task_timeout": "50m"
    }'
  "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations"

CLIからカスタム資格情報エンジン設定を作成する

始める前に、 CLIのドキュメントに従って APIエンドポイントを設定してください。

Secrets Manager CLI プラグインを使用してカスタム資格情報エンジン構成を作成するには、次のコマンドを実行します。 ibmcloud secrets-manager configuration-create コマンドを実行します。 オプションで、 --configuration-task-timeout フラグを使ってタスクのタイムアウトをカスタマイズできる。

ibmcloud secrets-manager configuration-create --config-type=custom_credentials_configuration --name=my-custom-credentials-config --custom-credentials-apikey-ref IAM_credentials_secret_ID --custom-credentials-code-engine '{"project_id":"12345678-5120-4a18-832a-4ba122496633", "region":"us-south", "job_name":"code-engine-job-name"}'

Terraformを使ってカスタム認証エンジン設定を作成する

Terraform for Secrets Manager を使用して、カスタム資格情報エンジン設定を作成できます。

resource "ibm_sm_custom_credentials_configuration" "sm_custom_credentials_configuration_instance" {
	instance_id = ibm_resource_instance.sm_instance.guid
	region = "us-south"
	name = "example-custom-credentials-config"
	api_key_ref = ibm_sm_iam_credentials_secret.my_secret_for_custom_credentials.secret_id
	code_engine {
	    project_id = ibm_code_engine_project.my_code_engine_project.project_id
	    job_name = "my_code_engine_job"
	    region = "us-south"
	}
	task_timeout = "10m"
}

次のステップ

カスタム資格情報エンジン設定を作成したら、 カスタム資格情報シークレットを 作成できます。