本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新集群的安全设置
使用此 Amazon MSK 操作更新 MSK 集群的身份验证设置和客户端到代理加密设置。您还可以更新用于签署证书以进行双向 TLS 身份验证的私有安全证书颁发机构。您无法更改集群内 (broker-to-broker) 加密设置。
集群必须处于 ACTIVE
状态才能更新安全设置。
如果启用使用 IAM、SASL 或 TLS 的身份验证,您还必须开启客户端和代理之间的加密。下表显示了可能的组合。
身份验证 | 客户端到代理加密选项 | 代理到代理加密 |
---|---|---|
无身份验证 | TLS、PLAINTEXT、TLS_PLAINTEXT | 可以开启或关闭。 |
mTLS | TLS、TLS_PLAINTEX | 必须打开。 |
SASL/SCRAM | TLS | 必须打开。 |
SASL/IAM | TLS | 必须打开。 |
当客户端到代理加密设置为 TLS_PLAINTEXT
,且客户端到身份验证设置为 mTLS
时,Amazon MSK 会创建两种类型的侦听器供客户端连接:一种是供客户端在使用 mTLS 身份验证和 TLS 加密的情况下进行连接,另一种是供客户端在不使用身份验证或加密的情况下进行连接(明文)。
有关安全设置的更多信息,请参阅 Amazon Managed Streaming for Apache Kafka 中的安全性。
使用 Amazon Web Services Management Console 更新集群的安全设置
在 https://console.amazonaws.cn/msk/
打开 Amazon MSK 控制台。 -
选择要更新的 MSK 集群。
-
在设置部分中选择编辑。
-
选择集群所需的身份验证和加密设置,然后选择保存更改。
使用 Amazon CLI 更新集群的安全设置
-
创建一个 JSON 文件,内含您希望集群具有的加密设置。以下是示例。
注意
您只能更新客户端到代理加密设置。您无法更新集群内 (broker-to-broker) 加密设置。
{"EncryptionInTransit":{"ClientBroker": "TLS"}}
创建一个 JSON 文件,内含您希望集群具有的身份验证设置。以下是示例。
{"Sasl":{"Scram":{"Enabled":true}}}
运行以下 Amazon CLI 命令:
aws kafka update-security --cluster-arn
ClusterArn
--current-versionCurrent-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" }
-
要查看
update-security
操作的状态,请运行以下命令,ClusterOperationArn
替换为在命令输出中获得的 ARN。update-security
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
的值为PENDING
或UPDATE_IN_PROGRESS
,请等待一段时间,然后再次运行describe-cluster-operation
命令。
使用 API 更新集群的安全设置
要使用 API 更新集群的安全设置,请参阅UpdateSecurity。
注意
用于更新集群安全设置的 Amazon CLI 和 API 操作具有幂等性。这意味着,如果您调用安全更新操作并指定与集群当前设置相同的身份验证或加密设置,则该设置不会更改。