View a markdown version of this page

Accesso AWS Secrets Manager segreti di 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à.

Accesso AWS Secrets Manager segreti di 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.

Cross-account l'autorizzazione è valida solo per le seguenti operazioni:

Puoi utilizzare il BlockPublicPolicy parametro con l'PutResourcePolicyazione per proteggere le tue risorse impedendo che l'accesso pubblico venga concesso tramite le politiche sulle risorse direttamente collegate ai tuoi segreti. Puoi anche utilizzare IAM Access Analyzer per verificare l'accesso tra più 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 più account. È 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 Modificare un AWS Secrets Manager Secret.

Importante

Resource-based le politiche che concedono secretsmanager:PutResourcePolicy l'autorizzazione danno ai committenti, anche a quelli appartenenti ad altri account, la possibilità di modificare le politiche basate sulle risorse. Questa autorizzazione consente ai responsabili di aumentare le autorizzazioni esistenti, ad esempio ottenendo l'accesso amministrativo completo ai segreti. Ti consigliamo di applicare il principio dell'accesso meno privilegiato alle tue politiche. Per ulteriori informazioni, consulta Resource-based politiche.

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: Allega una politica in materia di risorse al secret in Account 1
  • La seguente politica consente ApplicationRole l'Account2accesso all'accesso segreto. Account1 Per utilizzare questa policy, consultare Resource-based politiche.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ApplicationRole" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }
Passaggio 2: aggiungere una dichiarazione alla politica chiave per il login KMS Account 1
  • La seguente dichiarazione sulla politica chiave consente Account2 a ApplicationRole In di utilizzare la chiave KMS Account1 per decrittografare il segreto. 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: Allega una policy di identità all'identità in Account 2
  • La seguente politica consente di accedere ApplicationRole Account2 al segreto Account1 e decrittografare il valore segreto utilizzando la chiave di crittografia che si trova anche in. Account1 Per utilizzare questa policy, vedere Identity-based politiche. 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": "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-AbCdEf" }, { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-1:123456789012:key/EncryptionKey" } ] }