Vault-Secret-Zugangsdaten mit AWS Secrets Manager verwenden

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

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

Voraussetzungen zum 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, bei denen das Secret in AWS Secrets Manager gespeichert ist, müssen Sie zuerst die erforderlichen Voraussetzungen erfüllen.

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

    Weitere Informationen finden Sie unter AWS Secrets Manager.

  2. AWS-Management-Voraussetzungen für die Verwendung von Amazon-Ressourcennamen (ARNs) ausführen
  3. AWS-Principal-Authentifizierung aktivieren, 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 Informationen zum Zugriff auf AWS-Ressourcen mit Amazon-Ressourcennamen (ARNs).

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

    Auf der AWS-Konsole müssen Sie den Principal-Authentifizierungszugangsdaten Lesezugriff auf das Secret erteilen.

    1. Navigieren Sie in der AWS-Konsole zu IAM, und wählen Sie in Access Management die Option Rollen aus.
    2. Wählen Sie die Rolle.
    3. Klicken Sie auf der Registerkarte "Berechtigung" auf Berechtigungen hinzufügenInline-Policy erstellen.
    4. Wählen Sie im Abschnitt "Service" Secret Manager als Service aus.
    5. Wählen Sie im Abschnitt "Aktion" die Zugriffsebene Lesen aus.
    6. Klicken Sie im Abschnitt "Ressourcen" auf ARN hinzufügen, geben Sie den ARN für das 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. Gehen Sie zur Registerkarte "Berechtigung" zurück, und prüfen Sie, 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 Zugangsdaten verwenden, die Sie erstellen, um auf Cloud-Ressourcen zuzugreifen oder auf andere Datenbanken zuzugreifen.

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.

    Beispiel:

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

    Dabei gilt:

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

    • secret_id: ist die Vault Secret-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. Mit den Zugangsdaten können Sie auf eine Cloud-Ressource zugreifen.

    Beispiel:

    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. Bei diesem Verfahren wird die neueste Version des Vault Secrets von AWS Secrets Manager abgerufen. Weitere Informationen finden Sie unter Prozedur REFRESH_VAULT_CREDENTIAL.