Vault-Secret-Zugangsdaten mit AWS Secrets Manager verwenden

Beschreibt die Verwendung von Vault Secret-Zugangsdaten, bei denen das Zugangsdaten-Secret (Kennwort) in AWS Secrets Manager gespeichert ist.

Mit Vault Secret-Zugangsdaten können Sie auf Cloud-Ressourcen zugreifen, auf andere Datenbanken mit Datenbanklinks zugreifen oder überall dort verwenden, wo Zugangsdaten für Benutzername/Kennwort erforderlich sind.

Voraussetzungen für das Erstellen von Vault Secret-Zugangsdaten mit AWS Secrets Manager

Beschreibt die erforderlichen Voraussetzungen für die Verwendung von Vault Secret-Zugangsdaten mit AWS Secrets Manager.

Um Vault Secret-Zugangsdaten zu erstellen, in denen das Secret in AWS Secrets Manager gespeichert ist, führen Sie zuerst die erforderlichen Voraussetzungen aus.

  1. Erstellen Sie ein Secret mit AWS Secrets Manager, und kopieren Sie den AWS Secret ARN.

    Weitere Informationen finden Sie unter AWS Secrets Manager.

  2. Um Amazon-Ressourcennamen (ARNs) zu verwenden, müssen Sie AWS-Management-Voraussetzungen ausführen.
  3. Aktivieren Sie die AWS-Principal-Authentifizierung, um Zugriff auf das Secret in AWS Secrets Manager zu ermöglichen.

    Beispiel: Führen Sie auf der Autonomous Database-Instanz Folgendes aus:

    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; 
    /

    Weitere Informationen finden Sie unter Prozedur ENABLE_PRINCIPAL_AUTH und Amazon-Ressourcennamen (ARNs) für den Zugriff auf AWS-Ressourcen verwenden.

  4. Richten Sie AWS ein, um Berechtigungen für Amazon-Ressourcennamen (ARNs) für den Zugriff auf das Secret in AWS Secrets Manager bereitzustellen.

    In der AWS-Konsole müssen Sie den Zugangsdaten für die Hauptauthentifizierung Lesezugriff auf das Secret erteilen.

    1. Navigieren Sie in der AWS-Konsole zum IAM, und wählen Sie in Access Management die Option Rollen aus.
    2. Wählen Sie die Rolle aus.
    3. Klicken Sie auf der Registerkarte "Berechtigung" auf Berechtigungen hinzufügenInline-Policy erstellen.
    4. Wählen Sie im Abschnitt "Service" den Service secret manager aus.
    5. Wählen Sie im Abschnitt "Aktion" die Zugriffsebene Lesen aus.
    6. Klicken Sie im Abschnitt "Ressourcen" auf ARN hinzufügen, geben Sie ARN für Secret an, und klicken Sie auf Hinzufügen. Klicken Sie auf Policy prüfen. Geben Sie einen Policy-Namen an. Klicken Sie auf Policy erstellen.
    7. Prüfen Sie auf der Registerkarte "Berechtigung", ob die Inline-Policy zugeordnet ist.

Vault- Secret-Zugangsdaten mit AWS Secrets Manager erstellen

Beschreibt die Schritte zur Verwendung eines AWS Secrets Manager-Secrets mit Zugangsdaten.

Auf diese Weise können Sie ein Secret in AWS Secrets Manager speichern und das Secret mit den von Ihnen erstellten Zugangsdaten für den Zugriff auf Cloud-Ressourcen oder den Zugriff auf andere Datenbanken verwenden.

So erstellen Sie Vault Secret-Zugangsdaten, in denen das Secret in AWS Secrets Manager gespeichert ist:

  1. Erstellen Sie ein Secret in AWS Secrets Manager, und erstellen Sie eine Inline-Policy, damit Ihre Autonomous Database auf Secrets in AWS Secrets Manager zugreifen kann.
  2. Verwenden Sie DBMS_CLOUD.CREATE_CREDENTIAL, um Vault-Secret-Zugangsdaten für den Zugriff auf das AWS Secrets Manager Secret zu erstellen.

    Beispiele:

    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;
    /

    Wobei:

    • username: Der Benutzername der ursprünglichen Zugangsdaten. Es kann sich um den Benutzernamen eines beliebigen Typs von Benutzername/Kennwort-Zugangsdaten handeln.

    • secret_id: ist das Vault Secret für AWS ARN.

    Um Vault Secret-Zugangsdaten zu erstellen, benötigen Sie die Berechtigung EXECUTE für das Package DBMS_CLOUD.

    Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL.

  3. Verwenden Sie die Zugangsdaten für den Zugriff auf eine Cloud-Ressource.

    Beispiele:

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

Alle 12 Stunden wird das Secret (Kennwort) aus dem Inhalt im AWS Secrets Manager aktualisiert. Wenn Sie den Secret-Wert im AWS Secrets Manager ändern, kann es bis zu 12 Stunden dauern, bis die Autonomous Database-Instanz den neuesten Secret-Wert abruft.

Führen Sie DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL aus, um die Zugangsdaten eines Vault Secrets sofort zu aktualisieren. Diese Prozedur ruft die neueste Version des Vault Secrets von AWS Secrets Manager ab. Weitere Informationen finden Sie unter Prozedur REFRESH_VAULT_CREDENTIAL.