Zugriff auf Oracle NoSQL Database Cloud Service-Tabellen verwalten

Erfahren Sie mehr über das Schreiben von Policys und das Anzeigen typischer Policy-Anweisungen, mit denen Sie den Zugriff auf Oracle NoSQL Database Cloud Service-Tabellen autorisieren können.

Dieser Artikel enthält die folgenden Themen:

Auf NoSQL-Tabellen mandantenübergreifend zugreifen

In diesem Thema wird beschrieben, wie Sie Policys schreiben, mit denen Ihr Mandanten auf NoSQL-Tabellen in anderen Mandanten zugreifen kann.

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. Es kann 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.

Für den Zugriff auf und das Freigeben von Ressourcen müssen die Administratoren beider Mandanten spezielle Policy-Anweisungen erstellen, die explizit angeben, auf welche Ressourcen zugegriffen werden kann. Diese speziellen Anweisungen verwenden die Wörter Definieren, Entsprechen und Aufnehmen.

Anweisungen "Endorse", "Admit and Define"

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

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 Gruppe von Benutzern die Grenzen des anderen Mandanten überschreitet, um mit den Ressourcen dieses Mandanten zu arbeiten. In den Beispielen nennen Sie diesen Mandanten als Quelle.

Admit: Gibt die Art der Aktionen in Ihrem eigenen Mandanten an, für die Sie einer Gruppe aus dem anderen Mandanten die Berechtigung erteilen möchten. Die Admit-Anweisung befindet sich in dem Mandanten, der den Zugriff auf den Mandanten gewährt. Die Admit-Anweisung identifiziert die Benutzergruppe, die Zugriff auf Ressourcen vom Quellmandanten benötigt und mit einer entsprechenden Endorse-Anweisung identifiziert wird. In den Beispielen werden diese Mandanten als Ziele bezeichnet.

Define: Weisen Sie einer Mandanten-OCID für die Anweisungen zur Freigabe und Zulassung einen Aliasnamen zu. Eine "Definieren"-Anweisung ist außerdem erforderlich, um der Quell-IAM-Gruppen-OCID 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. Sie befinden sich jedoch in separaten Policys, eine in jedem Mandanten. Ohne eine entsprechende Anweisung, die den Zugriff angibt, 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 nutzen zu können.

Policy-Anweisungen des Quellmandanten

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

Hinweis:

Die mandantenübergreifenden Policys können auch mit anderen Policy Subjects geschrieben werden. Weitere Informationen zu Policy-Themen finden Sie unter Policy-Syntax in der Oracle Cloud Infrastructure-Dokumentation.
Im Folgenden finden Sie ein Beispiel für eine umfassende Policy-Anweisung, mit der die IAM-Gruppe NoSQLAdmins alle Aktionen mit allen NoSQL-Tabellen in einem beliebigen Mandanten ausführen kann:
Endorse group NoSQLAdmins to manage nosql-family in any-tenancy
Um eine Policy zum Reduzieren des Geltungsbereichs des Mandantenzugriffs zu schreiben, muss der Zieladministrator die Zielmandanten-OCID angeben. Im Folgenden finden Sie ein Beispiel für Policy-Anweisungen, die der IAM-Gruppe NoSQLAdmins zustimmen, um nur NoSQL-Tabellen in DestinationTenancy zu verwalten:
Define tenancy DestinationTenancy as ocid1.tenancy.oc1..<destination_tenancy_OCID>
Endorse group NoSQLAdmins to manage nosql-family in tenancy DestinationTenancy

Policy-Anweisungen des Mandanten

Der Zieladministrator erstellt Policy-Anweisungen, die:
  • Definiert den Quellmandanten und die IAM-Gruppe, die berechtigt ist, auf Ressourcen in Ihrem Mandanten zuzugreifen, als IAM-Gruppe. Der Quelladministrator muss diese Informationen angeben.
  • Diese definierten Quellen können auf NoSQL-Tabellen zugreifen, auf die Sie in Ihrem Mandanten Zugriff gewähren möchten.
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, die die IAM-Gruppe NoSQLAdmins im Quellmandanten unterstützen, um NoSQL-Tabellen nur im Compartment "Develop" zu verwalten:
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

einem anderen Benutzer die Berechtigung zum Verwalten von NoSQL-Tabellen erteilen

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

In Oracle Cloud Infrastructure verwenden Sie IAM-Sicherheits-Policys, um Berechtigungen zu erteilen. Zuerst 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 (d.h. für alle Compartments im Mandanten) erteilt. Beispiel: Eine 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

Wenn Sie erfahren möchten, wie Sie Sicherheits-Policy-Anweisungen speziell für Oracle NoSQL Database Cloud Service erstellen, wird auf Benutzer, Gruppen und Policys mit Identity and Access Management einrichten verwiesen.

Typische Policy-Anweisungen zur Verwaltung von Tabellen

Here are typical policy statements that you might use to authorize access to Oracle NoSQL Database Cloud Service tables.

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 - Damit die Gruppe "Admins" eine beliebige Oracle NoSQL Database Cloud Service-Tabelle vollständig verwalten kann

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 - Damit die Gruppe "Admins" alle Vorgänge für NoSQL-Tabellen im Compartment "Dev" ausführen kann, verwenden Sie den Typ der Familienressource.

allow group Admins to manage nosql-family in compartment Dev

Beispiel - So erlauben Sie der Gruppe 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 - Damit nur Joe in Developer Indizes für NoSQL-Tabellen im Compartment Dev erstellen, abrufen und löschen kann

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

Beispiel - Damit die Gruppe "Admins" nur NoSQL-Tabellen erstellen, löschen und verschieben, aber nicht im Compartment "Dev" ändern kann

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 - Damit die Gruppe "Developer" Zeilen der Tabelle "customer", aber keine anderen Tabellen im Compartment "Dev" lesen, aktualisieren und löschen kann.

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