Resource Principals
DB-Systeme können Resource Principals zur Authentifizierung und zum Zugriff auf andere Oracle Cloud Infrastructure-Ressourcen verwenden. Um Resource Principals verwenden zu können, müssen Sie oder der Mandantenadministrator die Oracle Cloud Infrastructure-Policys und dynamischen Gruppen definieren, mit denen Principals auf Oracle Cloud Infrastructure-Ressourcen zugreifen können.
Resource Principal wird in den folgenden MySQL HeatWave Service-Features verwendet:
- Eigenes Zertifikat bereithalten: Ermöglicht DB-Systemen das Lesen der in Oracle Cloud Infrastructure (OCI) Certificates Service definierten Zertifikate.
- Netzwerksicherheitsgruppen: Damit können DB-Systeme oder Lesereplikate Netzwerksicherheitsregeln verwenden, die in mindestens einer Netzwerksicherheitsgruppe angegeben sind.
- MySQL HeatWave Lakehouse: Ermöglicht es DB-Systemen, Daten aus Object Storage zu lesen.
- Abfrageergebnisse in Object Storage exportieren: Ermöglicht es MySQL HeatWave Service, Abfrageergebnisse in Object Storage zu exportieren.
- Auf OCI Generative AI Service zugreifen: Ermöglicht MySQL HeatWave GenAI, alle im OCI Generative AI Service verfügbaren vortrainierten Basismodelle zu verwenden.
Resource Principals bestehen aus zwei Komponenten:
Dynamische Gruppen
Mit dynamischen Gruppen können Sie MySQL HeatWave Service-DB-Systeme wie Benutzergruppen als Hauptakteure gruppieren.
Sie können dann Policys erstellen, mit denen DB-Systeme in den dynamischen Gruppen API-Aufrufe für Oracle Cloud Infrastructure-Services wie Zertifikate oder Object Storage ausführen können. Die Mitgliedschaft in der Gruppe wird durch eine Gruppe von definierten Kriterien bestimmt, die als Vergleichsregeln bezeichnet werden.
"ALL{resource.type='mysqldbsystem', resource.compartment.id = 'ocid1.compartment.oc1..alphanumericString'}"
Weitere Informationen finden Sie unter Abgleichsregeln zum Definieren dynamischer Gruppen schreiben.
Dynamische Gruppen erfordern einen Namen, eine Beschreibung und eine Übereinstimmungsregel. Siehe Dynamische Gruppen erstellen.
Policys
Policys definieren, was Ihre Gruppen oder dynamischen Gruppen tun können und was nicht.
Policy für Bring Your Own Certificate definieren
Damit DB-Systeme über den Certificates-Service auf Zertifikate zugreifen können, müssen Sie eine Policy definieren, mit der die dynamische Gruppe die Zertifikate lesen kann.
Allow dynamic-group MYSQL_DG to read leaf-certificate-family in compartment C8
Policy für Netzwerksicherheitsgruppen definieren
NETWORK_SECURITY_GROUP_UPDATE_MEMBERS
im Compartment mit den NetzwerksicherheitsgruppenVNIC_CREATE
,VNIC_UPDATE
,VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP
,VNIC_DISASSOCIATE_NETWORK_SECURITY_GROUP
,VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP
im Compartment des Subnetzes des DB-Systems.
Allow dynamic-group MYSQL_DG to {NETWORK_SECURITY_GROUP_UPDATE_MEMBERS}
in compartment C8
Allow dynamic-group MYSQL_DG to {VNIC_CREATE, VNIC_UPDATE, VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP,
VNIC_DISASSOCIATE_NETWORK_SECURITY_GROUP} in compartment C9
Alternativ können Sie die folgenden Policys erstellen, die Principals enthalten, ohne eine dynamische Gruppe zu verwenden:Allow any-user to {NETWORK_SECURITY_GROUP_UPDATE_MEMBERS} in compartment C8 where all
{request.principal.type='mysqldbsystem', request.resource.compartment.id='ocid1.compartment.oc1..alphanumericString'}
Allow any-user to {VNIC_CREATE, VNIC_UPDATE, VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP,
VNIC_DISASSOCIATE_NETWORK_SECURITY_GROUP} in compartment C9 where all
{request.principal.type='mysqldbsystem', request.resource.compartment.id='ocid1.compartment.oc1..alphanumericString'}
Policy für MySQL HeatWave Lakehouse definieren
Damit MySQL HeatWave Lakehouse auf Object Storage zugreifen kann, müssen Sie eine Policy definieren, mit der die dynamische Gruppe auf Buckets und deren Inhalt zugreifen kann.
Allow dynamic-group MYSQL_DG to read buckets in compartment C8
Allow dynamic-group MYSQL_DG to read objects in compartment C8
Policy zum Exportieren von Abfrageergebnissen in Object Storage definieren
Damit MySQL HeatWave Service Abfrageergebnisse in Object Storage exportieren kann, muss die Policy Berechtigungen zum Erstellen und Löschen von Objekten im Bucket für die dynamische Gruppe erteilen.
Allow dynamic-group MYSQL_DG to read buckets in compartment C8
Allow dynamic-group MYSQL_DG to manage objects in compartment C8 where
any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT',
request.permission='OBJECT_DELETE'}
Sie können die Berechtigungen auf einen bestimmten Bucket beschränken. Die folgende Policy erteilt der dynamischen Gruppe MYSQL_DG Berechtigungen zum Erstellen, Prüfen und Löschen von Objekten im Bucket BucketA in Compartment C8:Allow dynamic-group MYSQL_DG to read buckets in compartment C8
Allow dynamic-group MYSQL_DG to manage objects in compartment C8 where
all {target.bucket.name='BucketA',
any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT',
request.permission='OBJECT_DELETE'} }
Policy für den Zugriff auf den OCI Generative AI-Service definieren
Damit MySQL HeatWave GenAI alle vortrainierten Basismodelle verwenden kann, die in OCI Generative AI verfügbar sind, müssen Sie eine Policy definieren, mit der die dynamische Gruppe auf den OCI Generative AI-Service zugreifen kann.
Allow dynamic-group MYSQL_DG to use generative-ai-chat in compartment C8
Allow dynamic-group MYSQL_DG to use generative-ai-text-embedding in compartment C8
Die Nutzung von OCI Generative AI wird im ausgewählten Compartment gemessen und abgerechnet.