Accedi ai AWS Secrets Manager segreti da un altro account - AWS Secrets Manager

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à.

Accedi ai AWS Secrets Manager segreti da un altro account

Per consentire agli utenti in un account di accedere ai segreti in un altro account (accesso tra account), è necessario consentire l'accesso sia in una policy delle risorse che in una policy di identità. Ciò è diverso dalla concessione dell'accesso alle identità nello stesso account del segreto.

L'autorizzazione tra account è valida solo per le seguenti operazioni:

Puoi utilizzare il BlockPublicPolicy parametro insieme all'PutResourcePolicyazione per proteggere le tue risorse impedendo che l'accesso pubblico venga concesso tramite le politiche relative alle risorse direttamente collegate ai tuoi segreti. Puoi anche utilizzare IAM Access Analyzer per verificare l'accesso tra account.

È inoltre necessario consentire all'identità di utilizzare la chiave KMS con cui il segreto è crittografato. Questo perché non puoi usare Chiave gestita da AWS (aws/secretsmanager) per l'accesso tra account diversi. È invece necessario crittografare il segreto con una chiave KMS creata e quindi allegare ad esso un criterio chiave. È previsto un addebito per la creazione di chiavi KMS. Per modificare la chiave di crittografia per un segreto, vedere Modifica un AWS Secrets Manager segreto.

Importante

Le politiche basate sulle risorse che concedono secretsmanager:PutResourcePolicy l'autorizzazione offrono ai responsabili, anche a quelli di altri account, la possibilità di modificare le politiche basate sulle risorse. Questa autorizzazione consente ai responsabili di aumentare le autorizzazioni esistenti, ad esempio ottenere l'accesso amministrativo completo ai segreti. Ti consigliamo di applicare il principio dell'accesso minimo con privilegi alle tue politiche. Per ulteriori informazioni, consulta Policy basate sulle risorse.

I criteri di esempio seguenti presuppongono di disporre di una chiave segreta e di crittografia in Account1, e un'identità in Account2 che vuoi consentire ad accedere al valore segreto.

Fase 1: Allegare una policy delle risorse al segreto in Account1
  • La seguente politica consente ApplicationRole a In Account2 di accedere al secret inAccount1. Per utilizzare questa policy, consultare Policy basate sulle risorse.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ApplicationRole" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }
Fase 2: Aggiungere un'istruzione alla policy della chiave per la chiave KMS in Account1
  • La seguente dichiarazione sulla politica chiave consente ApplicationRole di Account2 utilizzare la chiave KMS Account1 per decrittografare il segreto in. Account1 Per utilizzare questa istruzione, aggiungerla al criterio chiave per la chiave KMS. Per ulteriori informazioni, vedere Modifica di una policy delle chiavi.

    { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Account2:role/ApplicationRole" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }
Fase 3: Allegare una policy di identità all'identità in Account2
  • La seguente politica consente di ApplicationRole accedere Account2 al secret in Account1 e decrittografare il valore segreto utilizzando la chiave di crittografia anch'essa presente in. Account1 Per utilizzare questa policy, vedere Policy basate sull'identità. Puoi trovare l'ARN per il tuo segreto nella console di Secrets Manager nella pagina dei dettagli segreti sotto ARN del segreto. In alternativa, è possibile chiamare describe-secret.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "SecretARN" }, { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-1:Account1:key/EncryptionKey" } ] }