サード・パーティー認証局の接続
IBM Cloud® Secrets Manager を使用すると、インスタンスに構成を追加して、サード・パーティーの認証局に接続することができます。
認証局 (CA) は、SSL/TLS 証明書に署名して発行するエンティティーです。 CA 構成を追加することにより、Secrets Manager をパブリック証明書の注文使用する場合に使用する権限を指定できます。
インスタンスごとに最大 10 個の認証局構成を定義できます。 インスタンスで使用可能な構成のリストを表示するには、Secrets Manager UI の**「シークレット・エンジン」 > 「パブリック証明書」**ページに移動します。
インスタンスごとに最大 10 個の認証局構成を定義できます。 インスタンスで使用可能な構成のリストを取得するには、リスト構成 API を使用します。
開始前に
開始する前に、必要なレベルのアクセス権限を持っていることを確認してください。 インスタンスのエンジン構成を管理するには、マネージャー・サービス・ロールまたはそれ以上が必要です。
サポート対象の認証局
以下の認証局は、Secrets Manager サービス・インスタンスと統合できます。
前提条件 |
---|
Let's Encrypt を接続する前に、次のことを確認してください。
|
認証局は、証明書を注文または更新するときに料金を適用する場合があります。 また、さまざまなレート制限が適用されます。Secrets Manager は、証明書オーダーに関連付けられているコストまたはレートの制限を制御しません。 Let's Encrypt 証明書の注文時に留意すべきレート制限に関する詳細については 、Let's Encrypt のドキュメントをご確認ください。
UI を使用した認証局構成の追加
Secrets Manager UI を使用して、認証局構成をサービス・インスタンスに追加することができます。
-
コンソールで、**「メニュー」**アイコン
**>「リソース・リスト」**をクリックします。
-
サービスのリストから、Secrets Manager のインスタンスを選択します。
-
**「シークレット・エンジン」ページで、「パブリック証明書」**タブをクリックします。
-
「認証局」テーブルで、**「追加」**をクリックします。
-
使用する認証局を選択します。 現時点では Let's Encrypt がサポートされています。
- 本番稼働環境をターゲットにするには、**「Let's Encrypt」**を選択します。
- ステージング環境をターゲットにするには、**「Let's Encrypt (Staging)」**を選択します。 まだ実稼働環境では使用しない証明書を発行する場合は、このオプションを選択してください。
-
ACME アカウントに関連付けられている PEM フォーマットのプライベート・キー・ファイルを追加するか、またはその値を入力します。
-
追加 をクリックします。
これで、証明書を注文する時にこの構成を選択できるようになりました。 既存の構成を変更または削除するには、更新する構成の行で**「アクション」**メニュー
をクリックします。
CLIから認証局構成を追加する
Secrets Manager CLI を使用して、サービスインスタンスに認証局構成を追加することができます。
構成を追加するには、 ibmcloud secrets-manager configuration-create
コマンドを実行します。
ibmcloud secrets-manager configuration-create '{
config_type": "public_cert_configuration_ca_lets_encrypt",
"lets_encrypt_environment": "production",
"lets_encrypt_private_key": "-----BEGIN PRIVATE KEY-----\nMY_PRIVATE_KEY_WITH_NEWLINES_TRANSFORMED_TO_\N_CHARS-----...", "name": "my-lets-encrypt-config"
}'
API を使用した認証局構成の追加
Secrets Manager API を呼び出して、認証局構成をサービス・インスタンスに追加することができます。
Let's Encrypt の構成を追加するために使用できる照会の例を以下に示します。 APIを呼び出す際には、 private_key
の値を、 お客様のACMEアカウント に関連付けられている秘密鍵に置き換えてください。
Secrets Manager API によって正しく構文解析できるように、必ずプライベート・キー・ファイルを単一行フォーマットに変換してください。 次のUNIXコマンドawk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' <private_key_file>
を使用して、ファイルを単一行ストリングにフォーマットすることができます。
curl -X POST
--H "Authorization: Bearer {iam_token}" \
--H "Accept: application/json" \
--H "Content-Type: application/json" \
--d '{
"config_type": "public_cert_configuration_ca_lets_encrypt",
"lets_encrypt_environment": "production",
"lets_encrypt_private_key": "-----BEGIN PRIVATE KEY-----\nMIIEowIBAAKCAQEAqcRbzV1wp0nVrPtEpMtnWMO6Js1q3rhREZluKZfu0Q8SY4H3",
"name": "lets-encrypt-config"
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations"
正常な応答によって、構成がサービス・インスタンスに追加されます。 必須およびオプションのリクエストパラメータの詳細については 、「設定の追加」 を参照してください。
Terraformで認証局構成を追加する
次の例は、ルート証明機関を作成する際に使用できる構成を示しています。
resource "ibm_sm_public_certificate_configuration_ca_lets_encrypt" "my_lets_encrypt_config" {
instance_id = local.instance_id
region = local.region
name = "lets-encrypt-config"
lets_encrypt_environment = "production"
lets_encrypt_private_key = var.my_lets_encrypt_private_ley
}
UI を使用した認証局構成の削除
構成が不要になったら、Secrets Manager UI を使用して構成を削除できます。
構成を削除すると、認証局に関連付けられている証明書の自動ローテーションができなくなります。 実動環境のアプリやサービスの証明書に関連付けられている構成は削除しないでください。
-
コンソールで、**「メニュー」**アイコン
**>「リソース・リスト」**をクリックします。
-
サービスのリストから、Secrets Manager のインスタンスを選択します。
-
**「シークレット・エンジン」ページで、「パブリック証明書」**タブをクリックします。
-
「認証局」 テーブルを使用して、インスタンスの構成を表示します。
-
削除する構成の行で、**「アクション」**メニュー
**>「削除」**をクリックします。
-
構成の名前を入力して、その削除を確認します。
-
**「削除」**をクリックします。
CLIから証明機関構成を削除する
証明機関の設定を削除するには、コマンドを実行します。 ibmcloud secrets-manager configuration-delete
コマンドを実行します。
ibmcloud secrets-manager configuration-delete my-configuration-name
API を使用した認証局構成の削除
Secrets Manager API を呼び出すと、構成を削除できます。
インスタンスから認証局構成を削除するために使用できる照会の例を以下に示します。 APIを呼び出すときには、{config_name}
を、削除する構成の名前に置き換えます。
構成を削除すると、認証局に関連付けられている証明書の自動ローテーションができなくなります。 実動環境のアプリやサービスの証明書に関連付けられている構成は削除しないでください。
curl -X DELETE
--H "Authorization: Bearer {iam_token}"\
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations/{name}"
正常な応答によって、サービス・インスタンスから構成が削除されます。 必須およびオプションのリクエストパラメータの詳細については 、「構成の削除」 を参照してください。
UIで証明機関構成を取得する
認証局の値は、 Secrets Manager UI を使用して取得できます。
- 「公開証明書」 シークレット・エンジンで、「認証局」テーブルの 「アクション」 メニュー
をクリックして、エンジン構成のオプションのリストを開きます。
- 構成値を表示するには、 「構成の表示」 をクリックします。
- 安全な環境にいることを確認したら、 「確認」 をクリックします。
シークレットの値が 15 秒間表示された後、ダイアログが閉じます。
CLI を使用した認証局構成の取得
認証局の値は、 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 を使用した認証局構成の取得
認証局の値は、 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 の表示を参照してください。
正常な応答は、エンジン構成の値を他のメタデータとともに返します。 必須およびオプションのリクエストパラメータの詳細については 、「シークレットの取得」 を参照してください。