X.509 証明書の AWS IoT Core ポリシー変数
X.509 証明書ポリシー変数は、AWS IoT Core ポリシーの記述に役立ちます。これらのポリシーは、X.509 証明書属性に基づいてアクセス許可を付与します。次のセクションでは、それらの証明書のポリシー変数を使用する方法を説明します。
重要
X.509 証明書に特定の証明書属性が含まれていないものの、対応する証明書ポリシー変数がポリシードキュメントで使用されている場合、ポリシー評価によって予期しない動作が発生する可能性があります。
CertificateId
RegisterCertificate API では、レスポンス本文に certificateId が表示されます。証明書に関する情報を取得するには、DescribeCertificate で certificateId を使用できます。
発行元の属性
次の AWS IoT Core ポリシー変数は、証明書の発行元が設定した証明書の属性に基づいてアクセス許可を付与または拒否できるようにします。
-
iot:Certificate.Issuer.DistinguishedNameQualifier -
iot:Certificate.Issuer.Country -
iot:Certificate.Issuer.Organization -
iot:Certificate.Issuer.OrganizationalUnit -
iot:Certificate.Issuer.State -
iot:Certificate.Issuer.CommonName -
iot:Certificate.Issuer.SerialNumber -
iot:Certificate.Issuer.Title -
iot:Certificate.Issuer.Surname -
iot:Certificate.Issuer.GivenName -
iot:Certificate.Issuer.Initials -
iot:Certificate.Issuer.Pseudonym -
iot:Certificate.Issuer.GenerationQualifier
件名の属性
次の AWS IoT Core ポリシー変数は、証明書の発行元が設定した証明書のサブジェクト属性に基づいてアクセス許可を付与または拒否できるようにします。
-
iot:Certificate.Subject.DistinguishedNameQualifier -
iot:Certificate.Subject.Country -
iot:Certificate.Subject.Organization -
iot:Certificate.Subject.OrganizationalUnit -
iot:Certificate.Subject.State -
iot:Certificate.Subject.CommonName -
iot:Certificate.Subject.SerialNumber -
iot:Certificate.Subject.Title -
iot:Certificate.Subject.Surname -
iot:Certificate.Subject.GivenName -
iot:Certificate.Subject.Initials -
iot:Certificate.Subject.Pseudonym -
iot:Certificate.Subject.GenerationQualifier
X.509 証明書は、これらの属性に 1 つ以上の値を含むオプションを提供します。デフォルトでは、複数値の各属性用のポリシー変数は最初の値を返します。例えば、Certificate.Subject.Country 属性には国名のリストが含まれる場合がありますが、ポリシーで評価されると、iot:Certificate.Subject.Country は最初の国名に置き換えられます。
1 から始めるインデックスを使用して、最初の値以外の特定の属性値をリクエストできます。例えば、iot:Certificate.Subject.Country.1 は、Certificate.Subject.Country 属性の 2 番目の国名に置き換えられます。存在していないインデックス値を指定する場合、(例えば、属性に割り当てられた値が 2 つのみのとき 3 番目の値を要求すると) 置き換えはされず、認可は失敗します。ポリシーの変数名で、.List サフィックスを使用して、属性の値をすべて指定できます。
発行元の代替名属性
次の AWS IoT Core ポリシー変数は、証明書の発行元が設定した発行元の代替名属性に基づいてアクセス許可を付与または拒否できるようにします。
-
iot:Certificate.Issuer.AlternativeName.RFC822Name -
iot:Certificate.Issuer.AlternativeName.DNSName -
iot:Certificate.Issuer.AlternativeName.DirectoryName -
iot:Certificate.Issuer.AlternativeName.UniformResourceIdentifier -
iot:Certificate.Issuer.AlternativeName.IPAddress
件名の代替名属性
次の AWS IoT Core ポリシー変数は、証明書の発行元が設定したサブジェクトの代替名属性に基づいてアクセス許可を付与または拒否できるようにします。
-
iot:Certificate.Subject.AlternativeName.RFC822Name -
iot:Certificate.Subject.AlternativeName.DNSName -
iot:Certificate.Subject.AlternativeName.DirectoryName -
iot:Certificate.Subject.AlternativeName.UniformResourceIdentifier -
iot:Certificate.Subject.AlternativeName.IPAddress
その他の属性
iot:Certificate.SerialNumber を使用して、証明書のシリアルナンバーに基づいて AWS IoT Core リソースへのアクセスを許可、または、拒否することができます。iot:Certificate.AvailableKeys ポリシー変数には、値を含むすべての証明書のポリシー変数の名前が含まれます。