View a markdown version of this page

Accede a AWS Secrets Manager los secretos desde una cuenta diferente - AWS Secrets Manager

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Accede a AWS Secrets Manager los secretos desde una cuenta diferente

Para permitir que los usuarios de una cuenta de obtengan acceso a otra cuenta (acceso entre cuentas), debe permitir el acceso tanto en una política de recursos como en una política de identidad. Esto es diferente de conceder acceso a identidades en la misma cuenta que el secreto.

Cross-account el permiso solo es efectivo para las siguientes operaciones:

Puede usar el BlockPublicPolicy parámetro junto con la PutResourcePolicyacción para ayudar a proteger sus recursos impidiendo que se conceda el acceso público a través de las políticas de recursos que están directamente asociadas a sus secretos. También puede utilizar analizador de acceso de IAM para verificar el acceso entre cuentas.

También debe permitir que la identidad utilice la clave de KMS con la que está cifrado el secreto. Esto se debe a que no puedes usar el Clave administrada de AWS (aws/secretsmanager) para el acceso entre cuentas. En su lugar, debe cifrar su secreto con una clave de KMS que cree y, a continuación, adjuntarle una política de clave. Existe un cargo por la creación de claves de KMS. Para cambiar la clave de cifrado de un secreto, consulte Modificar un AWS Secrets Manager secreto.

importante

Resource-based las políticas que conceden secretsmanager:PutResourcePolicy permisos permiten a los directores, incluso a los de otras cuentas, modificar las políticas basadas en los recursos. Este permiso permite a las entidades principales ampliar los permisos existentes. Por ejemplo, a obtener acceso administrativo total a los secretos. Recomendamos aplicar el principio del acceso de privilegio mínimo a sus políticas. Para obtener más información, consulte Resource-based políticas.

Las siguientes políticas de ejemplo suponen que tiene un secreto y una clave de cifrado en la Account1, y una identidad en la Account2 a la que desea permitir acceder al valor secreto.

Paso 1: adjunte una política de recursos al secreto de Account1
  • La siguiente política permite acceder Account2 a ApplicationRole la entrada secreta. Account1 Para utilizar esta política, visite Resource-based políticas.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ApplicationRole" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }
Paso 2: agregue una instrucción a la política clave de la clave de KMS de Account1
  • La siguiente instrucción de política de claves permite que ApplicationRole en Account2 use la clave de KMS en Account1 para descifrar el secreto en Account1. Para utilizar esta instrucción, agréguela a la política de claves de la clave de KMS. Para obtener más información, consulte Cambiar una política de claves.

    { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Account2:role/ApplicationRole" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }
Paso 3: adjunte una política de identidad a la identidad de Account2
  • La siguiente política permite que ApplicationRole en Account2 acceda al secreto de Account1 y descifre el valor secreto mediante la clave de cifrado que también está en Account1. Para utilizar esta política, visite Identity-based políticas. Puede encontrar el ARN para su secreto en la consola de Secrets Manager en la página de detalles secretos en ARN del secreto. También puede llamar a 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" } ] }