

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# X.509 憑證 AWS IoT Core 政策變數
<a name="cert-policy-variables"></a>

X.509 憑證政策變數可協助撰寫 AWS IoT Core 政策。這些政策會根據 X.509 憑證屬性授予許可。下列各節說明如何使用這些憑證政策變數。

**重要**  
如果您的 X.509 憑證不包含特定的憑證屬性，但您的政策文件中使用了對應的憑證政策變數，則政策評估可能會導致非預期的行為。

## CertificateId
<a name="cert-policy-variables-certid"></a>

在 [RegisterCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_RegisterCertificate.html) API 中，`certificateId` 會顯示在回應內文中。若要取得憑證的相關資訊，請使用 [DescribeCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeCertificate.html) `certificateId`中的 。

## 發行者屬性
<a name="issuer-attributes"></a>

下列 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` 

## 主體屬性
<a name="subject-attributes"></a>

下列 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 憑證為這些屬性提供包含一或多個值的選項。根據預設，每個多值屬性的政策變數會回傳第一個值。例如，`Certificate.Subject.Country` 屬性可能包含國家/地區名稱的清單，但在政策中評估時，會將 `iot:Certificate.Subject.Country` 取代為第一個國家/地區的名稱。

您可以使用開頭為一的索引，要求第一個值以外的特定屬性值。例如，在 `iot:Certificate.Subject.Country.1` 屬性中，第二個國家/地區名稱將取代 `Certificate.Subject.Country`。若您指定的索引值不存在 (例如，僅對該屬性指派兩個值但您要求第三個值)，將不會進行替換，而授權會失敗。您可以在政策變數名稱添加 `.List` 尾碼，指定屬性全部的值。

## 發行者別名屬性
<a name="issuer-alternate-name-attributes"></a>

下列 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`

## 主體別名屬性
<a name="subject-alternate-name-attributes"></a>

下列 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`

## 其他屬性
<a name="other-attributes"></a>

您可以使用 根據憑證的序號，`iot:Certificate.SerialNumber`允許或拒絕存取 AWS IoT Core 資源。`iot:Certificate.AvailableKeys` 政策變數包含的所有憑證政策變數名稱都具備值。