View a markdown version of this page

Zusätzliche SER-Berechtigungen für SASL/SCRAM, mTLs und vom SASL/OAUTHBEARER Kunden verwaltete Schlüssel - Amazon Managed Streaming für Apache Kafka

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Zusätzliche SER-Berechtigungen für SASL/SCRAM, mTLs und vom SASL/OAUTHBEARER Kunden verwaltete Schlüssel

Die AWSMSKReplicatorExecutionRole verwaltete Richtlinie deckt Cluster-, Themen- und Benutzergruppenberechtigungen für die IAM-Authentifizierung ab. Wenn Sie zu oder von einem Cluster replizieren SASL/SCRAM, der mTLS- oder SASL/OAUTHBEARER (OAuth-) Authentifizierung verwendet (z. B. bei der Migration von einem selbstverwalteten Apache Kafka-Cluster), oder wenn Ihr Secret mit einem vom Kunden verwalteten Schlüssel (CMK) verschlüsselt ist, müssen Sie der Rolle zur Serviceausführung zusätzliche Inline-Berechtigungen zuweisen.

Verwenden Sie zusätzlich zur verwalteten Richtlinie die folgenden Codefragmente. Wählen Sie das Szenario aus, das zu Ihrer Konfiguration passt.

SASL/SCRAM geheim (mit oder ohne TLS-Root-CA-Geheimnis)

Erteilt dem SER die Berechtigung, SCRAM-Anmeldeinformationen und (optional) das private CA-Zertifikat von AWS Secrets Manager zu lesen. <saslSecretArn>Ersetzen Sie es durch Ihre geheime SCRAM-ARN und <privateCaCertSecretArn> durch das Geheimnis, das das CA-Zertifikat enthält (lassen Sie den zweiten ARN weg, wenn Sie ein öffentlich vertrauenswürdiges Zertifikat verwenden).

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "<saslSecretArn>", "<privateCaCertSecretArn>" ] } ] }
mTLS-Geheimnis (mit oder ohne TLS-Root-CA-Geheimnis)

Erteilt dem SER die Berechtigung, das Client-Zertifikat und den privaten Schlüssel von AWS Secrets Manager zu lesen. <mtlsSecretArn>Ersetzen Sie es durch den ARN Ihres mTLS-Geheimnisses und <privateCaCertSecretArn> durch das Geheimnis, das das Server-CA-Zertifikat enthält (lassen Sie den zweiten ARN weg, wenn Sie ein öffentlich vertrauenswürdiges Zertifikat verwenden).

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "<mtlsSecretArn>", "<privateCaCertSecretArn>" ] } ] }
SASL/OAUTHBEARER

Die Berechtigungen, die der SER benötigt, SASL/OAUTHBEARER hängen vom Mechanismus ab:

  • Client-Anmeldeinformationen — Gewähren AWS Secrets Manager Sie Lesezugriff auf das Geheimnis, das client_id und enthältclient_secret.

  • Bestätigung des IAM-JWT-Trägers und der Client-Anmeldeinformationen — Gewähren, sts:GetWebIdentityToken damit der SER ein signiertes JWT für seine eigene Identität abrufen kann. AWS Gewähren AWS Secrets Manager Sie auch Lesezugriff, wenn Sie ein optionales Geheimnis angeben.

Wenn Ihr IDP eine private Zertifizierungsstelle verwendet, gewähren AWS Secrets Manager Sie auch Lesezugriff auf das Geheimnis, das das CA-Zertifikat enthält, auf das Sie verweisen. tokenEndpointTlsCertificateArn Im folgenden Beispiel wird beides gewährt. <oauthSecretArn>Ersetzen Sie durch Ihre geheime ARN, <idpCaCertSecretArn> durch die geheime ARN des CA-Zertifikats und <accountID> durch Ihre AWS-Konto ID. Lassen Sie die SecretsManagerPermissions Anweisung vollständig weg, wenn Sie den IAM-JWT-Bearer-Mechanismus oder den Mechanismus zur Bestätigung der Client-Anmeldeinformationen ohne ein Geheimnis verwenden und Ihr IDP ein öffentlich vertrauenswürdiges Zertifikat verwendet. Lassen Sie die StsPermissions Anweisung weg, wenn Sie den Mechanismus für Client-Anmeldeinformationen verwenden.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "<oauthSecretArn>", "<idpCaCertSecretArn>" ] }, { "Sid": "StsPermissions", "Effect": "Allow", "Action": "sts:GetWebIdentityToken", "Resource": "arn:aws:sts::<accountID>:self" } ] }
Geheimer Schlüssel, der mit einem vom Kunden verwalteten Schlüssel verschlüsselt wurde

Wenn das Geheimnis mit einem CMK und nicht mit dem AWS verwalteten Schlüssel verschlüsselt ist, gewähren Sie dies auch für kms:Decrypt den CMK. Ersetzen Sie es durch den <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>" ] } ] }
Anmerkung

Wenn Sie einen breiteren Geltungsbereich bevorzugen, der den Berechtigungen des MSK Connect-Konfigurationsanbieters entspricht, können Sie anstelle einzelner geheimer arn:aws:secretsmanager:<region>:<accountID>:secret:AmazonMSK_* ARNs das Ressourcenmuster verwenden.