Stratégies Data Integration

Pour créer des stratégies, utilisez le service Oracle Cloud Infrastructure Identity and Access Management (IAM) avec des domaines d'identité.

Par défaut, seuls les utilisateurs du groupe Administrators ont accès à toutes les ressources et fonctions dans Data Integration. Afin de contrôler l'accès des utilisateurs non administrateurs aux fonctions et aux ressources Data Integration, créez des groupes IAM, puis écrivez des stratégies qui donnent à ces groupes l'accès approprié.

Les pages suivantes fournissent des informations supplémentaires sur l'écriture de stratégies :

Présentation de la syntaxe de stratégie

La syntaxe générale d'une instruction de stratégie est la suivante :

allow <subject> to <verb> <resource-type> in <location> where <condition>

Voici des exemples de ce que vous pouvez indiquer :

  • Un groupe ou un groupe dynamique par son nom ou son OCID en tant que <subject>. Vous pouvez également utiliser any-user pour couvrir tous les utilisateurs dans la location.

  • inspect, read, use et manage en tant que <verb> pour accorder à <subject> des droits d'accès.

    Lorsque vous passez de inspect à read, en passant par use et manage, le niveau d'accès augmente en général et les droits d'accès accordés sont cumulés. Par exemple, use inclut read et autorise en plus la mise à jour.

  • Une famille de ressources telle que virtual-network-family pour resource-type. Vous pouvez également indiquer une ressource individuelle d'une famille telle que vcns ou subnets.

  • Un compartiment par son nom ou son OCID en tant que <location>. Vous pouvez également utiliser tenancy pour couvrir l'intégralité de la location.

  • Des conditions dans <condition>, qui doivent être remplies pour que l'accès soit accordé. Pour les conditions multiples, vous pouvez utiliser any ou all.

    Une condition se compose de variables. Une variable peut être pertinente pour la demande elle-même (par exemple, request.operation) ou pour la ressource faisant l'objet d'une action dans la demande (par exemple, target.workspace.id). Par exemple, pour autoriser un groupe à gérer un espace de travail spécifique et aucun autre espace de travail :

    allow group <group-name> to manage dis-workspaces in compartment <compartment-name> where target.workspace.id = '<workspace-ocid>'

    Ou, pour autoriser un groupe à gérer toutes les ressources Data Integration, à l'exception de la suppression d'espaces de travail :

    allow group <group-name> to manage dis-family in compartment <compartment-name> where request.permission != 'DIS_WORKSPACE_DELETE'

Pour plus d'informations, reportez-vous à Syntaxe de stratégie.

Pour plus d'informations sur la création de stratégies, reportez-vous à Fonctionnement des stratégies et à Référence de stratégie.

Types de ressource

Data Integration comprend des types de ressource individuels et agrégés pour l'élaboration des stratégies.

Vous pouvez utiliser des types de ressource agrégés pour écrire moins de stratégies. Par exemple, au lieu d'autoriser un groupe à gérer dis-workspaces et dis-work-requests, vous pouvez disposer d'une stratégie permettant au groupe de gérer le type de ressource agrégé dis-family.

Type agrégé de ressource Types individuels de ressource
dis-family

dis-workspaces

dis-work-requests

Les API couvertes pour le type de ressource agrégé dis-family sont les API pour dis-workspaces et dis-work-requests. Par exemple :
allow group dis-admins to manage dis-family in compartment <compartment_name>
revient à écrire les deux stratégies suivantes :
allow group dis-admins to manage dis-workspaces in compartment <compartment_name>
allow group dis-admins to manage dis-work-requests in compartment <compartment_name>

Variables prises en charge

Pour ajouter des conditions aux stratégies, vous pouvez utiliser les variables Oracle Cloud Infrastructure générales ou propres au service.

Data Integration prend en charge toutes les variables générales (reportez-vous à Variables générales pour toutes les demandes).

Le tableau suivant répertorie les variables de type de ressource que vous pouvez utiliser.

Les opérations pour ce type de ressource..Peuvent utiliser ces variables..Type de variableCommentaires
dis-workspacetarget.workspace.idEntité (OCID)Non disponible pour utilisation avec CreateWorkspace

Les opérations pour ce chemin d'API..Peuvent utiliser ces variables..Type de variableCommentaires
/workspaces/{workspaceId}/applications/{applicationKey}/*target.application.keyEntité (clé)Non disponible pour utilisation avec ListApplications et CreateApplication
/workspaces/{workspaceId}/applications

source.workspace.id

source.application.key

Entité (clé)

Disponible uniquement pour utilisation avec CreateApplication.

Non disponible pour utilisation avec ListApplications, GetApplication, UpdateApplication et DeleteApplication.

/workspaces/{workspaceId}/projects/{projectKey}/*target.object.keyEntité (clé)
/workspaces/{workspaceId}/folders/{folderKey}/*

target.object.key

target.folder.key

Entité (clé)target.folder.key uniquement disponible pour utilisation sur CreateFolder
/workspaces/{workspaceId}/dataflows/{dataflowKey}/*

target.object.key

target.folder.key

Entité (clé)target.folder.key uniquement disponible pour utilisation sur CreateDataflow, UpdateDataflow
/workspaces/{workspaceId}/tasks/{dataflowKey}/*

target.object.key

target.folder.key

Entité (clé)target.folder.key uniquement disponible pour utilisation sur CreateTask et UpdateTask
/workspaces/{workspaceId}/dataAssets/{dataAssetKey}/*target.object.keyEntité (clé)
/workspaces/{workspaceId}/connections/{connectionKey}/*

target.object.key

target.folder.key

Entité (clé)target.folder.key uniquement disponible pour utilisation sur CreateConnection et UpdateConnection
/workspaces/{workspaceId}/pipelines/{pipelineKey}/*

target.object.key

target.folder.key

Entité (clé)target.folder.key uniquement disponible pour utilisation sur CreatePipeline et UpdatePipeline

Détails des combinaisons de verbe et de type de ressource

Utilisez les verbes et les types de ressource Oracle Cloud Infrastructure lors de la création d'une stratégie.

Les tableaux suivants indiquent les droits d'accès et les opérations d'API que couvre chaque verbe pour Data Integration. Le niveau d'accès est cumulatif à mesure que vous passez d'un verbe à l'autre, dans l'ordre suivant : inspect, read, use, manage. Le signe plus (+) dans une cellule du tableau indique un accès incrémentiel par rapport à la cellule directement au-dessus, alors que la mention "aucun élément supplémentaire" n'indique aucun accès incrémentiel.

dis-work-requests
Droit d'accès API entièrement couvertes

INSPECT

DIS_WORK_REQUEST_INSPECT ListWorkRequests
ListWorkRequestErrors
ListWorkRequestLogs

LECTURE

INSPECT +

INSPECT +

DIS_WORK_REQUEST_READ GetWorkRequest

USE

aucun élément supplémentaire aucun élément supplémentaire

MANAGE

aucun élément supplémentaire aucun élément supplémentaire
Remarque

Chaque droit d'accès pour dis-work-requests couvre entièrement au moins une API. Aucune API n'est partiellement couverte par les droits d'accès dis-work-requests.
dis-workspaces
Droit d'accès API entièrement couvertes

INSPECT

DIS_WORKSPACE_INSPECT ListWorkspaces
DIS_WORKSPACE_OBJECT_INSPECT ListProjects
ListFolders
ListDataFlows
ListTasks
ListTaskValidations
ListApplications
ListPublishedObjects
ListDependentObjects
ListTaskRuns
ListTaskRunLogs
ListDataAssets
ListConnections
ListSchemas
ListDataEntities
ListConnectionValidation
ListDataFlowValidations
ListExternalPublications
ListExternalPublicationValidations
ListReferences
ListPatchChanges
ListPipelines
ListSchedules
ListTaskSchedules
LECTURE

INSPECT +

INSPECT +

DIS_WORKSPACE_READ GetWorkspace
DIS_WORKSPACE_OBJECT_READ GetCountStatistic
GetProject
GetFolder
GetDataFlow
GetTask
GetTaskValidation
GetApplication
GetPatch
GetPublishedObject
GetDependentObject
GetTaskRun
GetDataAsset
GetConnection
GetSchema
GetDataEntity
GetConnectionValidation
GetDataFlowValidation
GetExternalPublication
GetExternalPublicationValidation
GetReference
GetPipeline
GetSchedule
GetTaskSchedule

USE

READ +

READ +

DIS_WORKSPACE_EXECUTE ExecuteTask
DIS_WORKSPACE_UPDATE UpdateWorkspace
DIS_WORKSPACE_OBJECT_EXECUTE CreateTaskRun
UpdateTaskRun
DIS_WORKSPACE_OBJECT_UPDATE UpdateProject
UpdateFolder
UpdateDataFlow
UpdateTask
UpdateApplication
UpdateDataAsset
UpdateConnection
UpdateReference
UpdateExternalPublication
UpdatePipeline
UpdateSchedule
UpdateTaskSchedule
DIS_WORKSPACE_OBJECT_CREATE CreateProject
CreateFolder
CreateDataFlow
CreateTask
CreateTaskValidation
CreatePatch
CreateApplication
CreateDataAsset
CreateConnection
CreateEntityShape
CreateConnectionValidation
CreateDataFlowValidation
CreateExternalPublication
CreateExternalPublicationValidation
CreatePipeline
CreateSchedule
CreateTaskSchedule
DIS_WORKSPACE_OBJECT_DELETE DeleteProject
DeleteFolder
DeleteDataFlow
DeleteTask
DeleteTaskValidation
DeleteApplication
DeletePatch
DeleteTaskRun
DeleteDataAsset
DeleteConnection
DeleteConnectionValidation
DeleteDataFlowValidation
DeleteExternalPublication
DeleteExternalPublicationValidation
DeletePipeline
DeleteSchedule
DeleteTaskSchedule

MANAGE

USE +

USE +

DIS_WORKSPACE_CREATE CreateWorkspace
DIS_WORKSPACE_DELETE DeleteWorkspace
DIS_WORKSPACE_MOVE ChangeCompartment
DIS_WORKSPACE_START StartWorkspace
DIS_WORKSPACE_STOP StopWorkspace
Remarque

Chaque droit d'accès pour dis-workspaces couvre entièrement une API. Aucune API n'est partiellement couverte par les droits d'accès dis-workspaces.

Droits d'accès requis pour chaque opération d'API

Le tableau répertorie les opérations d'API Data Integration dans un ordre logique, regroupées par type de ressource, ainsi que les droits d'accès requis pour les types de ressource dis-workspaces et dis-work-requests.

Pour plus d'informations sur les droits d'accès, reportez-vous à Droits d'accès.

Droits d'accès requis
Opération d'API Droits d'accès
ListWorkspaces DIS_WORKSPACE_INSPECT
GetWorkspace DIS_WORKSPACE_READ
UpdateWorkspace DIS_WORKSPACE_UPDATE
DeleteWorkspace DIS_WORKSPACE_DELETE
CreateWorkspace DIS_WORKSPACE_CREATE
ChangeCompartment DIS_WORKSPACE_MOVE
StartWorkspace DIS_WORKSPACE_START
StopWorkspace DIS_WORKSPACE_STOP
ListWorkRequests DIS_WORK_REQUEST_INSPECT
GetWorkRequest DIS_WORK_REQUEST_READ
ListWorkRequestErrors DIS_WORK_REQUEST_INSPECT
ListWorkRequestLogs DIS_WORK_REQUEST_INSPECT
GetCountStatistic DIS_WORKSPACE_OBJECT_READ
ListProjects DIS_WORKSPACE_OBJECT_INSPECT
CreateProject DIS_WORKSPACE_OBJECT_CREATE
GetProject DIS_WORKSPACE_OBJECT_READ
UpdateProject DIS_WORKSPACE_OBJECT_UPDATE
DeleteProject DIS_WORKSPACE_OBJECT_DELETE
ListFolders DIS_WORKSPACE_OBJECT_INSPECT
CreateFolder DIS_WORKSPACE_OBJECT_CREATE
GetFolder DIS_WORKSPACE_OBJECT_READ
UpdateFolder DIS_WORKSPACE_OBJECT_UPDATE
DeleteFolder DIS_WORKSPACE_OBJECT_DELETE
ListDataFlows DIS_WORKSPACE_OBJECT_INSPECT
CreateDataFlow DIS_WORKSPACE_OBJECT_CREATE
GetDataFlow DIS_WORKSPACE_OBJECT_READ
UpdateDataFlow DIS_WORKSPACE_OBJECT_UPDATE
DeleteDataFlow DIS_WORKSPACE_OBJECT_DELETE
ListTasks DIS_WORKSPACE_OBJECT_INSPECT
CreateTask DIS_WORKSPACE_OBJECT_CREATE
GetTask DIS_WORKSPACE_OBJECT_READ
UpdateTask DIS_WORKSPACE_OBJECT_UPDATE
DeleteTask DIS_WORKSPACE_OBJECT_DELETE
CreateTaskValidation DIS_WORKSPACE_OBJECT_CREATE
ListTaskValidations DIS_WORKSPACE_OBJECT_INSPECT
GetTaskValidations DIS_WORKSPACE_OBJECT_READ
DeleteTaskValidation DIS_WORKSPACE_OBJECT_DELETE
ListApplications DIS_WORKSPACE_OBJECT_INSPECT
CreateApplication DIS_WORKSPACE_OBJECT_CREATE
GetApplication DIS_WORKSPACE_OBJECT_READ
UpdateApplication DIS_WORKSPACE_OBJECT_UPDATE
DeleteApplication DIS_WORKSPACE_OBJECT_DELETE
ListPatches DIS_WORKSPACE_OBJECT_INSPECT
CreatePatch DIS_WORKSPACE_OBJECT_CREATE
GetPatch DIS_WORKSPACE_OBJECT_READ
DeletePatch DIS_WORKSPACE_OBJECT_DELETE
ListPatchChangesDIS_WORKSPACE_OBJECT_INSPECT
ListPublishedObjects DIS_WORKSPACE_OBJECT_INSPECT
GetPublishedObject DIS_WORKSPACE_OBJECT_READ
ListDependentObjects DIS_WORKSPACE_OBJECT_INSPECT
GetDependenObject DIS_WORKSPACE_OBJECT_READ
ListTaskRuns DIS_WORKSPACE_OBJECT_INSPECT
CreateTaskRun DIS_WORKSPACE_OBJECT_EXECUTE
GetTaskRun DIS_WORKSPACE_OBJECT_READ
UpdateTaskRun DIS_WORKSPACE_OBJECT_UPDATE
DeleteTaskRun DIS_WORKSPACE_OBJECT_DELETE
ListTaskRunLogs DIS_WORKSPACE_OBJECT_INSPECT
CreateDataAsset DIS_WORKSPACE_OBJECT_CREATE
ListDataAssets DIS_WORKSPACE_OBJECT_INSPECT
GetDataAsset DIS_WORKSPACE_OBJECT_READ
UpdateDataAsset DIS_WORKSPACE_OBJECT_UPDATE
DeleteDataAsset DIS_WORKSPACE_OBJECT_DELETE
CreateConnection DIS_WORKSPACE_OBJECT_CREATE
ListConnections DIS_WORKSPACE_OBJECT_INSPECT
GetConnection DIS_WORKSPACE_OBJECT_READ
UpdateConnection DIS_WORKSPACE_OBJECT_UPDATE
DeleteConnection DIS_WORKSPACE_OBJECT_DELETE
GetSchema DIS_WORKSPACE_OBJECT_READ
ListSchemas DIS_WORKSPACE_OBJECT_INSPECT
ListDataEntities DIS_WORKSPACE_OBJECT_INSPECT
CreateEntityShape DIS_WORKSPACE_OBJECT_CREATE
GetDataEntity DIS_WORKSPACE_OBJECT_READ
CreateConnectionValidation DIS_WORKSPACE_OBJECT_CREATE
ListConnectionValidations DIS_WORKSPACE_OBJECT_INSPECT
GetConnectionValidation DIS_WORKSPACE_OBJECT_READ
DeleteConnectionValidation DIS_WORKSPACE_OBJECT_DELETE
CreateDataFlowValidation DIS_WORKSPACE_OBJECT_CREATE
ListDataFlowValidations DIS_WORKSPACE_OBJECT_INSPECT
GetDataFlowValidation DIS_WORKSPACE_OBJECT_READ
DeleteDataFlowValiation DIS_WORKSPACE_OBJECT_DELETE
ListReferencesDIS_WORKSPACE_OBJECT_INSPECT
GetReferenceDIS_WORKSPACE_OBJECT_READ
UpdateReferenceDIS_WORKSPACE_OBJECT_UPDATE
ListExternalPublicationsDIS_WORKSPACE_OBJECT_INSPECT
CreateExternalPublicationDIS_WORKSPACE_OBJECT_CREATE
GetExternalPublicationDIS_WORKSPACE_OBJECT_READ
UpdateExternalPublicationDIS_WORKSPACE_OBJECT_UPDATE
DeleteExternalPublicationDIS_WORKSPACE_OBJECT_DELETE
ListExternalPublicationValidationsDIS_WORKSPACE_OBJECT_INSPECT
CreateExternalPublicationValidationDIS_WORKSPACE_OBJECT_CREATE
GetExternalPublicationValidationDIS_WORKSPACE_OBJECT_READ
DeleteExternalPublicationValidationDIS_WORKSPACE_OBJECT_DELETE
ListPipelinesDIS_WORKSPACE_OBJECT_INSPECT
GetPipelineDIS_WORKSPACE_OBJECT_READ
UpdatePipelineDIS_WORKSPACE_OBJECT_UPDATE
CreatePipelineDIS_WORKSPACE_OBJECT_CREATE
DeletePipelineDIS_WORKSPACE_OBJECT_DELETE
ListSchedulesDIS_WORKSPACE_OBJECT_INSPECT
GetScheduleDIS_WORKSPACE_OBJECT_READ
UpdateScheduleDIS_WORKSPACE_OBJECT_UPDATE
CreateScheduleDIS_WORKSPACE_OBJECT_CREATE
DeleteScheduleDIS_WORKSPACE_OBJECT_DELETE
ListTaskSchedulesDIS_WORKSPACE_OBJECT_INSPECT
GetTaskScheduleDIS_WORKSPACE_OBJECT_READ
UpdateTaskScheduleDIS_WORKSPACE_OBJECT_UPDATE
CreateTaskScheduleDIS_WORKSPACE_OBJECT_CREATE
DeleteTaskScheduleDIS_WORKSPACE_OBJECT_DELETE
CreateExportRequest DIS_WORKSPACE_OBJECT_EXPORT
GetExportRequest DIS_WORKSPACE_OBJECT_READ
ListExportRequests DIS_WORKSPACE_OBJECT_INSPECT
UpdateExportRequest DIS_WORKSPACE_OBJECT_UPDATE
DeleteExportRequest DIS_WORKSPACE_OBJECT_DELETE
CreateImportRequest DIS_WORKSPACE_OBJECT_IMPORT
GetImportRequest DIS_WORKSPACE_OBJECT_READ
ListImportRequests DIS_WORKSPACE_OBJECT_INSPECT
UpdateImportRequest DIS_WORKSPACE_OBJECT_UPDATE
DeleteImportRequest DIS_WORKSPACE_OBJECT_DELETE