本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
mTLS 和客户托管密钥的其他 SER 权限 SASL/SCRAM
AWSMSKReplicatorExecutionRole托管策略涵盖了 IAM 身份验证的集群、主题和使用者组权限。当你向使用 SASL/SCRAM 或 mTLS 身份验证的集群进行复制时(例如,从自我管理的 Apache Kafka 集群迁移时),或者当你的密钥使用客户托管密钥 (CMK) 加密时,你需要为服务执行角色附加额外的内联权限。
除了托管策略外,还可以使用以下片段。选择与您的设置相匹配的场景。
SASL/SCRAM 密钥(带或不带 TLS 根 CA 密钥)
授予 SER 读取 SCRAM 凭据和(可选)私有 CA 证书的 AWS Secrets Manager权限。<saslSecretArn>替换为您的 SCRAM 密钥 ARN <privateCaCertSecretArn> 和持有 CA 证书的密钥(如果您使用公开信任的证书,请省略第二个 ARN)。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "<saslSecretArn>", "<privateCaCertSecretArn>" ] } ] }
mTLS 密钥(带或不带 TLS 根 CA 密钥)
授予 SER 从中读取客户端证书和私钥的权限 AWS Secrets Manager。<mtlsSecretArn>替换为您的 mTLS 密钥的 ARN 和持<privateCaCertSecretArn>有服务器 CA 证书的密钥(如果您使用公开信任的证书,请省略第二个 ARN)。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "<mtlsSecretArn>", "<privateCaCertSecretArn>" ] } ] }
使用客户管理的密钥加密的机密
如果密钥是使用 CMK 而不是 AWS托管密钥加密的,则还要对 CMK kms:Decrypt 进行授权。替换<customerManagedKeyArn>为 CMK ARN。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "<secretArn>", "<privateCaCertSecretArn>" ] }, { "Sid": "KmsPermissions", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": [ "<customerManagedKeyArn>" ] } ] }
注意
如果您更喜欢与 MSK Connect 配置提供程序权限一致的更宽的范围,则可以arn:aws:secretsmanager:<region>:<accountID>:secret:AmazonMSK_*将其用作资源模式,而不是单个机密 ARN。