ACM 証明書の発行または更新に関する CAA エラーを解決するにはどうすればよいですか?

所要時間3分
0

新しい証明書をリクエストしました。または、AWS Certificate Manager (ACM) で証明書を更新しようとしました。ドメイン名のステータスが「Failed」で、次のようなエラーが表示されました。 「リクエストが失敗しました。この証明書の状態は「Failed」です。Certificate Authority Authentication (CAA) のエラーのため、1 つまたは複数のドメイン名が検証に失敗しました」 しかし、証明書リクエストは失敗していても、検証ステータスは「Success」です。

簡単な説明

Certificate Authority Authorization (CAA) のレコードは、ドメインまたはサブドメインの証明書を発行できる認証機関 (CA) を制御できる DNS レコードです。ACM 証明書をリクエストまたは更新するとき、ACM は CAA レコードをチェックして、ACM がドメインの SSL 証明書を発行することをドメイン所有者が許可していることを検証します。実行される CAA チェックには次の条件があります。

  • CAA レコードチェックが DNS 名ツリーで上方向に実行される
  • CAA レコードがないということは、すべての CA が証明書を発行できることを意味する
  • CAA レコードチェックはその後 CNAME レコードを検証する
  • 「issue」タグはワイルドカード以外のドメインとワイルドカードのドメインの両方に使用できますが、「issuewild」タグはワイルドカードのドメインにのみ反映されます。

解決方法

CAA レコードチェックは DNS 名ツリーについて上に向かって実行される

CAA レコードチェックはリクエストドメインから開始し、DNS 名ツリーを上に向かって実行していきます。www.example.com の証明書をリクエストした場合、ACM は CAA レコードで最初に第 3 レベルドメイン www.example.com を確認し、次に第 2 レベルのドメイン名 example.com を確認します。

CAA レコードが見つかると、CAA ルックアップは停止し、レコードが有効になります。次の例は、www.example.com の証明書をリクエストしたときに有効な CAA レコードを示しています。

(Example 1 / www.example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CAA           0      issue   "amazon.com"
example.com.   CAA           0      issue   "SomeCA.com"

(Result: CAA passed)

第 3 レベルのドメイン名のレコードが有効になり、ACM が証明書を発行できるようになります。第 2 レベルのドメイン名レコードは使用されません。

(Example 2 / www.example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CAA           0      issue   "SomeCA.com"
example.com.   CAA           0      issue   "amazon.com"

(Result: CAA failed)

最初のレコードが有効になり、ACM が証明書を発行できなくなります。2 番目のレコードは無視されます。

(Example 3 / www.example.com)
Domain   Record type  Flags  Tag      Value   
test.example.com.   CAA           0      issue   "SomeCA.com"
example.com.   CAA           0      issue   "amazon.com"

(Result: CAA passed)

最初のレコードは、www.example.com の CAA レコードには影響しません。2 番目のレコードが有効になり、ACM が証明書を発行できるようになります。

次の例は、example.com の証明書をリクエストしたときに有効な CAA レコードを示しています。

(Example 4 / example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CAA           0      issue   "amazon.com"
example.com.   CAA           0      issue   "SomeCA.com"

(Result: CAA failed)

www.example.com はリクエストされたドメインのサブドメインであり、CAA レコードチェックが DNS ツリーを下に向かって実行しないため、最初のレコードは考慮されません。2 番目のレコードが有効になり、ACM が証明書を発行できなくなります。

(Example 5 / example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CAA           0      issue   "SomeCA.com"
example.com.   CAA           0      issue   "amazon.com"

(Result: CAA passed)

www.example.com はリクエストされたドメインのサブドメインであり、CAA レコードのチェックが DNS 名ツリーを下に向かって実行しないため、最初のレコードは無視されます。2 番目のレコードが有効になり、ACM が証明書を発行できるようになります。

CAA レコードがないということは、すべての CA が証明書を発行できることを意味する

リクエストされたドメインに CAA レコードを設定しない場合、ACM を含むすべての CA はドメインの証明書を発行できます。例えば、ACM は次の例で example.com の証明書を発行できます。

(Example 6 / example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CAA           0      issue   ";"

(Result: CAA passed)

CAA チェックは DNS ツリーを下に向かって実行しないため、レコードは無視されます。

CAA レコードチェックはその後 CNAME レコードを検証する

CAA レコードチェックは、別のドメインをポイントしている CNAME レコードへと移動します。この例では、www.example.com は CAA レコードを持つ www.example.net をポイントしています。

(Example 7 / www.example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CNAME www.example.net
www.example.net.   CAA           0      issue   ";"

(Result: CAA failed)

最初のレコードは CAA チェックを www.example.net に振り分けます。この CAA レコードは CA による証明書の発行を阻止し、ACM は www.example.com の証明書を発行できなくなります。

ポイントされたドメイン (www.example.net) に CAA レコードがない場合、CAA レコードチェックはベースドメイン (example.com) まで上に向かって実行していきます。

(Example 8 / www.example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CNAME www.example.net
example.com.   CAA           0      issue   "amazon.com"

(Result: CAA passed)

このシナリオでは、www.example.net には CAA レコードが設定されていないため、ACM は www.example.com の証明書を発行できます。CAA レコードチェックは CNAME レコードの親レコードまでは実行せず、example.net の CAA レコードがチェックされないことに注意してください。詳細については、 「Baseline requirements for the issuance and management of publicly trusted certificates」(パブリックに信頼されている証明書の発行と管理に関する基本要件) の付録 A を参照してください。

「issue」タグはワイルドカード以外のドメインとワイルドカードのドメインの両方に使用できますが、「issuewild」タグはワイルドカードのドメインに反映されます

「issue」タグを使用すると、CA はワイルドカード以外のドメイン (www.example.com) とワイルドカードのドメイン (*.example.com) の両方に対して証明書を発行できます。「issuewild」タグを使用することで、CA がワイルドカードドメインを処理する方法を指定できます。次の例は、*.example.com の証明書をリクエストしたときに有効になる CAA レコードを示しています。

(Example 9 / *.example.com)
Domain   Record type  Flags  Tag      Value   
example.com.   CAA           0      issue   "amazon.com"

(Result: CAA passed)

CAA レコードにより、ACM はワイルドカード以外のドメイン証明書とワイルドカードのドメイン証明書の両方を発行でき、ACM は証明書を発行できます。

(Example 10 / *.example.com)
Domain   Record type  Flags  Tag      Value   
example.com.   CAA           0      issue   "amazon.com"
example.com.   CAA           0      issuewild   ";"

(Result: CAA failed)

タグフィールド「issuewild」は、ワイルドカードのドメインリクエストである「issue」を上書きし、ACM は証明書を発行できません。

注意: CA が *.example.com の証明書を発行できるようにするには、example.com の CAA レコードを設定する必要があります。

(Example 11 / *.example.com)
Domain   Record type  Flags  Tag      Value   
*.example.com.   CAA           0      issuewild   "amazon.com"
example.com.   CAA           0      issuewild   ";"

(Result: CAA failed)

最初の CAA レコードは無視され、2 番目の CAA レコードにより、CA は *.example.com の証明書を発行できなくなります。

次の例は、*.test.example.com の証明書をリクエストしたときに有効になる CAA レコードを示しています。

(Example 12 / *.test.example.com)
Domain   Record type  Flags  Tag      Value   
test.example.com.   CAA           0      issue   "amazon.com"
example.com.   CAA           0      issuewild   ";"

(Result: CAA passed)

CAA チェックは、最初のレコードを見つけ、DNS 名ツリーの上方向への実行を終了し、ACM が証明書を発行できるようにします。

ワイルドカード以外のドメインをリクエストする場合、「issuewild」タグは無視されます。この例は、www.example.com の証明書をリクエストしたときに有効になる CAA レコードを示しています。

(Example 13 / www.example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CAA           0      issuewild   "amazon.com"
example.com.   CAA           0      issue   ";"

(Result: CAA failed)

これはワイルドカード以外のドメインリクエストであるため、最初の CAA レコードは無視されます。2 番目の CAA レコードが有効になり、CA は証明書を発行できません。

CAA レコードの作成の詳細については、 (オプション) CAA レコードの設定を参照してください。


関連情報

DNS Certification Authority Authorization (CAA) resource record (DNS Certification Authority Authorization (CAA) のリソースレコード)

AWS公式
AWS公式更新しました 2年前