API認証ポリシー
認証ポリシーは、POST /certificates エンドポイントを使用して証明書をリクエストする際に必要なフィールドに関する詳細なガイダンスとルールを提供します。これには、すべての subjectDN フィールド、有効期間、鍵の用途/拡張鍵の用途、および公開鍵の情報が含まれます。次の2つのセクションでは、認証ポリシーのプロパティについて説明します。
Stringフィールド
Stringフィールドは、証明書に追加されるテキストです。これは最も一般的なフィールドタイプであり、subjectDNフィールドに使用されます 。Stringフィールドの認証ポリシーは、「Presence」と「Form」の2つの要素で構成されます 。
Presenceは 情報の出所を指定します。以下の4つの値があります。
- REQUIRED: ユーザーが入力する必要があり、認証された値は証明書に配置されます。
- OPTIONAL:ユーザーが指定できます。指定されている場合、認証済みの値が証明書に反映されます。値が指定されていない場合、発行される証明書にはそのフィールドは含まれません。
- FORBIDDEN: 発行される証明書に含まれません。証明書要求に値が指定されている場合、要求は拒否されます。
- STATIC: ユーザーのプロファイルの情報が入力され、発行される証明書に自動的に含まれます。対応するフィールドに値がない場合、証明書要求は拒否されます。
Formatは 、フィールドが取り得る値の種類を決定します。可能な値は以下の3つです。
- Empty: PresenceがFORBIDDENのフィールドに使用します。
- Regex:フィールドの入力が必須または任意である場合に使用します。Regexは、フィールドで使用できる文字を定義する特殊なテキスト文字列です。例として「^[A-Za-z0-9]+$」があり、これはフィールドに大文字・小文字のアルファベット全文字と数字全文字の使用を許可します。
- Text: PresenceがSTATICのフィールドに使用します。これは、バックエンドの証明書リクエストに設定される値で、通常は認証済みのAtlasのプロファイルを通じて設定されます。例えば、subjectDNの国フィールドでformat = “GB” と指定すると、発行される証明書のsubjectDNの国フィールドには常に “GB” が設定され、この値はユーザーが変更できません。
例:
"common_name": {
"presence": "REQUIRED",
"format": "^[A-Za-z][A-Za-z -]+$"
},
"organization": {
"presence": "STATIC",
"format": "GMO GlobalSign"
},
"country": {
"presence": "STATIC",
"format": "GB"
},
"state": {
"presence": "OPTIONAL",
"format": "^[A-Za-z][A-Za-z \\-]+$"
}
Listフィールド
Listフィールドは、SAN拡張におけるDNS名などの文字列のリストです。認証ポリシーのListフィールドは、Static、List、Mincount、Maxcountの4つのコンポーネントで構成されます。
- Static:
- Static が false に設定されている場合、Listは証明書要求を通じてユーザーによって提供されます。
- Static を true に設定すると、Listはバックエンドで固定され、発行された証明書に自動的に含まれます。
- List: Staticの値に基づいて、Listフィールドには、顧客が送信したListを認証するためのRegex/SuffixのList、またはバックエンドによって提供される固定Listが含まれます。
- Regex: 上記のStringフィールドのセクションを参照してください
- Suffix: 認証済みのAtlasのプロファイルと一致する文字列の末尾部分。例えば、「.globalsign.com」というSuffixは「test.globalsign.com」を許可しますが、「test.example.com」は許可しません。
- Mincount: Listに含めることができる要素の最小数。例えば、min = 1 は、少なくとも 1 つの要素を含むListを送信する必要があることを意味します。
- Maxcount: Listに含めることができる要素の最大数。例えば、max = 0 はListを送信できないことを意味し、max = 5 はListに最大 5 つの要素を含めることができることを意味します。
例:
"organizational_unit": {
"static": false,
"list": [
"^[A-Za-z][A-Za-z \\-]+$"
],
"mincount": 1,
"maxcount": 3
},
"extra_attributes": {
"1.3.6.1.5.5.7.48.1.5": {
"static": true,
"value_type": "PRINTABLESTRING",
"value_format": "static attribute",
"mincount": 1,
"maxcount": 1
}