X.509 证书 Amazon IoT Core 策略变量 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

X.509 证书 Amazon IoT Core 策略变量

X.509 证书策略变量有助于编写 Amazon IoT Core 策略。这些策略根据 X.509 证书属性授予权限。以下部分介绍如何使用这些证书策略变量。

重要

如果您的 X.509 证书不包含特定的证书属性,但在策略文档中使用了相应的证书策略变量,则策略评估可能会导致意外行为。

CertificateId

RegisterCertificate API 中,certificateId 将显示在响应正文中。要获取有关您的证书的信息,可以使用 DescribeCertificate 中的 certificateId

颁发者属性

以下 Amazon 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

使用者属性

以下 Amazon 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 证书为这些属性提供了包含一个或多个值的选项。默认情况下,每个多值属性的策略变量会返回第一个值。例如,Certificate.Subject.Country 属性可能包含国家/地区名称列表,但在策略中进行评估时,iot:Certificate.Subject.Country 会替换为第一个国家/地区名称。

您可以使用从 1 开始的索引请求第一个值以外的特定属性值。例如,iot:Certificate.Subject.Country.1Certificate.Subject.Country 属性中第二个国家/地区名称替换。如果您指定不存在的索引值(例如,如果您在只有两个值分配到属性时请求第三个值),则不会执行替换功能,并且授权将失败。您可以在策略变量名称中使用 .List 后缀指定属性的所有值。

颁发者备用名称属性

以下 Amazon 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

使用者备用名称属性

以下 Amazon 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 来根据证书的序列号允许或拒绝访问 Amazon IoT Core 资源。iot:Certificate.AvailableKeys 策略变量包含具有值的所有证书策略变量的名称。