更新集群的安全设置 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

更新集群的安全设置

使用此 Amazon MSK 操作更新您的 MSK 集群的身份验证和客户端代理加密设置。您还可以更新用于签署双向 TLS 身份验证证书的私有安全机构。您无法更改集群内加密 (broker-to-broker) 设置。

群集必须处于ACTIVE状态才能更新其安全设置。

如果您使用 IAM、SASL 或 TLS 开启身份验证,则还必须开启客户端和经纪人之间的加密。下表显示了可能的组合。

身份验证 客户经纪人加密选项 经纪人-经纪人加密
无身份验证 TLS、纯文本、TLS_PLAINTEXT 可以开启或关闭。
mTLS TLS,TLS_PLAINTE 必须开启。
SASL/SCRAM TLS 必须开启。
SASL/IAM TLS 必须开启。

当将客户端经纪人加密设置为TLS_PLAINTEXT并将客户端身份验证设置为mTLS时,Amazon MSK 会创建两种类型的侦听器供客户端连接:一种侦听器供客户端使用带有 TLS 加密的 mTLS 身份验证进行连接,另一种用于客户端无需身份验证即可进行连接,或加密(明文)。

有关安全设置的更多信息,请参阅Amazon ManagManaged Streaming for Apache Kafka

使用更新集群的安全设置Amazon Web Services Management Console

  1. 在以下位置打开亚马逊 MSK 控制台https://console.amazonaws.cn/msk/

  2. 选择要更新的 MSK 集群。

  3. “安全设置” 部分中,选择 “编辑”

  4. 为集群选择所需的身份验证和加密设置,然后选择 S ave changes

使用更新集群的安全设置Amazon CLI

  1. 创建一个 JSON 文件,其中包含要使用的集群的加密设置。以下是示例。

    注意

    您只能更新客户端代理加密设置。您无法更新集群内 (broker-to-broker) 加密设置。

    {"EncryptionInTransit":{"ClientBroker": "TLS"}}
  2. 创建一个 JSON 文件,其中包含要使用的集群的身份验证设置。以下是示例。

    {"Sasl":{"Scram":{"Enabled":true}}}
  3. 运行以下 Amazon CLI 命令:

    aws kafka update-security --cluster-arn ClusterArn --current-version Current-Cluster-Version --client-authentication file://Path-to-Authentication-Settings-JSON-File --encryption-info file://Path-to-Encryption-Settings-JSON-File

    update-security 操作的输出如以下 JSON 所示:

    { "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef" }
  4. 要查看update-security操作状态,请运行以下命令,ClusterOperationArn替换为您在update-security命令输出中获得的 ARN。

    aws kafka describe-cluster-operation --cluster-operation-arn ClusterOperationArn

    describe-cluster-operation 命令的输出如以下 JSON 示例所示。

    { "ClusterOperationInfo": { "ClientRequestId": "c0b7af47-8591-45b5-9c0c-909a1a2c99ea", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2021-09-17T02:35:47.753000+00:00", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "PENDING", "OperationType": "UPDATE_SECURITY", "SourceClusterInfo": {}, "TargetClusterInfo": {} } }

    如果OperationState有值PENDINGUPDATE_IN_PROGRESS,请稍等片刻,然后再次运行该describe-cluster-operation命令。

使用 API 更新集群的安全设置

要使用 API 更新集群的安全设置,请参阅UpdateSecurity

注意

用于更新集群安全设置的Amazon CLI和 API 操作是幂等的。这意味着,如果您调用安全更新操作并指定与群集当前设置相同的身份验证或加密设置,则该设置不会更改。