本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Application Load Balancer 上設定交互 TLS
若要使用交互 TLS 傳遞模式,您只需將接聽程式設定為接受來自用戶端的任何憑證。當您使用交互 TLS 傳遞時,Application Load Balancer 會使用 HTTP 標頭將整個用戶端憑證鏈傳送至目標,這可讓您在應用程式中實作對應的身分驗證和授權邏輯。如需詳細資訊,請參閱建立 Application Load Balancer 的 HTTPS 接聽程式。
當您在驗證模式下使用交互 TLS 時,Application Load Balancer 會在負載平衡器交涉 TLS 連線時,為用戶端執行 X.509 用戶端憑證驗證。
若要使用交互 TLS 驗證模式,請執行下列動作:
使用下列程序在 Application Load Balancer 上設定交互 TLS 驗證模式。
建立信任存放區
如果您在建立負載平衡器或接聽程式時新增信任存放區,信任存放區會自動與新的接聽程式建立關聯。否則,您必須自行將其與接聽程式建立關聯。
- Console
-
下列範例使用 主控台的信任存放區部分建立信任存放區。或者,您可以在建立 HTTP 接聽程式時建立信任存放區。
建立信任存放區
前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。
-
在導覽窗格中,選擇信任存放區。
-
選擇建立信任存放區。
-
信任存放區組態
-
針對信任存放區名稱,輸入信任存放區的名稱。
-
針對憑證授權機構套件,輸入要使用的 ca 憑證套件的 Amazon S3 路徑。
-
(選用) 使用物件版本來選取舊版的 ca 憑證套件。否則,會使用目前的版本。
-
(選用) 對於撤銷,您可以將憑證撤銷清單新增至信任存放區。
-
選擇新增 CRL,然後在 Amazon S3 中輸入憑證撤銷清單的位置。
-
(選用) 使用物件版本來選取憑證撤銷清單的先前版本。否則,會使用目前的版本。
-
(選用) 展開信任存放區標籤,並為信任存放區輸入最多 50 個標籤。
-
選擇建立信任存放區。
- AWS CLI
-
建立信任存放區
使用 create-trust-store 命令。
aws elbv2 create-trust-store \
--name my-trust-store
\
--ca-certificates-bundle-s3-bucket amzn-s3-demo-bucket
\
--ca-certificates-bundle-s3-key certificates/ca-bundle.pem
- CloudFormation
-
建立信任存放區
定義 AWS::ElasticLoadBalancingV2::TrustStore 類型的資源。
Resources:
myTrustStore:
Type: 'AWS::ElasticLoadBalancingV2::TrustStore'
Properties:
Name: my-trust-store
CaCertificatesBundleS3Bucket: amzn-s3-demo-bucket
CaCertificatesBundleS3Key: certificates/ca-bundle.pem
關聯信任存放區
建立信任存放區之後,您必須將其與接聽程式建立關聯,Application Load Balancer 才能開始使用信任存放區。您只能有一個信任存放區與每個安全接聽程式相關聯,但一個信任存放區可以與多個接聽程式相關聯。
- Console
-
您可以建立信任存放區與現有接聽程式的關聯,如下列程序所示。或者,您可以在建立 HTTPS 接聽程式時關聯信任存放區。如需詳細資訊,請參閱建立 HTTPS 接聽程式。
建立信任存放區的關聯
前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。
-
在導覽窗格上選擇 Load Balancers (負載平衡器)。
-
選取負載平衡器。
-
在接聽程式和規則索引標籤上,選擇 Protocol:Port 欄中的連結,以開啟安全接聽程式的詳細資訊頁面。
-
在安全索引標籤上,選擇編輯安全接聽程式設定。
-
如果未啟用交互 TLS,請在用戶端憑證處理下選取相互身分驗證 (mTLS),然後選擇使用信任存放區驗證。
-
針對信任存放區,選擇信任存放區。
-
選擇儲存變更。
- AWS CLI
-
建立信任存放區的關聯
使用 modify-listener 命令。
aws elbv2 modify-listener \
--listener-arn listener-arn
\
--mutual-authentication "Mode=verify,TrustStoreArn=trust-store-arn
"
- CloudFormation
-
建立信任存放區的關聯
更新 AWS::ElasticLoadBalancingV2::Listener 資源。
Resources:
myHTTPSListener:
Type: 'AWS::ElasticLoadBalancingV2::Listener'
Properties:
LoadBalancerArn: !Ref myLoadBalancer
Protocol: HTTPS
Port: 443
DefaultActions:
- Type: "forward"
TargetGroupArn: !Ref myTargetGroup
SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06
Certificates:
- CertificateArn: certificate-arn
MutualAuthentication:
- Mode: verify
TrustStoreArn: trust-store-arn
取代 CA 憑證套件
CA 憑證套件是信任存放區的必要元件。這是由憑證授權單位驗證的信任根憑證和中繼憑證集合。這些經過驗證的憑證可確保用戶端信任所呈現的憑證是由負載平衡器所擁有。
信任存放區一次只能包含一個 CA 憑證套件,但您可以在建立信任存放區之後隨時取代 CA 憑證套件。
- Console
-
若要取代 CA 憑證套件
前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。
-
在導覽窗格中,選擇信任存放區。
-
選取信任存放區。
-
選擇動作、取代 CA 套件。
-
在取代 CA 套件頁面的憑證授權機構套件下,輸入所需 CA 套件的 Amazon S3 位置。
-
(選用) 使用物件版本來選取憑證撤銷清單的先前版本。否則,會使用目前的版本。
-
選取取代 CA 套件。
- AWS CLI
-
若要取代 CA 憑證套件
使用 modify-trust-store 命令。
aws elbv2 modify-trust-store \
--trust-store-arn trust-store-arn
\
--ca-certificates-bundle-s3-bucket amzn-s3-demo-bucket-new
\
--ca-certificates-bundle-s3-key certificates/new-ca-bundle-pem
- CloudFormation
-
更新 CA 憑證套件
定義 AWS::ElasticLoadBalancingV2::TrustStore 類型的資源。
Resources:
myTrustStore:
Type: 'AWS::ElasticLoadBalancingV2::TrustStore'
Properties:
Name: my-trust-store
CaCertificatesBundleS3Bucket: amzn-s3-demo-bucket-new
CaCertificatesBundleS3Key: certificates/new-ca-bundle.pem
新增憑證撤銷清單
或者,您可以為信任存放區建立憑證撤銷清單。撤銷清單由憑證授權單位發佈,並包含已撤銷憑證的資料。Application Load Balancer 僅支援 PEM 格式的憑證撤銷清單。
將憑證撤銷清單新增至信任存放區時,會為其提供撤銷 ID。新增至信任存放區的每個撤銷清單的撤銷 IDs都會增加,而且無法變更。
Application Load Balancer 無法撤銷憑證撤銷清單中序號為負的憑證。
- Console
-
新增撤銷清單
前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。
-
在導覽窗格中,選擇信任存放區。
-
選取信任存放區以檢視其詳細資訊頁面。
-
在憑證撤銷清單索引標籤上,選取動作、新增撤銷清單。
-
在新增撤銷清單頁面的憑證撤銷清單下,輸入所需憑證撤銷清單的 Amazon S3 位置
-
(選用) 使用物件版本來選取憑證撤銷清單的先前版本。否則會使用目前的版本。
-
選取新增撤銷清單
- AWS CLI
-
新增撤銷清單
使用 add-trust-store-revocations 命令。
aws elbv2 add-trust-store-revocations \
--trust-store-arn trust-store-arn
\
--revocation-contents "S3Bucket=amzn-s3-demo-bucket
,S3Key=crl/revoked-list.crl
,RevocationType=CRL"
- CloudFormation
-
新增撤銷清單
定義 AWS::ElasticLoadBalancingV2::TrustStoreRevocation 類型的資源。
Resources:
myRevocationContents:
Type: 'AWS:ElasticLoadBalancingV2::TrustStoreRevocation'
Properties:
TrustStoreArn: !Ref myTrustStore
RevocationContents:
- RevocationType: CRL
S3Bucket: amzn-s3-demo-bucket
S3Key: crl/revoked-list.crl
刪除憑證撤銷清單
當您不再需要憑證撤銷清單時,您可以將其刪除。當您從信任存放區刪除憑證撤銷清單時,也會刪除其撤銷 ID,而且不會在信任存放區的生命週期內重複使用。
- Console
-
- AWS CLI
-
刪除撤銷清單
使用 remove-trust-store-revocations 命令。
aws elbv2 remove-trust-store-revocations \
--trust-store-arn trust-store-arn
\
--revocation-ids id-1
id-2
id-3
刪除信任存放區
當您不再為信任存放區使用 時,您可以將其刪除。您無法刪除與接聽程式相關聯的信任存放區。
- Console
-
- AWS CLI
-
刪除信任存放區
使用 delete-trust-store 命令。
aws elbv2 delete-trust-store \
--trust-store-arn trust-store-arn