ACM証明書を発行または更新したときにCAAに「失敗」のエラーが出る場合の解決方法を教えてください。

所要時間2分
0

新しい証明書をリクエストしたか、AWS Certificate Manager (ACM) で証明書を更新しようとしましたが、ドメイン名のステータスが「失敗」になっています。証明書のリクエストが失敗しても、検証ステータスは「成功」になっています。

簡単な説明

認証局認証(CAA)レコードはDNSレコードの1つです。このレコードにより、ドメインの証明書を発行できる認証局(CA)を管理できます。ACMはCAAレコードをチェックし、ACMがドメインのSSL証明書を発行することがドメイン所有者により許可されているかどうかを確認します。CAAは次の条件をチェックします。

  • CAAレコードチェックはDNS名ツリーの上位に向けて移動する。
  • CAAレコードがない場合、どのCAでも証明書を発行できることになる。
  • CAAレコードチェックはCNAMEレコードに従う。
  • 「issue」タグはワイルドカードドメインであるかどうかにかかわらず使用できる一方で、「issuewild」タグはワイルドカードドメインのみに影響を及ぼす。

解決方法

CAAレコードチェックはDNS名ツリーの上位に向けて移動する

CAAレコードチェックはリクエストされたドメインから開始して、DNS名ツリーの上位に向けて移動します。www.example.comの証明書をリクエストした場合、ACMはまずサードレベルドメインであるwww.example.comのCAAレコードをチェックします。次にACMは、セカンドレベルドメイン名である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)

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

(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)

1番目のレコードが有効になり、これによって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)

1番目のレコードは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ツリーの下位に向けては移動しないため、1番目のレコードは有効になりません。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名ツリーの下位に向けては移動しないため、1番目のレコードは無視されます。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)

1番目のレコードは、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レコードはチェックされないことに注意してください。詳細については、CA/ブラウザフォーラムのウェブサイトの付録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)

1番目の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チェックは1番目のレコードを検出し、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)

これはワイルドカードではないドメインリクエストなので、1番目のCAAレコードは無視されます。2 番目のCAAレコードが有効になり、CAは証明書を発行できなくなります。

CAAレコードの設定の詳細については、「(任意)CAAレコードの設定」をご覧ください。

関連情報

データトラッカーのウェブサイトのDNS認証局認証(CAA)リソースレコード

コメントはありません

関連するコンテンツ