SecretProviderClass - AWS Secrets Manager

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

SecretProviderClass

您可以使用 YAML 描述要使用 EKS 在 Amazon 中掛載ASCP的秘密。如需範例,請參閱 範例:依名稱掛載秘密或 ARN

apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name: <NAME> spec: provider: aws parameters: region: failoverRegion: pathTranslation: objects:

欄位 parameters 包含掛載請求的詳細資訊:

region

(選用) 秘密 AWS 區域 的 。如果您不使用此欄位, 會從節點上的註釋ASCP查詢區域。此查閱會增加掛載請求的額外負荷,因此建議您為使用大量 Pod 的叢集提供區域。

如果您也指定 failoverRegion, ASCP 會嘗試從兩個區域擷取秘密。如果任一區域傳回 4xx 錯誤,例如身分驗證問題,則 ASCP不會掛載任一秘密。如果成功從 擷取秘密region,則 會ASCP掛載該秘密值。如果未成功從 擷取秘密region,但成功從 擷取秘密failoverRegion,則 會ASCP掛載該秘密值。

failoverRegion

(選用) 如果您包含此欄位, ASCP 會嘗試從 中定義的區域region和此欄位擷取秘密。如果任一區域傳回 4xx 錯誤,例如身分驗證問題,則 ASCP不會掛載任一秘密。如果成功從 擷取秘密region,則 會ASCP掛載該秘密值。如果未成功從 擷取秘密region,但成功從 擷取秘密failoverRegion,則 會ASCP掛載該秘密值。如需如何使用此欄位的範例,請參閱 定義多區域機密的容錯移轉區域

pathTranslation

(選用) 如果 Amazon 中的檔案名稱EKS將包含路徑分隔符號字元,例如 Linux 上的斜線 (/),則使用單一替代字元。ASCP 無法建立包含路徑分隔符號字元的掛載檔案。反之, 會以不同的字元ASCP取代路徑分隔符號字元。如果不使用此欄位,則取代字元為底線 (_),例如 My/Path/Secret 掛載為 My_Path_Secret

若要避免發生字元取代的情況,請輸入字串 False

objects

包含要掛載之秘密YAML宣告的字串。建議使用YAML多行字串或管道 (|) 字元。

objectName

ARN 秘密的名稱或完整名稱。如果您使用 ARN,則可以省略 objectType。除非您指定 ,否則此欄位會成為 Amazon EKS Pod 中秘密的檔案名稱objectAlias。如果您使用 ARN,則 中的區域ARN必須符合 欄位 region。如果您包含 failoverRegion,則此欄位代表主要 objectName

objectType

如果您不使用ARN適用於 的 Secrets Manager,則必須使用 objectName。可以是 secretsmanagerssmparameter

objectAlias

(選用) Amazon EKS Pod 中秘密的檔案名稱。如果您未指定此欄位,objectName 會顯示為檔案名稱。

objectVersion

(選用) 秘密的版本 ID。不建議,因為每次更新機密時都必須更新版本 ID。依預設,會使用最新版本。如果您包含 failoverRegion,則此欄位代表主要 objectVersion

objectVersionLabel

(選用) 版本的別名。預設值為最新版本 AWSCURRENT。如需詳細資訊,請參閱秘密版本。如果您包含 failoverRegion,則此欄位代表主要 objectVersionLabel

jmesPath

(選用) 秘密中索引鍵映射到要掛載到 Amazon 中的檔案EKS。若要使用此欄位,您的秘密值必須是 JSON 格式。如果使用此欄位,您必須包含 pathobjectAlias

路徑

來自秘密值 中金鑰/值對JSON的金鑰。如果欄位包含連字號,請使用單引號將其逸出,例如:path: '"hyphenated-path"'

objectAlias

要掛載至 Amazon EKS Pod 的檔案名稱。如果欄位包含連字號,請使用單引號將其逸出,例如:objectAlias: '"hyphenated-alias"'

failoverObject

(選用) 如果您指定此欄位, ASCP 會嘗試擷取主要 中指定的秘密,objectName以及failoverObjectobjectName子 欄位中指定的秘密。如果任一 傳回 4xx 錯誤,例如身分驗證問題,則 ASCP不會掛載任一秘密。如果成功從主要 擷取秘密objectName,則 會ASCP掛載該秘密值。如果未成功從主要 擷取秘密objectName,但成功從容錯移轉 擷取秘密objectName,則 會ASCP掛載該秘密值。如果包含此欄位,則您必須包含欄位 objectAlias。如需如何使用此欄位的範例,請參閱 選擇要掛載的容錯移轉機密

當容錯移轉機密不是複本時,您通常會使用此欄位。如需如何指定複本的範例,請參閱 定義多區域機密的容錯移轉區域

objectName

ARN 容錯移轉秘密的名稱或完整名稱。如果您使用 ARN,則 中的區域ARN必須符合 欄位 failoverRegion

objectVersion

(選用) 秘密的版本 ID。必須與主要 objectVersion 相符。不建議,因為每次更新機密時都必須更新版本 ID。依預設,會使用最新版本。

objectVersionLabel

(選用) 版本的別名。預設值為最新版本 AWSCURRENT。如需詳細資訊,請參閱秘密版本