DNS プロバイダーの接続

IBM Cloud® Secrets Manager を使用すると、インスタンスに構成を追加して、DNS プロバイダーに接続できます。

DNS プロバイダーは、アプリまたはサービスのドメインを追加したり管理したりするために使用できるサービスです。 DNS 構成を追加すると、Secrets Manager で証明書をオーダーするときにドメイン検証に使用したい DNS サービスを指定できます。

インスタンスごとに最大 10 個の DNS 構成を定義できます。 インスタンスで使用可能な構成のリストを表示するには、Secrets Manager UI の**「シークレット・エンジン」 > 「パブリック証明書」**ページに移動します。

インスタンスごとに最大 10 個の DNS 構成を定義できます。 インスタンスで使用可能な構成のリストを取得するには、リスト構成 API を使用します。

開始前に

開始する前に、必要なレベルのアクセス権限を持っていることを確認してください。 インスタンスのエンジン構成を管理するには、マネージャー・サービス・ロールまたはそれ以上が必要です。

サポート対象の DNS プロバイダー

Secrets Manager サービス・インスタンスには、以下の DNS プロバイダーが接続できます。

前提条件 CIS
前提条件

Cloud Internet Services (CIS) の構成を追加する前に、必ず以下を実施してください。

前提条件 - クラシック・インフラストラクチャー
前提条件
クラシック・インフラストラクチャーの構成を追加する前に、必ず

1 を実行してください。 クラシック・インフラストラクチャー・ユーザー名を取得します。 IBMid を使用してアカウントにログインする場合、クラシック・インフラストラクチャーのユーザー名は <account_id>_<email_address> です。
2。 クラシック・インフラストラクチャーの API キーを作成します。 アカウント内の DNS を管理する権限をユーザーに割り当てます。 クラシック・インフラストラクチャーのアクセス権を管理する詳しい方法については、クラシック・インフラストラクチャー許可を参照してください。

前提条件 - 手動DNSプロバイダー
前提条件
独自のDNSプロバイダーを使用するには、プロバイダーのマニュアルを参照してください。 Secrets Manager では、DNSプロバイダーの設定は不要です。

UI を使用した DNS プロバイダー構成の追加

Secrets Manager UI を使用して、DNS プロバイダー構成をサービス・インスタンスに追加することができます。

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

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

  3. **「シークレット・エンジン」ページで、「パブリック証明書」**タブをクリックします。

  4. 「DNS プロバイダー」テーブルで、**「追加」**をクリックします。

  5. 使用する DNS プロバイダーを選択します。

    現時点では、Cloud Internet Services (CIS) と IBM Cloud クラシック・インフラストラクチャーの構成を追加できます。 独自のDNSプロバイダーを使用することもできますが、この場合は設定は不要です。

  6. Secrets Manager と選択された DNS プロバイダー間のサービス・アクセス権限を付与します。

    1. CIS を選択した場合、許可された CIS インスタンスのリストから選択することで、アクセスを許可する。

      まだ許可されませんか。 IAM コンソールで作成できます。 API キーまたはインスタンス CRN を提供することで、 CIS へのアクセスを許可できます。 CRN は、CIS サービス・インスタンスの**「概要」**ページで見つけることができます。 CIS にAPIキーを使用する場合は、 APIキーを使用してサービス・アクセスを許可するを 参照してください。 そうでない場合は、認証を作成した後にインスタンス CRN を提供する。

    2. クラシック・インフラストラクチャーを選択する場合は、アカウントに関連付けられているユーザー名および API キーを入力します。

    3. 独自のDNSプロバイダーを使用する場合は、プロバイダーのマニュアルを参照してください。 Secrets Manager では、DNSプロバイダーの設定は不要です。

  7. 追加 をクリックします。

CLIからのDNSプロバイダー設定の追加

Secrets Manager CLIを使用して、サービス・インスタンスにDNSプロバイダー設定を追加できます。 手動DNSプロバイダーは、APIを使用することによってのみ設定できる。

IBM Cloud CLI からシークレット・エンジンを構成するには ibmcloud secrets-manager configuration-create コマンドを実行します。

ibmcloud secrets-manager configuration-create {
  "cloud_internet_services_apikey": "MY_APIKEY_WITH_MANAGER_ACCESS_TO_CIS",
  "cloud_internet_services_crn": "MY_CIS_CRN",
  "config_type": "public_cert_configuration_dns_cloud_internet_services",
  "name": "my-cloud-internet-services-config"}'

独自のDNSプロバイダーを使用する場合は、プロバイダーのマニュアルを参照してください。 Secrets Manager では、DNSプロバイダーの設定は不要です。 IAMサービス認可を使用したい場合は、 cloud_internet_services_apikey を省略する。

API を使用した DNS プロバイダー構成の追加

Secrets Manager API を使用して、DNS プロバイダー構成をサービス・インスタンスに追加することができます。

独自のDNSプロバイダーを使用する場合は、プロバイダーのマニュアルを参照してください。 Secrets Manager では、DNSプロバイダーの設定は不要です。

Cloud Internet Services (CIS) の構成

以下の例は、Cloud Internet Services (CIS) DNS 構成を Secrets Manager インスタンスに追加するために使用できるクエリを示しています。 APIを呼び出すときに、cis_crn値を、ドメインを含むCISインスタンスのCRNに置き換えます。

別のアカウントにある CIS インスタンスにアクセスする必要がある場合は、Internet Services (cis_apikey) サービスに対するマネージャーのサービス・アクセス権限を持った API キーの値を internet-svs に指定してください。 IAMサービス認可を使用したい場合は、 cloud_internet_services_apikey を省略する。 詳しくは、CISへのサービス・アクセス権限の付与をご覧ください。

curl -X POST
  --H "Authorization: Bearer {iam_token}" \
  --H "Accept: application/json" \
  --H "Content-Type: application/json" \
  --d '{
    "cloud_internet_services_apikey": "5ipu..",
    "cloud_internet_services_crn": "crn:v1:bluemix:public:internet-svcs:global:a/128e84fcca45c1224aae525d31ef2b52:009a0357-1460-42b4-b903-10580aba7dd8::",
    "config_type": "public_cert_configuration_dns_cloud_internet_services",
    "name": "cloud-internet-services-config"
  }' \
  "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations"

正常な応答によって、構成がサービス・インスタンスに追加されます。 必須およびオプションのリクエストパラメータの詳細については、 設定の追加を参照してください。

クラシック・インフラストラクチャーの構成

以下の例は、クラシック・インフラストラクチャー DNS 構成を Secrets Manager インスタンスに追加するために使用できるクエリを示しています。 APIを呼び出すときに、classic_infrastructure_usernameclassic_infastructure_password(APIキー)の値を置き換えます。

curl -X POST
  --H 'Authorization: Bearer {iam_token}" \
  --H "Accept: application/json" \
  --H "Content-Type: application/json" \
  --d '{
  "classic_infrastructure_password": "sRBm1jkHOH2kn9oBnK5R0ODsRBm1jkHOH2kn9oBnK5R0ODsRBm1jkHOH2kn9oBnK5R0OD",
  "classic_infrastructure_username": "1234567_JohnDoe@mail.com",
  "config_type": "public_cert_configuration_dns_classic_infrastructure",
  "name": "classic-infrastructure-config"
}' \
  "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations"

正常な応答によって、構成がサービス・インスタンスに追加されます。 必須およびオプションのリクエストパラメータの詳細については、 設定の追加を参照してください。

TerraformでDNSプロバイダの設定を追加する

Terraform for Secrets Manager を使用して、サービスインスタンスに DNS プロバイダ設定を追加できます。

独自のDNSプロバイダーを使用する場合は、プロバイダーのマニュアルを参照してください。 Secrets Manager では、DNSプロバイダーの設定は不要です。

Terraform で Cloud Internet Services (CIS) を設定する

次の例は、 Secrets Manager インスタンスに Cloud Internet Services (CIS) DNS 構成を追加するために使用できる構成を示しています。 IAMサービス認可を使用したい場合は、 cloud_internet_services_apikey を省略する。

resource "ibm_sm_public_certificate_configuration_dns_cis" "my_dns_cis_config" {
   instance_id = local.instance_id
   region = local.region
   name = "my_DNS_CIS_config"
   cloud_internet_services_apikey = var.my_cis_apikey
   cloud_internet_services_crn = var.my_cis_crn
   }

Terraformでクラシック・インフラストラクチャー構成する

次の例は、 Secrets Manager インスタンスにクラシック・インフラストラクチャー DNS 構成を追加するために使用できる構成を示しています。

resource "ibm_sm_public_certificate_configuration_dns_classic_infrastructure" "my_dns_classic_config" {
   instance_id = local.instance_id
   region = local.region
   name = "my_DNS_config"
   classic_infrastructure_password = "username"
   classic_infrastructure_username = "password"
}

UI を使用した DNS プロバイダー構成の削除

構成が不要になったら、Secrets Manager UI を使用して構成を削除できます。

構成を削除すると、DNS プロバイダーに関連付けられている証明書の自動ローテーションができなくなります。 実動環境のアプリやサービスの証明書に関連付けられている構成は削除しないでください。

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

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

  3. **「シークレット・エンジン」ページで、「パブリック証明書」**タブをクリックします。

  4. **「DNS プロバイダー・セクション」**テーブルを使用して、インスタンスの構成を表示します。

  5. 削除する構成の行で、**「アクション」**メニュー「アクション」アイコン **>「削除」**をクリックします。

  6. 構成の名前を入力して、その削除を確認します。

  7. **「削除」**をクリックします。

API を使用した DNS プロバイダー構成の削除

Secrets Manager API を呼び出すと、構成を削除できます。

インスタンスから DNS プロバイダー構成を削除するために使用できる照会の例を以下に示します。 APIを呼び出すときには、{config_name}を、削除する構成の名前に置き換えます。

構成を削除すると、DNS プロバイダーに関連付けられている証明書の自動ローテーションができなくなります。 実動環境のアプリやサービスの証明書に関連付けられている構成は削除しないでください。

curl -X DELETE
--H "Authorization: Bearer {iam_token}" \
 "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations/{name}"

正常な応答によって、サービス・インスタンスから構成が削除されます。 必須およびオプションのリクエストパラメータの詳細については、 設定の削除を参照してください。

UIでDNSプロバイダーの設定を取得する

DNS プロバイダーの値は、 Secrets Manager UI を使用して取得できます。

  1. パブリック証明書シークレット・エンジンで、DNS プロバイダー・テーブルから [アクション] メニューの [アクション]アイコンを クリックし、エンジン構成のオプション・リストを開きます。
  2. 設定値を表示するには、 View configurationをクリックします。
  3. 安全な環境であることを確認後、「 確認 」をクリックしてください。

秘密値は15秒間表示され、ダイアログは閉じます。

CLIを使用したDNSプロバイダー設定の取得

DNS プロバイダーの値は、 Secrets Manager CLI を使用して取得できます。 以下のコマンド例では、エンジン・コンフィギュレーション名をコンフィギュレーション名に置き換えてください。

ibmcloud secrets-manager configuration --name EXAMPLE_CONFIG --service-url https://{instance_ID}.{region}.secrets-manager.appdomain.cloud

{instance_ID}{region} を、ご使用の Secrets Manager サービス・インスタンスに適用される値に置き換えます。 インスタンス固有のエンドポイント URL を見つけるには、Secrets Manager UI の 「エンドポイント」 ページからエンドポイント URL をコピーします。 詳細については、エンドポイント URL の表示を参照してください。

APIを使用したDNSプロバイダ設定の取得

DNS プロバイダーの値を取得するには、 Secrets Manager API を使用します。 以下のリクエスト例では、エンジン構成名をあなたの構成名に置き換えてください。

curl -X GET --location --header "Authorization: Bearer {iam_token}" \
--header "Accept: application/json" \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations/{name}"

{instance_ID}{region} を、ご使用の Secrets Manager サービス・インスタンスに適用される値に置き換えます。 インスタンス固有のエンドポイント URL を見つけるには、Secrets Manager UI の 「エンドポイント」 ページからエンドポイント URL をコピーします。 詳細については、エンドポイント URL の表示を参照してください。

レスポンスに成功すると、他のメタデータとともにエンジン・コンフィギュレーションの値が返される。 必須およびオプションのリクエスト・パラメータの詳細については、 秘密の取得 を参照のこと。

次のステップ