DBMS_CLOUD für Zugriffsverwaltung
In diesem Abschnitt werden die DBMS_CLOUD-Unterprogramme beschrieben, die für die Zugriffsverwaltung verwendet werden.
Voraussetzungen
Als Entwickler können Sie DBMS_CLOUD-Prozeduren mit autonomen KI-Datenbanken verwenden, die in Oracle Public Cloud, Multicloud oder Exadata Cloud@Customer bereitgestellt sind.
Abhängig von der Bereitstellungsoption müssen die folgenden Voraussetzungen erfüllt sein, um die DBMS_CLOUD-Prozeduren mit Amazon S3-, Azure Blob Storage- und Google Cloud Storage-Serviceprovidern zu verwenden.
Eine ausgehende Konnektivität muss von Ihrem Flottenadministrator mit einem NAT-Gateway konfiguriert worden sein, wie unten beschrieben:
-
Sie können ein NAT-Gateway im virtuellen Cloud-Netzwerk (VCN) erstellen, in das sich Ihre autonomen KI-Datenbankressourcen befinden, indem Sie die Anweisungen unter "NAT-Gateway erstellen" in der Oracle Cloud Infrastructure-Dokumentation befolgen.
-
Nachdem das NAT-Gateway erstellt wurde, fügen Sie eine Routingregel und eine Egress-Sicherheitsregel zu jedem Subnetz (im VCN) hinzu, in dem sich autonome KI-Datenbankressourcen befinden. Damit können diese Ressourcen über das Gateway einen öffentlichen Schlüssel von Ihrer Azure AD-Instanz abrufen:
-
Gehen Sie zur Seite Subnetzdetails für das Subnetz.
-
Klicken Sie auf der Registerkarte Informationen zum Subnetz auf den Namen der Routentabelle des Subnetzs, um die Seite Routentabellendetails anzuzeigen.
-
Überprüfen Sie in der Tabelle der vorhandenen Routingregeln, ob bereits eine Regel mit den folgenden Eigenschaften vorhanden ist:
-
Ziel: 0.0.0.0/0
-
Zieltyp: NAT-Gateway
-
Ziel: Der Name des NAT-Gateways, das Sie gerade im VCN erstellt hat
Wenn keine derartige Regel vorhanden ist, klicken Sie auf Routingregeln hinzufügen, und fügen Sie eine Routingregel mit diesen Merkmalen hinzu.
-
-
Kehren Sie zur Seite Subnetzdetails für das Subnetz erneut zurück.
-
Klicken Sie in der Tabelle Sicherheitslisten des Subnetzes auf den Namen der Sicherheitsliste des Subnetzes, um das Register Sicherheitslistendetails anzuzeigen.
-
Klicken sie im Seitenmenü unter Ressourcen auf Egress-Regeln.
-
Überprüfen Sie in der Tabelle der vorhandenen Egress-Regeln, ob bereits eine Regel mit den folgenden Eigenschaften vorhanden ist:
-
Zieltyp:CIDR
-
Ziel:0.0.0.0/0
-
IP-Protokoll:TCP
-
Quellportbereich:443
-
Zielportbereich: Alle
Wenn keine derartige Regel vorhanden ist, klicken Sie auf Egress-Regeln hinzufügen, und fügen Sie eine Egress-Regel mit diesen Merkmalen hinzu.
-
-
Die HTTP-Proxyeinstellungen in Ihrer Umgebung müssen es der Datenbank ermöglichen, auf den Cloud-Serviceprovider zuzugreifen.
Diese Einstellungen werden vom Flottenadministrator beim Erstellen der Exadata Cloud@Customer-Infrastruktur definiert, wie unter Exadata Database Service on Cloud@Customer mit der Konsole bereitstellen beschrieben.
Hinweis: Die Netzwerkkonfiguration einschließlich des HTTP-Proxys kann nur bearbeitet werden, bis die Exadata-Infrastruktur den Status Aktivierung erforderlich aufweist. Sobald es aktiviert ist, können Sie diese Einstellungen nicht mehr bearbeiten.
Für das Einrichten eines HTTP-Proxys für eine bereits bereitgestellte Exadata-Infrastruktur ist eine Serviceanfrage (SR) in My Oracle Support erforderlich. Weitere Einzelheiten finden Sie unter Serviceanfrage in My Oracle Support erstellen.
Übersicht über DBMS_CLOUD-Unterprogramme für die Zugriffsverwaltung
Die Unterprogramme für die Zugangsdatenverwaltung im Package DBMS_CLOUD aufgeführt, einschließlich Erstellen, Löschen und Aktualisieren von Zugangsdaten.
| Unterprogramm | Beschreibung |
|---|---|
| Prozedur CREATE_CREDENTIAL | Diese Prozedur speichert Zugangsdaten für Cloud-Services in einer autonomen KI-Datenbank. |
| Prozedur DROP_CREDENTIAL | Diese Prozedur entfernt vorhandene Zugangsdaten aus der Autonomous AI Database. |
| Prozedur UPDATE_CREDENTIAL | Diese Prozedur aktualisiert Zugangsdatenattribute für Cloud-Services in Autonomous AI Database. |
Prozedur CREATE_CREDENTIAL
Diese Prozedur speichert Zugangsdaten für Cloud-Services in einer autonomen KI-Datenbank.
Verwenden Sie gespeicherte Zugangsdaten für den Zugriff auf den Cloud-Service zum Laden von Daten, zum Abfragen externer Daten in der Cloud oder für andere Fälle, wenn Sie DBMS_CLOUD-Prozeduren mit einem Parameter credential_name verwenden.
Syntax
DBMS_CLOUD.CREATE_CREDENTIAL (
credential_name IN VARCHAR2,
username IN VARCHAR2,
password IN VARCHAR2 DEFAULT NULL);
DBMS_CLOUD.CREATE_CREDENTIAL (
credential_name IN VARCHAR2,
user_ocid IN VARCHAR2,
tenancy_ocid IN VARCHAR2,
private_key IN VARCHAR2,
fingerprint IN VARCHAR2);
Parameter
| Parameter | Beschreibung |
|---|---|
credential_name |
Der Name der zu speichernden Zugangsdaten. Der Parameter credential_name muss den Benennungskonventionen von Oracle-Objekten entsprechen, die keine Leerzeichen oder Bindestriche zulassen. |
username |
Mit den Argumenten username und password werden Ihre Zugangsdaten für Cloud-Services angegeben. In den Nutzungshinweisen werden die Angaben für username und password für verschiedene Cloud-Services beschrieben. |
password |
Mit den Argumenten username und password werden Ihre Zugangsdaten für Cloud-Services angegeben. |
user_ocid |
Gibt die OCID des Benutzers an. Weitere Einzelheiten zum Abrufen der OCID des Benutzers finden Sie unter Hier erhalten Sie die OCID des Mandanten und des Benutzers. |
tenancy_ocid |
Gibt die OCID des Mandanten an. Weitere Einzelheiten zum Abrufen der OCID des Mandanten finden Sie unter Hier erhalten Sie die OCID des Mandanten und des Benutzers. |
private_key |
Gibt den generierten Private Key an. Mit einer Passphrase generierte Private Keys werden nicht unterstützt. Sie müssen den Private Key ohne Passphrase generieren. Weitere Einzelheiten zum Generieren eines Schlüsselpaares im PEM-Format finden Sie unter So generieren Sie einen API-Signaturschlüssel. |
fingerprint |
Gibt einen Fingerprint an. Nachdem ein generierter Public Key in den Account des Benutzers hochgeladen wurde, wird der Fingerprint in der Konsole angezeigt. Verwenden Sie den angezeigten Fingerprint für dieses Argument. Weitere Einzelheiten finden Sie unter So rufen Sie den Fingerprint des Schlüssels ab und So generieren Sie einen API-Signaturschlüssel. |
Verwendungshinweise
-
Dieser Vorgang speichert die Zugangsdaten in einem verschlüsselten Format in der Datenbank.
-
Sie können die Zugangsdaten in Ihrem Schema anzeigen, indem Sie die Tabelle
user_credentialsabfragen. -
Der
ADMIN-Benutzer kann alle Zugangsdaten anzeigen, indem er die Tabelledba_credentialsabfragt. -
Sie müssen Zugangsdaten nur einmal erstellen, es sei denn, Ihre Zugangsdaten für den Cloud-Service ändern sich. Nachdem Sie die Zugangsdaten gespeichert hat, können Sie denselben Zugangsdatennamen für
DBMS_CLOUD-Prozeduren verwenden, die einencredential_name-Parameter erfordern. -
Diese Prozedur ist überladen. Wenn Sie eines der schlüsselbasierten Authentifizierungsattribute
user_ocid,tenancy_ocid,private_keyoderfingerprintangeben, wird davon ausgegangen, dass der Aufruf auf einem Oracle Cloud Infrastructure-Signaturschlüssel basierende Zugangsdaten verwendet. -
Sie können Zugangsdaten in der Ansicht
ALL_CREDENTIALSauflisten. Beispiel: Führen Sie den folgenden Befehl aus, um Zugangsdaten aufzulisten:SELECT credential_name, username, comments FROM all_credentials;
Oracle Cloud Infrastructure-Zugangsdaten (Authentifizierungstoken)
In Oracle Cloud Infrastructure ist username Ihr Oracle Cloud Infrastructure-Benutzername. password ist Ihr Oracle Cloud Infrastructure-Authentifizierungstoken. Siehe Mit Authentifizierungstoken arbeiten.
Beispiel:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'DEF_CRED_NAME',
username => 'adb_user@example.com',
password => 'password' );
END;
/
Verwenden Sie Authentifizierungstoken-basierte Zugangsdaten, wenn Sie Aufrufe in OCI Object Storage authentifizieren. Bei Aufrufen eines anderen Oracle Cloud Infrastructure-Cloudservicetyps verwenden Sie schlüsselbasierte Oracle Cloud Infrastructure-Signaturzugangsdaten.
Schlüsselbasierte Zugangsdaten für die Oracle Cloud Infrastructure-Signatur
Verwenden Sie die Parameter für den Oracle Cloud Infrastructure-Signaturschlüssel wie user_ocid, tenancy_ocid, private_key und fingerprint mit der Oracle Cloud Infrastructure-Signaturschlüsselauthentifizierung.
Beispiel:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL (
credential_name => 'OCI_KEY_CRED',
user_ocid => 'ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa',
tenancy_ocid => 'ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a',
private_key => 'MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=',
fingerprint => 'f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27');
END;
/
Mit einer Passphrase generierte Private Keys werden nicht unterstützt. Sie müssen den Private Key ohne Passphrase generieren. Weitere Informationen finden Sie unter So generieren Sie einen API-Signaturschlüssel.
Zugangsdaten für Amazon Web Services (AWS)
Wenn sich Ihre Quelldateien in Amazon S3 befinden oder Sie eine AWS-API aufrufen, ist username die AWS-Zugriffsschlüssel-ID und password der AWS-Secret-Zugriffsschlüssel. Siehe AWS Identity and Access Management.
Microsoft Azure-Zugangsdaten
Wenn sich Ihre Quelldateien in Azure Blob Storage befinden oder Sie eine Azure-API aufrufen, ist username der Name Ihres Azure-Speicheraccounts und password ein Zugriffsschlüssel für den Azure-Speicheraccount. Siehe Azure-Speicheraccounts.
Amazon S3-kompatibleZugangsdaten
| Service | Zugangsdateninformationen |
|---|---|
| Google Cloud-Speicher | Wenn sich Ihre Quelldateien in Google Cloud Storage befinden oder Sie Google Cloud Storage-APIs aufrufen, müssen Sie ein Google-Standardprojekt festlegen und einen HMAC-Schlüssel abrufen, um Zugangsdaten für die Angabe mit S3-kompatiblen Google Cloud Storage-URLs zu erstellen. Verwenden Sie die HMAC-Schlüssel-ID als Benutzernamen und das HMAC-Secret als Kennwort. Weitere Informationen finden Sie unter Projekte und HMAC-Schlüssel. |
DBMS_CLOUD-Zugangsdaten zur Authentifizierung beim C3-Objektspeicher verwalten
Mit der Prozedur DBMS_CLOUD.CREATE_CREDENTIAL können Sie der autonomen KI-Datenbank die Authentifizierungsinformationen bereitstellen, die für die Verbindung mit dem C3-Objektspeicher-Bucket erforderlich sind. Verwenden Sie die Oracle Cloud Infrastructure-Parameter für Signaturschlüssel, einschließlich user_ocid, tenancy_ocid, private_key und fingerprint, mit der Oracle Cloud Infrastructure-Signaturschlüsselauthentifizierung.
Beispiel:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL (
credential_name => 'OBJECT_STORAGE_CREDENTIAL',
user_ocid => 'ocid1.user.oc1..abcdedfxxxxx',
tenancy_ocid => 'ocid1.tenancy.oc1..abcdefxyyyyyy',
private_key => 'MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDku_Rest_of_PrivateKey_no_spaces_no_newlines',
fingerprint => '3d:ba:f9:aa:bb:cc:dd:ee:ff:gg:hh:ii:jj:xa:xb:xc'
);
END;
/
Prozedur DROP_CREDENTIAL
Diese Prozedur entfernt vorhandene Zugangsdaten aus der Autonomous AI Database.
Syntax
DBMS_CLOUD.DROP_CREDENTIAL (
credential_name IN VARCHAR2);
Parameter
| Parameter | Beschreibung |
|---|---|
credential_name |
Der Name der zu entfernenden Zugangsdaten. |
Prozedur UPDATE_CREDENTIAL
Mit dieser Prozedur werden Attribute mit einem neuen Wert für einen angegebenen credential_name aktualisiert.
Verwenden Sie gespeicherte Zugangsdaten zum Laden von Daten, zum Abfragen externer Daten in der Cloud oder überall, wo Sie DBMS_CLOUD-Prozeduren mit einem credential_name-Parameter verwenden.
Syntax
DBMS_CLOUD.UPDATE_CREDENTIAL (
credential_name IN VARCHAR2,
attribute IN VARCHAR2,
value IN VARCHAR2);
Parameter
| Parameter | Beschreibung |
|---|---|
credential_name |
Der Name der zu aktualisierenden Zugangsdaten. |
attribute |
Name des zu aktualisierenden Attributs. Für Zugangsdaten des Typs "Benutzername/Kennwort" sind die gültigen Werte für Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL. |
value |
Neuer Wert für das angegebene Attribut. |
Verwendungshinweise
-
Beim Wert des Benutzernamens muss die Groß-/Kleinschreibung beachtet werden. Er darf keine doppelten Anführungszeichen oder Leerzeichen enthalten.
-
Der
ADMIN-Benutzer kann alle Zugangsdaten anzeigen, indem erdba_credentialsabfragt. -
Sie müssen Zugangsdaten nur einmal erstellen, es sei denn, Ihre Zugangsdaten für den Cloud-Service ändern sich. Nachdem Sie die Zugangsdaten gespeichert hat, können Sie denselben Zugangsdatennamen für
DBMS_CLOUD-Prozeduren verwenden, die einencredential_name-Parameter erfordern. -
Sie können Zugangsdaten in der Ansicht
ALL_CREDENTIALSauflisten. Beispiel: Führen Sie den folgenden Befehl aus, um Zugangsdaten aufzulisten:SELECT credential_name, username, comments FROM all_credentials;
Beispiele
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL(
credential_name => 'OBJ_STORE_CRED',
attribute => 'PASSWORD',
value => 'password');
END;
/
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL(
credential_name => 'ARN_CRED',
attribute => 'aws_role_arn',
value => 'NEW_AWS_ARN');
END;
/