ポリシー
データ・サイエンスへのアクセス権を持つユーザー、およびユーザーの各グループのアクセス権のタイプを管理するには、ポリシーを作成する必要があります。
データ・サイエンス・リソースをモニターするには、ポリシーで必要なアクセス権が付与されている必要があります。これは、コンソールを使用しているか、REST APIとSDK、CLIまたはその他のツールを使用しているかにかかわらず当てはまります。ポリシーでは、モニタリング・サービスおよびモニター対象リソースへのアクセス権が付与されている必要があります。アクションを実行しようとして、権限がない、または認可されていないというメッセージが表示された場合は、付与されているアクセスのタイプと作業できるコンパートメントを管理者に確認してください。モニタリングのためのユーザー認可の詳細は、関連するサービスの認証と認可の項を参照してください, モニタリングまたは通知
デフォルトでは、Administrators
グループのユーザーのみがすべてのデータ・サイエンス・リソースにアクセスできます。データ・サイエンスに関わるすべてのユーザーに対して、データ・サイエンス・リソースに対する適切な権限を割り当てる新しいポリシーを作成する必要があります。
OCIポリシーの完全なリストは、ポリシー・リファレンスを参照してください。
リソース・タイプ
データ・サイエンスには、ポリシーを記述するための集約および個々のリソース・タイプが用意されています。
集約リソース・タイプを使用すると、記述するポリシーの数を少なくできます。たとえば、グループがdata-science-projects
、data-science-notebook-sessions
、data-science-models
およびdata-science-work-requests
を管理できるようにするかわりに、そのグループで集約リソース・タイプdata-science-family
を管理できるようにするポリシーを設定できます。
集約リソース・タイプ
data-science-family
個別リソース・タイプ
data-science-projects
data-science-notebook-sessions
data-science-models
data-science-model-deployments
data-science-work-requests
data-science-jobs
data-science-job-runs
data-science-pipelines
data-science-pipeline-runs
data-science-private-endpoint
data-science-schedule
サポートされている変数
ポリシーに条件を追加するには、OCI一般変数またはサービス固有変数を使用できます。
データ・サイエンスではすべてのリクエストの一般的な変数がサポートされ、リソースおよび次のサービス固有の変数とともに使用できます:
このリソース・タイプの操作... |
使用できる変数... |
変数タイプ |
コメント |
---|---|---|---|
|
|
エンティティ(OCID) |
|
|
文字列 |
|
ノートブックを作成するユーザーは、オープンして使用できる唯一のユーザーです。
様々な操作の例
allow group <data_science_hol_users> to manage data_science_projects
in compartment <datascience_hol>
allow group <data_science_hol_users> to manage data_science_models
in compartment <datascience_hol>
allow group <data_science_hol_users> to manage data_science_work_requests
in compartment <datascience_hol>
allow group <data_science_hol_users> to inspect data_science_notebook_sessions
in compartment <datascience_hol>
allow group <data_science_hol_users> to read data_science_notebook_sessions
in compartment <datascience_hol>
allow group <data_science_hol_users> to {DATA_SCIENCE_NOTEBOOK_SESSION_CREATE}
in compartment <datascience_hol>
allow group <data_science_hol_users> to
{DATA_SCIENCE_NOTEBOOK_SESSION_DELETE,DATA_SCIENCE_NOTEBOOK_SESSION_UPDATE,DATA_SCIENCE_NOTEBOOK
_SESSION_OPEN,DATA_SCIENCE_NOTEBOOK_SESSION_ACTIVATE,DATA_SCIENCE_NOTEBOOK_SESSION_DEACTIVATE}
in compartment <datascience_hol>
where target.notebook-session.createdBy = request.user.id
動詞とリソース・タイプの組合せの詳細
ポリシーの作成には、様々なOCI動詞とリソース・タイプを使用できます。
ポリシー構文は次のようになります:
allow <subject> to <verb> <resource_type> in <location> where <conditions>.
次に、データ・サイエンスの各動詞に対応する権限およびAPI操作について説明します。アクセス・レベルは、inspect
からread
、use
、manage
へと進むに従って累積していきます。表セル内のプラス記号(+)
は、その上のセルと比較して増分アクセスを示しますが、「余分なし」は増分アクセスを示しません。
ここには、data-science-projects
リソース・タイプに関して対象となるAPIがリストされます。APIは権限ごとにアルファベット順に表示されます。
動詞 |
権限 |
完全にカバーされるAPI |
部分的にカバーされるAPI |
---|---|---|---|
|
|
|
追加なし |
|
|
|
|
|
|
|
追加なし |
|
|
|
追加なし |
ここには、data-science-notebook-sessions
リソース・タイプに関して対象となるAPIがリストされます。APIは権限ごとにアルファベット順に表示されます。
動詞 |
権限 |
完全に対象となるAPI |
部分的に対象となるAPI |
---|---|---|---|
|
|
|
追加なし |
|
|
|
追加なし |
|
|
|
追加なし |
|
|
|
|
ここには、data-science-models
リソース・タイプに関して対象となるAPIがリストされます。APIは権限ごとにアルファベット順に表示されます。
動詞 |
権限 |
完全に対象となるAPI |
部分的に対象となるAPI |
---|---|---|---|
|
|
|
追加なし |
|
|
|
追加なし |
|
|
|
追加なし |
|
|
|
|
ここには、data-science-work-requests
リソース・タイプに関して対象となるAPIがリストされます。APIは権限ごとにアルファベット順に表示されます。
動詞 |
権限 |
完全に対象となるAPI |
部分的に対象となるAPI |
---|---|---|---|
|
|
|
追加なし |
|
|
|
追加なし |
|
|
|
追加なし |
ここには、data-science-model-deployments
リソース・タイプに関して対象となるAPIがリストされます。APIは権限ごとにアルファベット順に表示されます。
動詞 |
権限 |
完全に対象となるAPI |
部分的に対象となるAPI |
---|---|---|---|
|
|
|
追加なし |
|
|
|
追加なし |
|
|
|
追加なし |
|
|
|
追加なし |
ここには、data-science-jobs
リソース・タイプに関して対象となるAPIがリストされます。APIは権限ごとにアルファベット順に表示されます。
動詞 |
権限 |
完全に対象となるAPI |
部分的に対象となるAPI |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ここには、data-science-job-runs
リソース・タイプに関して対象となるAPIがリストされます。APIは権限ごとにアルファベット順に表示されます。
動詞 |
権限 |
完全に対象となるAPI |
部分的に対象となるAPI |
---|---|---|---|
|
|
|
追加なし |
|
|
|
追加なし |
|
|
|
|
|
|
|
|
ここには、data-science-pipelines
リソース・タイプに関して対象となるAPIがリストされます。APIは権限ごとにアルファベット順に表示されます。
Verbs |
権限 |
完全に対象となるAPI |
部分的に対象となるAPI |
---|---|---|---|
|
|
|
追加なし |
|
|
|
|
|
|
|
|
|
|
|
( |
ここには、data-science-pipelineruns
リソース・タイプに関して対象となるAPIがリストされます。APIは権限ごとにアルファベット順に表示されます。
Verbs |
権限 |
完全に対象となるAPI |
部分的に対象となるAPI |
---|---|---|---|
|
|
|
追加なし |
|
|
|
追加なし |
|
|
|
|
|
|
|
|
ここには、data-science-private-endpoint
リソース・タイプに関して対象となるAPIがリストされます。APIは権限ごとにアルファベット順に表示されます。
動詞 |
権限 |
完全に対象となるAPI |
部分的に対象となるAPI |
---|---|---|---|
|
|
|
追加なし |
|
|
|
|
|
|
|
追加なし |
|
|
|
|
ここには、data-science-schedule
リソース・タイプに関して対象となるAPIがリストされます。APIは権限ごとにアルファベット順に表示されます。
Verbs |
権限 |
完全にカバーされるAPI |
一部カバーされるAPI |
---|---|---|---|
|
|
|
追加なし |
|
|
|
|
|
|
|
追加なし |
|
|
|
追加なし |
ポリシーの例
APIでは、データ・サイエンスの集約リソース・タイプdata-science-family
および個別リソース・タイプが対象となります。たとえば、allow group <group_name> to manage data-science-family in compartment <compartment_name>
は、次の4つのポリシーを記述することと同じです:
allow group <group_name>> to manage <data_science_projects> in compartment
<compartment_name>
allow group <group_name> to manage data-science-notebook-sessions in compartment
<compartment_name>
allow group <group_name> to manage data-science-models in compartment
<compartment_name>
allow group <group_name> to manage data-science-work-requests in compartment
<compartment_name>
例: リスト・ビュー
グループが特定のコンパートメントのすべてのデータ・サイエンス・モデルのリストを表示できるようにします:
allow group <group_name> to inspect data-science-models in compartment
<compartment_name>
data-science-models
のread
動詞には、DATA_SCIENCE_MODEL_READ
権限とGetModel
やGetModelArtifact
などのその対象となるAPI操作を使用したinspect
動詞と同じ権限およびAPI操作が含まれています。
例: すべての操作
グループが指定されたコンパートメントでDATA_SCIENCE_MODEL_READ
にリストされているすべての操作を実行できるようにします:
allow group <group_name> to read data-science-models in compartment
<compartment_name>
data-science-models
のmanage
動詞には、read
動詞と同じ権限およびAPI操作に加えて、DATA_SCIENCE_MODEL_CREATE
、DATA_SCIENCE_MODEL_MOVE
、DATA_SCIENCE_MODEL_UPDATE
およびDATA_SCIENCE_MODEL_DELETE
権限のAPIも含まれています。たとえば、ユーザーがモデルを削除できるのは、管理権限または特定のDATA_SCIENCE_MODEL_DELETE
権限のみです。data-science-models
に対するread
権限を使用して、ユーザーはモデルを削除できません。
例: すべてのリソースの管理
グループが、データ・サイエンスが使用するすべてのリソースを管理できるようにします:
allow group <group_name> to manage <data_science_family> in compartment
<compartment_name>
グループが、データ・サイエンス・プロジェクトの削除を除いて、すべてのデータ・サイエンス・リソースを管理できるようにします:
allow group <group_name> to manage <data_science_family> in compartment
<compartment_name> where request.permission !='DATA_SCIENCE_PROJECT_DELETE'
ここには、data-science-projects
リソース・タイプに関して対象となるAPIがリストされます。APIは権限ごとにアルファベット順に表示されます。
ポリシーの例
モデル・デプロイメントのためにテナンシで採用する可能性が高いポリシー・ステートメントは次のとおりです:
allow group <group-name> to manage data-science-models
in compartment <compartment-name>
manage
動詞を変更して、ユーザーが実行できることを制限できます。 allow group <group-name> to manage data-science-model-deployments
in compartment <compartment-name>
manage
動詞を変更して、リソースが実行できることを制限できます。
allow dynamic-group <dynamic-group-name> to manage data-science-model-deployments
in compartment <compartment-name>
allow dynamic-group <dynamic-group-name-2> to {DATA_SCIENCE_MODEL_DEPLOYMENT_PREDICT}
in compartment <compartment-name>
allow any-user to read objects in compartment <compartment-name>
where ALL { request.principal.type='datasciencemodeldeployment',
target.bucket.name=<published-conda-envs-bucket-name> }
allow any-user to use log-content in tenancy
where ALL {request.principal.type = 'datasciencemodeldeployment'}
allow any-user to read objects in compartment <compartment-name>
where ALL { request.principal.type='datasciencemodeldeployment', target.bucket.name=<bucket-name> }
ジョブおよびジョブ実行の例
(オプション)ジョブのロギングを統合できます。有効な場合、ジョブ実行リソースはログをロギング・サービスに出力する権限を必要とします。次を使用してジョブ実行動的グループを作成する必要があります:
all { resource.type='datasciencejobrun', resource.compartment.id='<job-run-compartment-ocid>' }
次に、この動的グループがロギング・サービス・ログに書き込むことを許可します:
allow dynamic-group <job-runs-dynamic-group> to use log-content in compartment <your-compartment-name>
最後に、ジョブ実行を開始するユーザーには、ログ・グループおよびログを使用するアクセス権も必要です:
インスタンス・プリンシパル動的グループを使用してジョブ実行を作成および開始する場合は、動的グループにグループ・ポリシーを適用する必要があります。具体的には、インスタンス・プリンシパルにto manage log-groups
ポリシーが設定されている必要があります。
allow group <group-name> to manage log-groups in compartment <compartment-name>
allow group <group-name> to use log-content in compartment <compartment-name>
(オプション)データ・サイエンスconda環境でジョブを実行するために必要な追加のポリシーはありません。公開されたカスタムconda環境でジョブを実行するには、ジョブ実行リソースにテナンシのオブジェクト・ストレージからconda環境をダウンロードする権限が必要です。次を使用して、ジョブ実行動的グループにコンパートメント内のオブジェクトへのアクセスを許可する必要があります:
allow dynamic-group <job-runs-dynamic-group> to read objects in compartment <compartment-name> where target.bucket.name='<bucket-name>'
OCIRからコンテナ・イメージをプルするには、次のポリシーを追加します:
allow dynamic-group <your-dynamic-group> to read repos in compartment <compartment-name>
リポジトリがルート・コンパートメントにある場合は、次を使用してテナンシの読取りを許可する必要があります:
allow dynamic-group <your-dynamic-group> to read repos in tenancy where all {target.repo.name=<repository-name>}
パイプラインの例
データ・サイエンスは、他のOCIサービスを使用してパイプライン(主にジョブ)を実行します。パイプラインを正しく機能させるには、テナンシまたはコンパートメントでそれらのリソースを操作する権限が必要です。データ・サイエンス・パイプラインを使用するには、動的グループおよびポリシーを作成する必要があります。
新しい動的グループを作成するか、既存の動的グループを更新して次の行を追加します。
パイプライン実行がロギング、ネットワーキング、オブジェクト・ストレージなどのOCIサービスにアクセスできるようにするには:
all {resource.type='datasciencepipelinerun',resource.compartment.id='ocid1.compartment.oc1..<>'}
パイプラインにステップとして少なくとも1つのジョブが含まれている場合は、ジョブ実行がリソースにアクセスできるようにする必要があります:
all {resource.type='datasciencejobrun',resource.compartment.id='ocid1.compartment.oc1..<>'}
リソース・プリンシパル認証を使用してノートブック・セッションから作業する場合、ノートブックがリソースにアクセスできるようにする必要があります:
all {resource.type='datasciencenotebooksession',resource.compartment.id='ocid1.compartment.oc1..<>'}
次に、関連するポリシーを追加して、動的グループがコンパートメントまたはテナンシのリソースにアクセスできるようにします。次に、動的グループの有用なポリシーの例を示します。
(オプション)ノートブック、ジョブ、パイプラインなど、すべてのデータ・サイエンス・リソースの管理を許可します:
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to manage data-science-family in compartment <YOUR_COMPARTMENT_NAME>
(オプション)OCI Object StorageおよびFile Storageサービスの使用を含むネットワーキングの使用を許可します:
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to use virtual-network-family in compartment <YOUR_COMPARTMENT_NAME>
(オプション)オブジェクト・ストレージの管理を許可します:
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to manage objects in compartment <YOUR_COMPARTMENT_NAME>
(オプション)ロギング・サービス・ログへのログを許可します。
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to use log-content in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to read repos in compartment <YOUR COMPARTMENT NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to use object-family in compartment <YOUR_COMPARTMENT_NAME>
allow service datascience to use object-family in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> use file-systems in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> use mount-targets in compartment <YOUR_COMPARTMENT_NAME>
allow service datascience to use file-systems in compartment <YOUR_COMPARTMENT_NAME>
allow service datascience to use mount-targets in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> manage dataflow-run in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> read dataflow-application in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> read object-family in compartment <YOUR_COMPARTMENT_NAME>
datascienceusers
グループに属していることを前提としています。allow group datascienceusers to inspect compartments in tenancy
allow group datascienceusers in tenancy where all {target.rule.type='managed', target.event.source in ('dataflow')}
allow group datascienceusers to read dataflow-application in compartment <YOUR_COMPARTMENT_NAME>