データ・フロー・ポリシー

データ・フローへのアクセス権を持つユーザー、およびユーザーの各グループのアクセス権のタイプを制御するには、ポリシーを作成する必要があります。

デフォルトでは、Administratorsグループのユーザーのみが、すべてのデータ・フロー・リソースにアクセスできます。データ・フローに関わる他のすべてのユーザーに対して、データ・フロー・リソースに対する適切な権限を割り当てるポリシーを設定する必要があります。

Oracle Cloud Infrastructureポリシーの完全なリストは、ポリシー・リファレンスを参照してください。

リソース・タイプ

データ・フローには、ポリシーを作成するための集約と個々の両方のリソース・タイプが用意されています。

集約リソース・タイプを使用すると、作成するポリシーの数を減らすことができます。たとえば、グループでdataflow-applicationdataflow-runを管理できるかわりに、グループで集約リソース・タイプdataflow-familyを管理できるポリシーを設定できます。

集約リソース・タイプ 個々のリソースタイプ
dataflow-family

dataflow-application

dataflow-run

dataflow-cluster

dataflow-role

dataflow-pool

dataflow-sqlendpoint

dataflow-sqlendpoint-role

サポートされている変数

条件をポリシーに追加するには、Oracle Cloud Infrastructureの一般変数またはサービス固有変数を使用できます。

このリソース・タイプの操作...

使用できる変数...

変数タイプ

コメント

dataflow-application

target.application.id

エンティティ(OCID)

CreateApplicationとともに使用できません。

dataflow-run

target.run.id

エンティティ(OCID)

CreateRunとともに使用できません。

target.user.id

エンティティ(OCID)

実行を作成したユーザーにその実行に対する権限を付与します。たとえば、そのユーザーに実行の取消しを許可します。

dataflow-cluster

target.cluster.id

dataflow-role

dataflow-pool

target.pool.id

CreatePoolでは使用できません。

dataflow-sqlendpoint

target.dataflow-sqlendpoint.id

エンティティ(OCID)

指定したグループにSQLエンドポイントの使用を許可します。

target.user.id

エンティティ(OCID)

SQLエンドポイントを作成したユーザーに、そのための権限を付与します。

SQLエンドポイントを作成したユーザーに、そのSQLエンドポイントに対する権限を付与します。たとえば、そのユーザーがSQLエンドポイントを使用できるようにします。

例:

allow group <group_name> to use dataflow-application in compartment <compartment_name> where target.application.id = '<some_application_OCID>'
allow group <group_name> to manage dataflow-run in in compartment Ccompartment_name> where target.run.id != '<some_run_id>'
allow group <group_name> to manage dataflow-run in <tenancy> where target.user.id = request.user.id

最後の例は、実行を作成したユーザーがその実行を管理できる唯一のユーザーであることを示しています。つまり、その実行を更新、移動または取り消すことができるのはそのユーザーのみです。

SQLエンドポイントの例:
allow group <group_name> to use dataflow-sqlendpoint in compartment <compartment_name> where target.dataflow-sqlendpoint.id = '<sql-endpoint-ocid>'
allow group <group_name> to use dataflow-sqlendpoint where request.permission=DATAFLOW_SQL_ENDPOINT_CONNECT
allow group <group_name> to use dataflow-sqlendpoint where target.user.id = request.user.id

動詞とリソース・タイプの組合せの詳細

次の表に、データ・フローの各動詞でカバーされている権限およびAPI操作を示します。アクセス・レベルは、inspect > read > use > manageの順に累積されます。表セル内のプラス記号(+)は、その上のセルと比較してアクセスが増分されることを示しますが、「プラスなし」はアクセスが増分されないことを示します。

dataflow-application
動詞 権限 完全に対応しているAPI 部分的に対応しているAPI

調査

DATAFLOW_APPLICATION_INSPECT

ListApplications

なし

読取り

調査+

DATAFLOW_APPLICATION_READ

調査+

GetApplication

なし

使用

読取り+

DATAFLOW_APPLICATION_UPDATE

読取り+

UpdateApplication

なし

管理

USE +

DATAFLOW_APPLICATION_CREATE、

DATAFLOW_APPLICATION_DELETE

USE +

CreateApplication

DeleteApplication

なし

dataflow-run
動詞 権限 完全に対応しているAPI 部分的に対応しているAPI

調査

DATAFLOW_RUN_INSPECT

ListRuns

ListRunLogs

なし

読取り

調査+

DATAFLOW_RUN_READ

調査+

GetRun

GetRunLog

GetLogsUIToken

GetSparkUIToken

なし

使用

読取り+

DATAFLOW_RUN_UPDATE

読取り+

UpdateRun

なし

管理

USE+

DATAFLOW_RUN_CREATE、

DATAFLOW_RUN_DELETE

USE+

CreateRun

CancelRun

なし

dataflow-roles
動詞 権限 完全に対応しているAPI 部分的に対応しているAPI

調査

DATAFLOW_POOL_INSPECT

ListPool

なし

読取り

調査+

DATAFLOW_POOL_READ

調査+

GetPool

なし

使用

読取り+

DATAFLOW_POOL_UPDATE

読取り+

UpdatePool

なし

管理

USE+

DATAFLOW_POOL_CREATE

DATAFLOW_POOL_DELETE

DATAFLOW_POOL_MOVE

USE+

CreatePool

DeletePool

MovePool

なし

dataflow-sqlエンドポイント
動詞 権限 完全に対応しているAPI 部分的に対応しているAPI

調査

データフロー-SQLENDPOINT_INSPECT

ListSqlEndpoint

なし

読取り

調査+

データフロー-SQLENDPOINT_READ

調査+

GetSqlEndpoint

なし

使用

読取り+

データフロー-SQLENDPOINT_UPDATE

読取り+

UpdateSqlEndpoint

なし

管理

USE+

データフロー-SQLENDPOINT_CREATE

データフロー-SQLENDPOINT_DELETE

データフロー-SQLENDPOINT_MOVE

データフロー-SQLENDPOINT_UPDATE

USE+

CreateSqlEndpoint

DeleteSqlEndpoint

ChangeSQLEndpointCompartment

UpdateSqlEndpoint

なし

ノート

集約dataflow-familyリソース・タイプでカバーされているAPIは、dataflow-applicationおよびdataflow-runのAPIをカバーしています。たとえば、allow group dataflow-admins to manage dataflow-family in compartment xは、次の2つのポリシーを記述することと同じです:
allow group dataflow-admins to manage dataflow-application in compartment x
allow group dataflow-admins to manage dataflow-run in compartment x

各API操作に必要な権限

次の表に、論理的な順序で、リソース・タイプ別にグループ化してAPI操作を示します。リソース・タイプは、dataflow-applicationおよびdataflow-runです。

権限の詳細は、権限を参照してください。

API操作

操作の使用に必要な権限

ListApplications

DATAFLOW_APPLICATION_INSPECT

GetApplication

DATAFLOW_APPLICATION_READ

UpdateApplication

DATAFLOW_APPLICATION_UPDATE

CreateApplication

DATAFLOW_APPLICATION_CREATE

DeleteApplication

DATAFLOW_APPLICATION_DELETE

ListRuns

DATAFLOW_RUN_INSPECT

GetRun

DATAFLOW_RUN_READ

CreateRun

DATAFLOW_RUN_CREATE

UpdateRun

DATAFLOW_RUN_UPDATE

CancelRun

DATAFLOW_RUN_DELETE

ListRunLogs

DATAFLOW_RUN_INSPECT

GetRunLog

DATAFLOW_RUN_READ

GetLogsUIToken

DATAFLOW_RUN_READ

GetSparkUIToken

DATAFLOW_RUN_READ

CreatePool

DATAFLOW_POOL_CREATE

StartPool

DATAFLOW_POOL_CREATE

StopPool

DATAFLOW_POOL_CREATE

ListPools

DATAFLOW_POOL_INSPECT

GetPool

DATAFLOW_POOL_READ

UpdatePool

DATAFLOW_POOL_UPDATE

DeletePool

DATAFLOW_POOL_DELETE

MovePool

DATAFLOW_POOL_MOVE

CreateSqlEndpoint

データフロー-SQLENDPOINT_CREATE

GetSqlEndpoint

データフロー-SQLENDPOINT_READ

DeleteSqlEndpoint

データフロー-SQLENDPOINT_DELETE

ListSqlEndpoint

データフロー-SQLENDPOINT_INSPECT

SqlEndpointConnect

データフロー-SQLENDPOINT_CONNECT

ChangeSqlEndpointCompartment

データフロー-SQLENDPOINT_MOVE