Come posso applicare una policy basata sulle risorse su un segreto di AWS Secrets Manager?

2 minuti di lettura
0

Voglio utilizzare le policy basate sulle risorse per controllare l'accesso ai segreti di AWS Secrets Manager.

Breve descrizione

Utilizza le policy basate sulle risorse per specificare l'accesso degli utenti a un segreto e quali operazioni può eseguire un utente AWS Identity and Access Management (IAM).

Nota: un segreto è definito come una risorsa con Secrets Manager.

Di seguito sono riportati alcuni scenari comuni in cui è possibile utilizzare le policy basate sulle risorse di Secrets Manager:

L'esempio seguente di policy basata sulle risorse utilizza gli elementi Effect, Action, Resource e Principal:

{  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "secretsmanager:*",
      "Principal": {"AWS": "arn:aws:iam::123456789999:user/Mary"},
      "Resource": "*"
    }
  ]
}

Soluzione

Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta la sezione Troubleshoot AWS CLI errors. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Per applicare una policy basata sulle risorse in Secrets Manager, completa i seguenti passaggi:

  1. Crea un segreto e annota il relativo ARN.

  2. Copia e incolla questa policy in un editor di testo, quindi salvala come file JSON, ad esempio my_explicit_deny_policy.json:

    { "Version": "2012-10-17","Statement": [
        {
          "Effect": "Deny",
          "Action": "secretsmanager:GetSecretValue",
          "Principal": {"AWS": "arn:aws:iam::123456789999:user/Mary"},
          "Resource": "*"
        }
      ]
    }
    
  3. Esegui il comando dell'AWS CLI put-resource-policy per allegare una policy delle risorse al segreto, negando esplicitamente il recupero del relativo valore:

    aws secretsmanager put-resource-policy --secret-id My_Resource_Secret --resource-policy file:// My_explicit_deny_Policy.json
    

    Riceverai un output simile al seguente:

    {"ARN": "arn:aws:secretsmanager:<your region>:123456789999:secret:My_Resource_Secret",
    "Name": "My_Resource_Secret"
    }
    

    Nota: l'autorizzazionedecrypt del Servizio AWS di gestione delle chiavi (AWS KMS) è richiesta solo se utilizzi le chiavi AWS KMS per crittografare il segreto. Quando il segreto è crittografato da una chiave AWS KMS predefinita, un principale IAM in un account di terze parti non può recuperare il segreto.

Per ulteriori informazioni, consulta Attach a permissions policy to an AWS Secrets Manager secret.

AWS UFFICIALE
AWS UFFICIALEAggiornata 10 mesi fa