View a markdown version of this page

Autorizzazioni SER aggiuntive per MTL SASL/SCRAM e chiavi gestite dal SASL/OAUTHBEARER cliente - Amazon Managed Streaming per Apache Kafka

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Autorizzazioni SER aggiuntive per MTL SASL/SCRAM e chiavi gestite dal SASL/OAUTHBEARER cliente

La policy AWSMSKReplicatorExecutionRole gestita copre le autorizzazioni di cluster, topic e consumer group per l'autenticazione IAM. Quando esegui la replica su o da un cluster che utilizza SASL/SCRAM l'autenticazione MTL o SASL/OAUTHBEARER (OAuth) (ad esempio, durante la migrazione da un cluster Apache Kafka autogestito) o quando il tuo segreto viene crittografato con una chiave gestita dal cliente (CMK), devi allegare autorizzazioni in linea aggiuntive al ruolo di esecuzione del servizio.

Utilizza gli snippet riportati di seguito in aggiunta alla policy gestita. Scegli lo scenario che corrisponde alla tua configurazione.

SASL/SCRAM segreto (con o senza segreto TLS root CA)

Concede al SER l'autorizzazione a leggere le credenziali SCRAM e (facoltativamente) il certificato CA privato da. AWS Secrets Manager Sostituiscilo <saslSecretArn> con il tuo ARN segreto SCRAM e <privateCaCertSecretArn> con il segreto che contiene il certificato CA (ometti il secondo ARN se usi un certificato pubblicamente affidabile).

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "<saslSecretArn>", "<privateCaCertSecretArn>" ] } ] }
Segreto MTLS (con o senza segreto CA root TLS)

Concede al SER il permesso di leggere il certificato e la chiave privata del client. AWS Secrets Manager Sostituiscilo <mtlsSecretArn> con l'ARN del tuo MTL segreto e <privateCaCertSecretArn> con il segreto che contiene il certificato CA del server (ometti il secondo ARN se usi un certificato pubblicamente attendibile).

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

Le autorizzazioni necessarie al SER dipendono dal meccanismo: SASL/OAUTHBEARER

  • Credenziali del cliente: concedi l'accesso in AWS Secrets Manager lettura al segreto che contiene client_id e. client_secret

  • Asserzione delle credenziali del titolare del JWT IAM e del cliente: concedi sts:GetWebIdentityToken in modo che il SER possa ottenere un JWT firmato per la propria identità. AWS Concedi anche l'accesso in AWS Secrets Manager lettura se fornisci un segreto opzionale.

Se il tuo IDP utilizza una CA privata, concedi anche l'accesso in AWS Secrets Manager lettura al segreto che contiene il certificato CA a tokenEndpointTlsCertificateArn cui fai riferimento. L'esempio seguente concede entrambi. Sostituiscilo <oauthSecretArn> con il tuo ARN segreto, <idpCaCertSecretArn> con l'ARN segreto del certificato CA e <accountID> con il tuo ID. Account AWS Ometti completamente la SecretsManagerPermissions dichiarazione se utilizzi il meccanismo di asserzione delle credenziali del portatore o del cliente IAM JWT senza un segreto e il tuo IDP utilizza un certificato pubblicamente attendibile; ometti la dichiarazione se utilizzi il meccanismo delle credenziali del StsPermissions client.

{ "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" } ] }
Segreto crittografato con una chiave gestita dal cliente

Se il segreto è crittografato con una CMK anziché con la chiave AWS gestita, kms:Decrypt concedi anche la CMK. Sostituiscilo <customerManagedKeyArn> con l'ARN CMK.

{ "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>" ] } ] }
Nota

Se si preferisce un ambito più ampio e coerente con le autorizzazioni del provider di configurazione MSK Connect, è possibile utilizzare arn:aws:secretsmanager:<region>:<accountID>:secret:AmazonMSK_* come modello di risorse anziché singoli ARN segreti.