DBMS_CLOUD für Zugriffsverwaltung
In diesem Abschnitt werden die DBMS_CLOUD
-Unterprogramme beschrieben, die für die Zugriffsverwaltung verwendet werden.
Verwandte Themen
Voraussetzungen
Als Entwickler können Sie DBMS_CLOUD-Prozeduren mit Autonomous Databases verwenden, die in Oracle Public Cloud, Multicloud oder Exadata Cloud@Customer bereitgestellt sind.
Je nach Deployment-Auswahl müssen die folgenden Voraussetzungen erfüllt sein, um die DBMS_CLOUD-Prozeduren mit den Serviceprovidern Amazon S3, Azure Blob Storage und Google Cloud Storage zu verwenden.
- Erstellen Sie ein NAT-Gateway im virtuellen Cloud-Netzwerk (VCN), in dem sich Ihre Autonomous Database-Ressourcen befinden, indem Sie die Anweisungen unter NAT-Gateway erstellen in der Oracle Cloud Infrastructure-Dokumentation befolgen.
- Nachdem Sie das NAT-Gateway erstellt haben, fügen Sie eine Routingregel und eine Egress-Sicherheitsregel zu jedem Subnetz (im VCN) hinzu, in dem sich Autonomous Database-Ressourcen befinden. So können diese Ressourcen mit dem Gateway einen Public Key aus 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 Subnetzes, um die Seite Routentabellendetails anzuzeigen.
- Prüfen Sie in der Tabelle der vorhandenen Routingregeln, ob bereits eine Regel mit den folgenden Eigenschaften vorhanden ist:
- Zielort: 0.0.0.0/0
- Zieltyp: NAT-Gateway
- Ziel: Der Name des NAT-Gateway, das Sie gerade im VCN erstellt haben
Wenn keine solche Regel vorhanden ist, klicken Sie auf Routenregeln hinzufügen, und fügen Sie eine Routingregel mit diesen Eigenschaften hinzu.
- Zurück zur Seite Subnetzdetails für das Subnetz.
- Klicken Sie in der Tabelle Sicherheitslisten des Subnetzes auf den Namen der Sicherheitsliste des Subnetzes, um die Seite Sicherheitslistendetails anzuzeigen.
- Klicken Sie im Seitenmenü unter Ressourcen auf Egress-Regeln.
- Prüfen Sie in der Tabelle der vorhandenen Ausgangsregeln, ob bereits eine Regel mit den folgenden Eigenschaften vorhanden ist:
- Zieltyp: CIDR
- Zielort: 0.0.0.0/0
- IP-Protokoll: TCP
- Quellportbereich: 443
- Ziel-Portbereich: Alle
Wenn keine derartige Regel vorhanden ist, klicken Sie auf Egress-Regeln hinzufügen, und fügen Sie eine Egress-Regel mit diesen Eigenschaften hinzu.
Die HTTP-Proxyeinstellungen in Ihrer Umgebung müssen es der Datenbank ermöglichen, auf den Cloud-Serviceprovider zuzugreifen.
Hinweis:
Die Netzwerkkonfiguration einschließlich des HTTP-Proxys kann nur bearbeitet werden, bis sich die Exadata-Infrastruktur im Status Aktivierung erforderlich befindet. Sobald sie aktiviert ist, können Sie diese Einstellungen nicht mehr bearbeiten.Für die Einrichtung eines HTTP-Proxys für eine bereits bereitgestellte Exadata-Infrastruktur ist eine Serviceanfrage (SR) in My Oracle Support erforderlich. Weitere Informationen finden Sie unter Serviceanfrage in My Oracle Support erstellen.
DBMS_CLOUD Unterprogramme für Zugriffsverwaltung
Die Unterprogramme für die Zugangsdatenverwaltung im Package DBMS_CLOUD, einschließlich Erstellen, Löschen und Aktualisieren von Zugangsdaten.
Unterprogramm | Beschreibung |
---|---|
Diese Prozedur speichert Zugangsdaten für Cloud-Services in Autonomous Database. | |
Diese Prozedur entfernt vorhandene Zugangsdaten aus Autonomous Database. | |
Diese Prozedur aktualisiert Zugangsdatenattribute für Cloud-Services in Autonomous Database. |
Prozedur CREATE_CREDENTIAL
Diese Prozedur speichert Zugangsdaten für Cloud-Services in Autonomous Database.
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 die Prozedur DBMS_CLOUD
mit dem 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 |
---|---|
|
Der Name der zu speichernden Zugangsdaten. Der Parameter |
|
Mit den Argumenten |
|
Mit den Argumenten |
|
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. |
|
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. |
|
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. |
|
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_credentials
abfragen. -
Der
ADMIN
-Benutzer kann alle Zugangsdaten anzeigen, indem er die Tabelledba_credentials
abfragt. -
Sie müssen Zugangsdaten nur einmal erstellen, es sei denn, Ihre Zugangsdaten für den Cloud-Service ändern sich. Nachdem Sie die Zugangsdaten gespeichert haben, können Sie denselben Zugangsdatennamen für
DBMS_CLOUD
-Prozeduren verwenden, für die eincredential_name
-Parameter erforderlich ist. -
Diese Prozedur ist überladen. Wenn Sie eines der schlüsselbasierten Authentifizierungsattribute
user_ocid
,tenancy_ocid
,private_key
oderfingerprint
angeben, wird davon ausgegangen, dass der Aufruf auf einem Oracle Cloud Infrastructure-Signaturschlüssel basierende Zugangsdaten verwendet. -
Sie können Zugangsdaten in der View
ALL_CREDENTIALS
auflisten. Beispiel: Führen Sie den folgenden Befehl aus, um Zugangsdaten anzuzeigen: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 von OCI Object Storage authentifizieren. Verwenden Sie für Aufrufe von anderen Typen von Oracle Cloud Infrastructure-Cloud-Services auf Basis von Oracle Cloud Infrastructure-Signaturschlüsselzugangsdaten.
Auf Oracle Cloud Infrastructure-Signaturschlüssel basierende Zugangsdaten
Verwenden Sie Oracle Cloud Infrastructure-Signaturschlüsselparameter 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-kompatible Zugangsdaten
Service | Zugangsdateninformationen |
---|---|
Google Cloud Storage |
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. |
Prozedur DROP_CREDENTIAL
Diese Prozedur entfernt vorhandene Zugangsdaten aus Autonomous Database.
Syntax
DBMS_CLOUD.DROP_CREDENTIAL
(
credential_name IN VARCHAR2);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der zu entfernenden Zugangsdaten. |
Prozedur UPDATE_CREDENTIAL
Diese Prozedur aktualisiert ein Attribut mit einem neuen Wert für einen angegebenen credential_name
.
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 |
---|---|
|
Der Name der zu aktualisierenden Zugangsdaten. |
|
Name des zu aktualisierenden Attributs. Für Zugangsdaten vom Typ "Benutzername"/"Kennwort" sind die gültigen Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL. |
|
Neuer Wert für das angegebene Attribut. |
Verwendungshinweise
-
Beim Wert für den Benutzernamen muss die Groß- und Kleinschreibung berücksichtigt werden. Er darf keine doppelten Anführungszeichen oder Leerzeichen enthalten.
-
Der
ADMIN
-Benutzer kann alle Zugangsdaten anzeigen, indem erdba_credentials
abfragt. -
Sie müssen Zugangsdaten nur einmal erstellen, es sei denn, Ihre Zugangsdaten für den Cloud-Service ändern sich. Nachdem Sie die Zugangsdaten gespeichert haben, können Sie denselben Zugangsdatennamen für
DBMS_CLOUD
-Prozeduren verwenden, für die eincredential_name
-Parameter erforderlich ist. -
Sie können Zugangsdaten in der View
ALL_CREDENTIALS
auflisten. Beispiel: Führen Sie den folgenden Befehl aus, um Zugangsdaten anzuzeigen: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;
/