Zugriff auf Oracle NoSQL Database Cloud Service-Tabellen verwalten

Erfahren Sie, wie Sie Policys schreiben und typische Policy-Anweisungen anzeigen, mit denen Sie möglicherweise den Zugriff auf Oracle NoSQL Database Cloud Service-Tabellen autorisieren.

Dieser Artikel enthält die folgenden Themen:

Auf NoSQL-Tabellen mandantenübergreifend zugreifen

In diesem Thema wird beschrieben, wie Sie Policys schreiben, die Ihrem Mandanten den Zugriff auf NoSQL-Tabellen in anderen Mandanten ermöglichen.

Wenn Sie mit Policys nicht vertraut sind, finden Sie weitere Informationen unter Erste Schritte mit Policys.

Mandantenübergreifende Policys

Möglicherweise möchte Ihre Organisation Ressourcen für eine andere Organisation freigeben, die einen eigenen Mandanten hat. Dabei kann es sich um eine andere Geschäftseinheit in Ihrem Unternehmen, einen Kunden Ihres Unternehmens, ein Unternehmen, das Services für Ihr Unternehmen bereitstellt, usw. handeln. In Fällen wie diesen benötigen Sie mandantenübergreifende Policys zusätzlich zu den zuvor beschriebenen erforderlichen Benutzer- und Service-Policys.

Um auf Ressourcen zuzugreifen und diese freizugeben, müssen die Administratoren beider Mandanten spezielle Policy-Anweisungen erstellen, die explizit angeben, auf welche Ressourcen zugegriffen werden kann und welche Ressourcen freigegeben werden können. Diese speziellen Anweisungen verwenden die Wörter Definieren, Endorse und Admit.

Anweisungen "Endorse", "Admit" und "Define"

Im Folgenden finden Sie einen Überblick über die speziellen Verben, die in mandantenübergreifenden Anweisungen verwendet werden:

Endorse: Gibt das allgemeine Set von Funktionen an, die eine Gruppe in Ihrem eigenen Mandanten in anderen Mandanten ausführen kann. Die Endorse-Anweisung gehört immer zum Mandanten, wobei die Benutzergruppe die Grenzen in den anderen Mandanten überschreitet, um mit den Ressourcen dieses Mandanten zu arbeiten. In den Beispielen wird dieser Mandant als Quelle bezeichnet.

Admit: Gibt die Art der Möglichkeiten in Ihrem eigenen Mandanten an, für die Sie einer Gruppe aus dem anderen Mandanten die Berechtigung erteilen möchten. Die Admit-Anweisung ist in dem Mandanten vorhanden, der den Zugriff auf den Mandanten gewährt. Die Admit-Anweisung identifiziert die Benutzergruppen, die Ressourcenzugriff vom Quellmandanten benötigt und mit einer entsprechenden Endorse-Anweisung identifiziert werden. In den Beispielen wird dieser Mandant als Ziel bezeichnet.

Definieren: Weist einer Mandanten-OCID für die Endorse- und Admit-Policy-Anweisungen ein Aliasnamen zu. Eine Define-Anweisung ist zudem im Zielmandanten erforderlich, um der Quell-IAM-Gruppen-OC-ID für Admit-Anweisungen einen Aliasnamen zuzuweisen.

Define-Anweisungen müssen in derselben Policy-Entity wie die Endorse- oder Admit-Anweisung enthalten sein. Die Endorse- und Admit-Anweisungen arbeiten zusammen. Die Anweisungen befinden sich jedoch in separaten Policys, eine in jedem Mandanten. Ohne eine entsprechende Anweisung, in der der Zugriff angegeben wird, erteilt eine bestimmte Endorse- oder Admit-Anweisung keinerlei Zugriff. Sie benötigen eine Vereinbarung aus beiden Mandanten.

Hinweis: Neben Policy-Anweisungen müssen Sie auch eine Region abonniert haben, um Ressourcen regionsübergreifend gemeinsam zu nutzen.

Policy-Anweisungen des Quellmandanten

Der Quelladministrator erstellt Policy-Anweisungen, die eine IAM-Quellgruppe zum Verwalten von Ressourcen im Zielmandanten berechtigtem.

Hinweis: Die mandantenübergreifenden Policys können auch mit anderen Policy-Themen geschrieben werden. Weitere Informationen zu Policy-Themen finden Sie unter Policy-Syntax in der Oracle Cloud Infrastructure-Dokumentation.

Im Folgenden finden Sie ein Beispiel einer allgemeinen Policy-Anweisung, mit der die NoSQLAdmins-Gruppe der IAM-Gruppe unterstützt wird, alle Aktionen mit allen NoSQL-Tabellen in einem beliebigen Mandanten auszuführen:

Endorse group NoSQLAdmins to manage nosql-family in any-tenancy

Um eine Policy zu schreiben, die den Geltungsbereich des Mandantenzugriffs reduziert, muss der Zieladministrator die Zielmandanten-OCID angeben. Im Folgenden finden Sie ein Beispiel für Policy-Anweisungen, mit denen die Gruppe "NoSQLAdmins" der IAM-Gruppe zur Verwaltung von NoSQL-Tabellen nur im Zielmandanten unterstützt wird:

Define tenancy DestinationTenancy as ocid1.tenancy.oc1..<destination_tenancy_OCID>
Endorse group NoSQLAdmins to manage nosql-family in tenancy DestinationTenancy

Policy-Anweisungen des Zielmandanten

Der Zieladministrator erstellt Policy-Anweisungen, die:

Im Folgenden finden Sie ein Beispiel für Policy-Anweisungen, mit denen die IAM-Gruppe NoSQLAdmins im Quellmandanten für alle NoSQL-Tabellen in Ihrem Mandanten unterstützt wird:

Define tenancy SourceTenancy as ocid1.tenancy.oc1..<source_tenancy_OCID>
Define group NoSQLAdmins as ocid1.group.oc1..<group_OCID>
Admit group NoSQLAdmins of tenancy SourceTenancy to manage nosql-family in tenancy

Im Folgenden finden Sie ein Beispiel für Policy-Anweisungen, mit denen die IAM-Gruppe NoSQLAdmins im Quellmandanten zur Verwaltung von NoSQL-Tabellen nur im Compartment "Develop" freigegeben wird:

Define tenancy SourceTenancy as ocid1.tenancy.oc1..<source_tenancy_OCID>
Define group NoSQLAdmins as ocid1.group.oc1..<group_OCID>
Admit group NoSQLAdmins of tenancy SourceTenancy to manage nosql-family in compartment Develop

Anderen Benutzern die Berechtigung zum Verwalten von NoSQL-Tabellen erteilt

Wenn Sie Ihre Bestellung für Oracle NoSQL Database Cloud Service aktivieren, gehören Sie (der erste Benutzer) standardmäßig zur Administratorengruppe. Mit der Mitgliedschaft in der Administratorengruppe erhalten Sie vollständige Administrationsberechtigungen in Oracle Cloud Infrastructure, sodass Sie Oracle NoSQL Database Cloud Service-Tabellen und vieles mehr verwalten können. Sie müssen diese Aufgabe nicht delegieren. Bei Bedarf können Sie jedoch anderen Benutzern mit der Berechtigung manage nosql-tables die Berechtigung zum Erstellen und Verwalten von "Oracle NoSQL Database Cloud Service-Tabellen" erteilen.

In Oracle Cloud Infrastructure verwenden Sie IAM-Sicherheits-Policys, um Berechtigungen zu erteilen. Zunächst müssen Sie den Benutzer einer Gruppe hinzufügen. Dann erstellen Sie eine Sicherheits-Policy, die der Gruppe die Berechtigung manage nosql-tables für ein bestimmtes Compartment oder für den Mandanten (einem beliebigen Compartment im Mandanten) erteilt. Beispiel: Ihre Policy-Anweisung könnte wie folgt aussehen:

allow group MyAdminGroup to manage nosql-tables in tenancy
allow group MyAdminGroup to manage nosql-tables in compartment MyOracleNoSQL

Informationen zum Erstellen von Sicherheits-Policy-Anweisungen speziell für Oracle NoSQL Database Cloud Service finden Sie unter Benutzer, Gruppen und Policys mit Identity and Access Management einrichten.

Typische Policy-Anweisungen zur Verwaltung von Tabellen

Hier finden Sie typische Policy-Anweisungen, mit denen Sie den Zugriff auf Oracle NoSQL Database Cloud Service-Tabellen autorisieren können.

Wenn Sie eine Policy für den Mandanten erstellen, erteilen Sie Benutzern durch Vererbung der Policy Zugriff auf alle Compartments. Alternativ können Sie den Zugriff auf einzelne Oracle NoSQL Database Cloud Service-Tabellen oder -Compartments einschränken.

Beispiel - So erlauben Sie den Gruppenadministratoren die vollständige Verwaltung aller Oracle NoSQL Database Cloud Service-Tabellen

allow group Administrators to manage nosql-tables in tenancy
allow group Administrators to manage nosql-rows in tenancy
allow group Administrators to manage nosql-indexes in tenancy

Beispiel - Um Gruppenadministratoren die Ausführung beliebiger Aktionen für NoSQL-Tabellen im Compartment Dev zu erlauben, verwenden Sie den Ressourcentyp "family".

allow group Admins to manage nosql-family in compartment Dev

Beispiel - So erlauben Sie Group Analytics die Ausführung schreibgeschützter Vorgänge für NoSQL-Tabellen im Compartment Dev

allow group Analytics to read nosql-rows in compartment Dev

Beispiel - So erlauben Sie nur dem Benutzer Joe in Developer das Erstellen, Abrufen und Löschen von Indizes für NoSQL-Tabellen im Compartment Dev

allow group Developer to manage nosql-indexes in compartment Dev
where request.user.id = '<OCID of Joe>'

Beispiel - So erlauben Sie den Gruppenadministratoren das Erstellen, Löschen und Verschieben von NoSQL-Tabellen, aber nicht die Änderung von NoSQL-Tabellen im Compartment "Dev".

allow group Admins to manage nosql-tables in compartment Dev
where any {request.permission = 'NOSQL_TABLE_CREATE',
           request.permission = 'NOSQL_TABLE_DROP',
           request.permission = 'NOSQL_TABLE_MOVE'}

Beispiel - So erlauben Sie dem Gruppenentwickler das Lesen, Aktualisieren und Löschen von Zeilen der Tabelle "customer" im Compartment "Dev", aber nicht von anderen.

allow group Developer to manage nosql-rows in compartment Dev
where target.nosql-table.name = 'customer'

Verwandte Themen