Uso de credenciales secretas de almacén con AWS Secrets Manager

Describe el uso de credenciales de secreto de almacén, donde el secreto de credencial (contraseña) se almacena en AWS Secrets Manager.

Puede utilizar credenciales secretas de almacén para acceder a recursos en la nube, acceder a otras bases de datos con enlaces de base de datos o utilizar en cualquier lugar donde se necesiten credenciales de tipo de nombre de usuario/contraseña.

Requisitos para crear credenciales secretas de almacén con AWS Secrets Manager

Describe los requisitos previos necesarios para utilizar credenciales de secreto de almacén con AWS Secrets Manager.

Para crear credenciales de secreto de almacén en las que el secreto se almacene en AWS Secrets Manager, primero realice los requisitos necesarios.

  1. Cree un secreto con AWS Secrets Manager y copie el ARN secreto de AWS.

    Consulte Gestor de secretos de AWS para obtener más información.

  2. Realice los requisitos previos de gestión de AWS para usar nombres de recurso de Amazon (ARN).

    Consulte Realización de requisitos de gestión de AWS para utilizar nombres de recurso de Amazon (ARN) para obtener más información.

  3. Active la autenticación de principal de AWS para proporcionar acceso al secreto en AWS Secrets Manager.

    Por ejemplo, en la ejecución de la instancia de Autonomous AI Database:

    BEGIN
        DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(
              provider => 'AWS',
              params =>
                 JSON_OBJECT(
                    'aws_role_arn' value 'arn:aws:iam::123456:role/AWS_ROLE_ARN'));
    END;
    /

    Consulte ENABLE_PRINCIPAL_AUTH Procedure y About Using Amazon Resource Names (ARNs) to Access AWS Resources para obtener más información.

  4. Configure AWS para proporcionar permisos para que los nombres de recursos (ARN) de Amazon accedan al secreto en AWS Secrets Manager.

    En la consola de AWS, debe otorgar acceso de lectura al secreto a la credencial de autenticación de principal.

    1. En la consola de AWS, vaya a IAM y seleccione Roles en Gestión de acceso.

    2. Seleccione el rol.

    3. En el separador Permiso, haga clic en Agregar permisosCrear política en línea.

    4. En la sección Servicio, seleccione secret manager como servicio.

    5. En la sección Acción, seleccione el nivel de acceso Leer.

    6. En la sección Recursos, haga clic en Agregar ARN, especifique ARN para el secreto y haga clic en Agregar → haga clic en Revisar la política → proporcione un nombre de política → haga clic en crear política.

    7. Vuelva al separador Permiso para verificar que la política en línea está asociada.

    Consulte Uso de nombres de recursos de Amazon (ARNs) para acceder a los recursos de AWS y Ejemplos de políticas de permisos para AWS Secrets Manager para obtener más información.

Creación de credenciales secretas de almacén con AWS Secrets Manager

Describe los pasos para utilizar un secreto de AWS Secrets Manager con credenciales.

Esto le permite almacenar un secreto en AWS Secrets Manager y utilizar el secreto con las credenciales que cree para acceder a los recursos en la nube o para acceder a otras bases de datos.

Para crear credenciales de secreto de almacén en las que el secreto se almacena en AWS Secrets Manager:

  1. Cree un secreto en AWS Secrets Manager y cree una política en línea para permitir que su base de datos de IA autónoma acceda a secretos en AWS Secrets Manager.

    Consulte Requisitos para crear credenciales secretas de almacén con AWS Secrets Manager para obtener más información.

  2. Utilice DBMS_CLOUD.CREATE_CREDENTIAL para crear una credencial de secreto de almacén para acceder al secreto del gestor de secretos de AWS.

    Por ejemplo:

    BEGIN DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name      => 'AWS_SECRET_CRED',
        params               => JSON_OBJECT(
             'username'   value 'access_key',
             'secret_id'  value 'arn:aws:secretsmanager:region:account-ID:secret:secret_name' ));
    END;
    /

    Dónde:

    • username: es el nombre de usuario de la credencial original. Puede ser el nombre de usuario de cualquier tipo de credencial de nombre de usuario o contraseña.

    • secret_id: es el secreto de almacén AWS ARN.

    Para crear una credencial de secreto de almacén, debe tener el privilegio EXECUTE en el paquete DBMS_CLOUD.

    Consulte Procedimiento CREATE_CREDENTIAL para obtener más información.

  3. Utilice la credencial para acceder a un recurso en la nube.

    Por ejemplo:

    SELECT count(*) FROM DBMS_CLOUD.LIST_OBJECTS(
         'AWS_SECRET_CRED',
         'https://s3-us-west-2.amazonaws.com/adb/' );

Nota

Nota: cada 12 horas, el secreto (contraseña) se refresca desde el contenido del administrador de secretos de AWS. Si cambia el valor secreto en AWS Secrets Manager, la instancia de Autonomous AI Database puede tardar hasta 12 horas en obtener el último valor secreto.

Ejecute DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL para refrescar inmediatamente una credencial de secreto de almacén. Este procedimiento obtiene la última versión del secreto de almacén del gestor de secretos de AWS. Consulte Procedimiento REFRESH_VAULT_CREDENTIAL para obtener más información.