Application Load Balancer での相互 TLS の設定 - エラスティックロードバランシング

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Application Load Balancer での相互 TLS の設定

相互 TLS パススルーモードを使用するには、クライアントからの証明書を受け入れるようにリスナーを設定するだけで済みます。相互 TLS パススルーを使用する場合、Application Load Balancer は HTTP ヘッダーを使用してクライアント証明書チェーン全体をターゲットに送信します。これにより、対応する認証ロジックと認可ロジックをアプリケーションに実装することができます。詳細については、 のCreate an HTTPS Listener for Your Application Load Balancerを参照してください。

相互 TLS 検証モードを使用すると、Application Load Balancer は、ロードバランサーが TLS 接続をネゴシエートするときに、クライアントに対して X.509 クライアント証明書認証を実行します。

相互 TLS 検証モードを使用するには、以下を実行します。

  • 新しいトラストストアリソースを作成する。

  • 認証局 (CA) バンドルと、オプションで失効リストをアップロードする。

  • クライアント証明書を検証するように設定されたリスナーにトラストストアをアタッチする。

Application Load Balancer で相互 TLS 検証モードを設定するには、次の手順に従います。

トラストストアを作成する

ロードバランサーまたはリスナーの作成時に信頼ストアを追加すると、信頼ストアは自動的に新しいリスナーに関連付けられます。それ以外の場合は、自分でリスナーに関連付ける必要があります。

前提条件
  • トラストストアを作成するには、認証局 (CA) の証明書バンドルが必要です。

Console

次の例では、コンソールの Trust Store 部分を使用してトラストストアを作成します。または、HTTP リスナーを作成するときに信頼ストアを作成することもできます。

トラストストアを作成するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで [トラストストア] を選択します。

  3. トラストストアの作成 を選択します。

  4. [トラストストアの設定]

    1. トラストストア名には、トラストストアの名前を入力します。

    2. 認証機関バンドルには、使用する ca 証明書バンドルへの Amazon S3 パスを入力します。

    3. (オプション) オブジェクトバージョンを使用して、ca 証明書バンドルの以前のバージョンを選択します。それ以外の場合は、現在のバージョンが使用されます。

  5. (オプション) 失効の場合、証明書失効リストを信頼ストアに追加できます。

    1. 新しい CRL を追加を選択し、Amazon S3 で証明書失効リストの場所を入力します。

    2. (オプション) 以前のバージョンの証明書失効リストを選択するときは [オブジェクトバージョン] を使用します。それ以外の場合は、現在のバージョンが使用されます。

  6. (オプション) Trust store タグを展開し、トラストストアに最大 50 個のタグを入力します。

  7. トラストストアの作成 を選択します。

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 がトラストストアの使用を開始できるようにします。各セキュアリスナーに関連付けることができるトラストストアは 1 つのみですが、1 つのトラストストアは複数のリスナーに関連付けることができます。

Console

次の手順に示すように、信頼ストアを既存のリスナーに関連付けることができます。または、HTTPS リスナーの作成中にトラストストアを関連付けることもできます。詳細については、「HTTPS リスナーの作成」を参照してください。

トラストストアを関連付けるには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで、[ロードバランサー] を選択します。

  3. ロードバランサーを選択します。

  4. [リスナーとルール] タブで [Protocol:Port] 列のリンクをクリックし、セキュアリスナーの詳細ページを開きます。

  5. [セキュリティ] タブで [セキュアリスナーの設定を編集] を選択します。

  6. 相互 TLS が有効になっていない場合は、クライアント証明書処理相互認証 (mTLS) を選択し、信頼ストアで検証を選択します。

  7. Trust store で、トラストストアを選択します。

  8. [Save changes] (変更の保存) をクリックします。

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 証明書バンドルは一度に 1 つのみですが、トラストストアを作成した後は、随時 CA 証明書バンドルを置き換えることができます。

Console
CA 証明書バンドルを置き換えるには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで [トラストストア] を選択します。

  3. トラストストアを選択します。

  4. アクションを選択し、CA バンドルを置き換えます。

  5. CA バンドルの置き換えページで、認証機関バンドルの下に、目的の CA バンドルの Amazon S3 の場所を入力します。

  6. (オプション) 以前のバージョンの証明書失効リストを選択するときは [オブジェクトバージョン] を使用します。それ以外の場合は、現在のバージョンが使用されます。

  7. [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
失効リストを追加するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで [トラストストア] を選択します。

  3. トラストストアを選択して詳細ページを表示します。

  4. 証明書失効リストタブで、アクション失効リストの追加を選択します。

  5. [失効リストを追加] ページの [証明書失効リスト] に、目的の証明書失効リストの、Amazon S3 でのロケーションを入力します。

  6. (オプション) 以前のバージョンの証明書失効リストを選択するときは [オブジェクトバージョン] を使用します。選択しなければ現在のバージョンが使用されます。

  7. [失効リストを追加] を選択します。

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
失効リストを削除するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで [トラストストア] を選択します。

  3. トラストストアを選択します。

  4. 証明書失効リストタブで、アクション失効リストの削除を選択します。

  5. 確認を求められたら、confirm をクリックしてください。

  6. [削除] を選択します。

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
トラストストアを削除するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで [トラストストア] を選択します。

  3. トラストストアを選択します。

  4. [削除] を選択します。

  5. 確認を求められたら、confirmと入力し、[削除] を選択します。

AWS CLI
トラストストアを削除するには

delete-trust-store コマンドを使用します。

aws elbv2 delete-trust-store \ --trust-store-arn trust-store-arn