リソース・プリンシパル

DBシステムでは、リソース・プリンシパルを使用して、他のOracle Cloud Infrastructureリソースを認証し、これにアクセスできます。リソース・プリンシパルを使用するには、ユーザーまたはテナンシ管理者が、Oracle Cloud Infrastructureポリシー、およびプリンシパルがOracle Cloud Infrastructureリソースにアクセスできる動的グループを定義する必要があります。

リソース・プリンシパルは、次のHeatWaveサービス機能で使用されます。

  • 独自の証明書の持込み: DBシステムは、Oracle Cloud Infrastructure (OCI)証明書サービスで定義された証明書を読み取ることができます。
  • ネットワーク・セキュリティ・グループ: 1つ以上のネットワーク・セキュリティ・グループで指定されたネットワーク・セキュリティ・ルールを使用するために、DBシステムまたは読取りレプリカを使用できます。
  • HeatWave Lakehouse: DBシステムでオブジェクト・ストレージからデータを読み取ることができます。
  • オブジェクト・ストレージへの問合せ結果のエクスポート: HeatWaveサービスによる問合せ結果のオブジェクト・ストレージへのエクスポートを許可します。
  • OCI生成AIサービスへのアクセス: HeatWave GenAIは、OCI生成AIサービスで使用可能な事前トレーニング済基礎モデルを使用できます。

リソース・プリンシパルには、次の2つのコンポーネントがあります。

動的グループ

動的グループを使用すると、ユーザー・グループと同様に、HeatWaveサービスDBシステムをプリンシパル・アクターとしてグループ化できます。

その後、動的グループ内のDBシステムが、証明書やオブジェクト・ストレージなどのOracle Cloud Infrastructureサービスに対してAPIコールを実行できるようにするポリシーを作成できます。グループ内のメンバーシップは、一致ルールと呼ばれる、ユーザーが定義する基準のセットによって決定されます。

次の例は、定義されたコンパートメント内のすべてのDBシステムを含む一致ルールを示しています:
"ALL{resource.type='mysqldbsystem', resource.compartment.id = 'ocid1.compartment.oc1..alphanumericString'}"

詳細は、動的グループを定義するための一致ルールの作成を参照してください。

動的グループには、名前、説明および照合ルールが必要です。「動的グループの作成」を参照してください。

ポリシー

ポリシーは、グループまたは動的グループが実行できる操作と実行できない操作を定義します。

証明書持込みのポリシーの定義

DBシステムが証明書サービスから証明書にアクセスするには、動的グループが証明書を読み取ることを許可するポリシーを定義する必要があります。

たとえば、次のポリシーは、コンパートメントC8のセキュリティ証明書を読み取るために動的グループMYSQL_DGを付与します:
Allow dynamic-group MYSQL_DG to read leaf-certificate-family in compartment C8

ネットワーク・セキュリティ・グループのポリシーの定義

DBシステムにネットワーク・セキュリティ・グループを追加したり、レプリカを読み取るには、動的グループが次の権限を使用できるようにするポリシーを定義する必要があります。
  • ネットワーク・セキュリティ・グループを含むコンパートメントのNETWORK_SECURITY_GROUP_UPDATE_MEMBERS
  • DBシステムのサブネットのコンパートメント内のVNIC_CREATEVNIC_UPDATEVNIC_ASSOCIATE_NETWORK_SECURITY_GROUPVNIC_DISASSOCIATE_NETWORK_SECURITY_GROUPVNIC_ASSOCIATE_NETWORK_SECURITY_GROUP
たとえば、次のポリシーは、コンパートメントC8のネットワーク・セキュリティ・グループをコンパートメントC9内のDBシステムのサブネットとともに使用するために必要な権限に、動的グループMYSQL_DGを付与します:
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
または、動的グループを使用せずにプリンシパルを組み込む次のポリシーを作成できます。
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'}

HeatWave Lakehouseのポリシーの定義

HeatWave Lakehouseがオブジェクト・ストレージにアクセスするには、動的グループがバケットとそのコンテンツにアクセスできるようにするポリシーを定義する必要があります。

たとえば、次のポリシーは、動的グループMYSQL_DGに、コンパートメントC8内のバケットおよびバケットに含まれるオブジェクトへの読取り専用アクセス権を付与します:
Allow dynamic-group MYSQL_DG to read buckets in compartment C8
Allow dynamic-group MYSQL_DG to read objects in compartment C8

問合せ結果をオブジェクト・ストレージにエクスポートするポリシーの定義

HeatWaveが問合せ結果をオブジェクト・ストレージにエクスポートできるようにするには、バケット内のオブジェクトを作成および削除する権限を動的グループに付与する必要があります。

たとえば、次のポリシーは、動的グループMYSQL_DGに、コンパートメントC8内の任意のバケット内のオブジェクトを作成、検査および削除する権限を付与します:
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'}
権限を特定のバケットに制限できます。次のポリシーは、動的グループMYSQL_DGに、コンパートメントC8BucketAバケット内のオブジェクトを作成、検査および削除する権限を付与します:
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'} }

OCI生成AIサービスにアクセスするためのポリシーの定義

HeatWave GenAIでOCI生成AIで使用可能な事前トレーニング済基礎モデルを使用するには、動的グループがOCI生成AIサービスにアクセスできるようにするポリシーを定義する必要があります。

たとえば、次のポリシーは、コンパートメントC8のOCI生成AIサービスにアクセスするための動的グループMYSQL_DGを付与します:
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
ノート

OCI生成AIの使用は、選択したコンパートメントで測定および請求されます。
詳細は、動的グループに対するポリシーの作成を参照してください。