Rollenbasierte Zugriffskontrolle automatisch mit einem Skript einrichten
Konfigurieren Sie die Rollenbasierte Zugriffskontrolle (RBAC) für die IAM-Authentifizierung automatisch mit einem Skript in Oracle Cloud Infrastructure.
Sie können das Skript in Cloud Shell ausführen, um IAM-Verbindungsdateien schnell zu generieren. Dieser Automatisierungsprozess reduziert den Zeitaufwand für die Ausführung der detaillierten RBAC-Konfiguration erheblich. Nachdem ein Admin-Benutzer die Datei Verbindungen generiert hat, kann sie unternehmensweit verwendet werden, um die Anmeldung bei der Datenbank über Tabellen-Add-ins zuzulassen.
Im folgenden Abschnitt wird beschrieben, wie Sie:
-
Datei Verbindungen mit Skript generieren
-
Datei Verbindungen herunterladen
-
Zugriff für Domainbenutzer zulassen
Voraussetzungen
Um das Skript für die RBAC-Konfiguration verwenden zu können, benötigen Sie:
-
Ein Admin-Account in Oracle Cloud Infrastructure
-
Eine IAM-Domain
-
Eine Autonomous AI Database-Instanz und ein Schema
Datei für Verbindungen mit Skript generieren
Hinweis:
Obwohl das Skript die Konfigurationsaufgaben automatisch ausführt, handelt es sich um ein interaktives Skript, das Benutzereingaben erfordert, um fortzufahren.
Melden Sie sich bei der Oracle Cloud Infrastructure-Konsole an, falls noch nicht angemeldet, und führen Sie die folgenden Schritte aus.
-
Öffnen Sie Cloud Shell über das Symbol "Entwicklertools" neben der Region, und führen Sie die Skriptdatei im Terminalfenster aus.
adb-create-cred.sh -
Das Skript ermittelt, ob Ihr Oracle-Cloud-Account über einen vorhandenen API-Schlüssel und Fingerprint verfügt. Wird kein Schlüsselpaar gefunden, erstellt das Skript ein Schlüsselpaar für Sie.
You have an existing API Key and Fingerprint! Do you want to try to reuse them? (y/n): yDrücken Sie y, um die vorhandenen Tasten wiederzuverwenden. Das Skript erstellt Ihre nativen Zugangsdaten in SQL- und JSON-Dateien. Wenn Sie ein neues API-Schlüsselpaar generieren möchten, drücken Sie n.
-
Das Skript bietet an, ein AI-Profil für Ihre Datenbank zu generieren.
Proceed to generate the AI Profile script? (y/n): nDrücken Sie in diesem Beispiel n, um ohne AI-Profil fortzufahren.
-
IAM-Verbindungen für Tabellen-Add-ins generieren.
Proceed to generate the Spreadsheet add-ins IAM connection? (y/n): yDrücken Sie y, um fortzufahren.
-
Wählen Sie die Domain mit den Benutzern aus, die eine Verbindung zur Datenbankinstanz zulassen möchten. Geben Sie die entsprechende Nummer in den verfügbaren Domains ein.
Select a domain (1-3):Das Skript erstellt Folgendes:-
Ein benutzerdefiniertes Attribut des Benutzers namens Spreadsheet Add-ins RBAC
-
Eine integrierte Domainanwendung mit dem Namen Tabellen-Add-ins
-
Ein benutzerdefinierter JWT-Anspruch
Das Skript generiert auch ein PL/SQL-Skript,
create_jwt_profile.sql, das JWT-Profilinformationen enthält.Hinweis:
Sie können vorhandene Benutzerattribute und benutzerdefinierte Ansprüche wiederverwenden oder mit dem Skript neue erstellen. Wenn bereits eine integrierte Anwendung vorhanden ist, können Sie eine neue erstellen, aber alle alten Verbindungen, die von der Anwendung verwendet werden, werden ungültig.
-
-
Führen Sie das Zugangsdatenskript für das erforderliche Schema in Ihrer Autonomous AI Database aus.
Proceed to run the Credential Scripts on your Autonomous Database? (y/n): yKlicken Sie auf y, um fortzufahren.
-
Wählen Sie das Compartment und die Datenbank aus, in der sich das Schema befindet.
Select the number pertaining to your Compartment: ... Select the number pertaining to your Autonomous Database: -
Sie können ein vorhandenes Cloud Wallet verwenden oder bei Bedarf ein neues Wallet erstellen. Wenn das Skript ein vorhandenes Cloud Wallet erkennt, wird gefragt, ob Sie es wiederverwenden möchten.
You have an existing Wallet File for [DB_NAME]. Do you want to reuse it? (y/n):Wenn kein Wallet vorhanden ist, können Sie ein neues Wallet einrichten.
-
Geben Sie die Anmeldedaten für das Schema an, für das RBAC eine Verbindung herstellen soll.
Enter Autonomous Database username (ADMIN): Enter Autonomous Database password:Das Skript führt die SQL-Datei mit den zuvor erstellten JWT-Profilinformationen aus und generiert eine IAM-Verbindungsdatei im JSON-Format in Ihrem Home-Ordner.Spreadsheet connection file: [$HOME/iam_connection_[DB_NAME]_[schema].json] created.Hinweis:
Sie können den Dateinamen Verbindungen ohne den Teil
$HOME/kopieren und beim Herunterladen der Datei denselben Namen verwenden. Wenn das Skript noch ausgeführt wird, wird das Skript möglicherweise mit Strg+C gestoppt, oder es wird unterbrochen. -
Schließlich fordert das Skript auf, die Schritte zu wiederholen und die Datei Verbindungen für eine andere Datenbank zu erstellen oder das Skript zu beenden. Auf diese Weise können Sie den Domainbenutzerzugriff für mehrere Schemas einrichten.
Verbindungsdatei herunterladen
-
Klicken Sie im Cloud Shell-Fenster auf das Zahnradsymbol, um das Cloud Shell-Menü zu öffnen, und klicken Sie auf Herunterladen.
-
Sie können denselben Dateinamen einfügen, der zuvor kopiert wurde, oder einen neuen Namen für die Datei Verbindungen im JSON-Format angeben.
-
Klicken Sie im Nachrichtenfenster auf Herunterladen, um die Datei Verbindungen herunterzuladen.
Sie können die Datei Verbindungen unter Tabellen-Add-ins verwenden, um eine Verbindung zu Ihrer Datenbank herzustellen und diese mit anderen Benutzern zu teilen.
Zugriff für Domainbenutzer zulassen
Melden Sie sich bei der Oracle Cloud Infrastructure-Konsole an, falls noch nicht angemeldet, und führen Sie die folgenden Schritte aus.
-
Klicken Sie auf das Hamburger-Menü, und gehen Sie zu Identität und Sicherheit, und wählen Sie Domains aus.
-
Klicken Sie unter Name auf die Domain, für die Sie die Datei Verbindungen erstellt haben, z.B. Standard.
-
Gehen Sie zur Registerkarte Benutzerverwaltung, und klicken Sie auf den Benutzernamen, für den Sie Zugriff gewähren möchten.
-
Klicken Sie auf Benutzer bearbeiten, um Benutzerinformationen zu ändern.
-
Scrollen Sie nach unten zum Abschnitt Weitere Informationen. Geben Sie im Feld Spreadsheet add-ins RBAC den Wert
SQL Developerein. -
Klicken Sie auf Änderungen speichern, um die Rolle dem Benutzer hinzuzufügen.
Ab ORDS 26.2 sind ORDS-Rollen standardmäßig deaktiviert. Um eine ORDS-Rolle verwenden zu können, müssen Sie die Rolle aktivieren. Beispiel:
BEGIN
ords.set_property(
p_key => 'security.jwt.profile.allowed.roles',
p_value => 'SQL Developer'
);
COMMIT;
END;
/
Weitere Informationen zu ORDS-Benutzerrollen finden Sie unter Oracle REST Data Services-Benutzerrollen.
Übergeordnetes Thema: Rollenbasierte Zugriffskontrolle für IAM-Authentifizierung verwenden