OneLake Data Access Security - Create Or Update Data Access Roles

OneLake'te veri erişim rolleri oluşturur veya güncelleştirir.

Gerekli Temsilci Kapsamları

OneLake.ReadWrite.All

Microsoft Entra destekli kimlikler

Bu API, bu bölümde listelenen Microsoft kimliklerini destekler.

Identity Support
User Yes
Hizmet sorumlusu ve yönetilen kimlikler Yes

Interface

PUT https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/dataAccessRoles
PUT https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/dataAccessRoles?dryRun={dryRun}

URI Parametreleri

Name İçinde Gerekli Tür Description
itemId
path True

string (uuid)

Rolleri koymak için Doku öğesinin kimliği.

workspaceId
path True

string (uuid)

Çalışma alanı kimliği.

dryRun
query

boolean

API çağrısının bir kuru çalıştırmasını tetikleme amacıyla kullanılır. True - API çağrısı bir kuru çalıştırma tetikler ve hiçbir rol değiştirilmez. False - Bir kuru çalıştırma tetiklemez ve roller güncelleştirilir.

İstek Başlığı

Name Gerekli Tür Description
If-Match

string

ETag değeri. ETag tırnak içinde belirtilmelidir. Sağlanırsa, çağrı yalnızca kaynağın ETag'i sağlanan ETag ile eşleşirse başarılı olur.

If-None-Match

string

ETag değeri. ETag tırnak içinde belirtilmelidir. Sağlanırsa, çağrı yalnızca kaynağın ETag'i sağlanan ETag ile eşleşmiyorsa başarılı olur.

İstek Gövdesi

Name Tür Description
value

DataAccessRole[]

Veri erişim güvenliğini yönetmek ve yalnızca yetkili kullanıcıların belirli verileri görüntüleyebilmesini sağlamak için kullanılan rollerin listesi. Rol, üyelerinin kapsamdaki veriler için gerçekleştirmesine izin verilen eylemleri tanımlayan bir izin kümesini ve izin kapsamlarını temsil eder. Üyeler, rolü verilmiş kullanıcılar veya gruplardır ve role atanan izinlere göre verileri okuyabilirler. Örneğin, bir üye bir Microsoft Entra Id grubu olabilir ve izin kapsamı, OneLake'te belirtilen Dosya, Klasör veya Tablo Yolu'na uygulanan bir Okuma Eylemi olabilir.

Yanıtlar

Name Tür Description
200 OK

İstek başarıyla tamamlandı.

Üst Bilgiler

Etag: string

429 Too Many Requests

ErrorResponse

Hizmet fiyatı sınırı aşıldı. Sunucu, istemcinin ek istek göndermeden önce ne kadar beklemesi gerektiğini saniye cinsinden belirten bir Retry-After üst bilgi döndürür.

Üst Bilgiler

Retry-After: integer

Other Status Codes

ErrorResponse

Yaygın hata kodları:

  • ItemNotFound - Sunucunun istenen öğeyi bulamadığını gösterir.

  • PreconditionFailed, geçerli ETag kaynağının If-Match üst bilgisinde belirtilen değerle eşleşmediğini -Indicates.

Örnekler

Create or update data access roles example
Create or update data access roles with constraints example
Create or update data access roles with tables path example

Create or update data access roles example

Örnek isteği

PUT https://api.fabric.microsoft.com/v1/workspaces/cfafbeb1-8037-4d0c-896e-a46fb27ff222/items/25bac802-080d-4f73-8a42-1b406eb1fceb/dataAccessRoles

{
  "value": [
    {
      "name": "default_role_1",
      "decisionRules": [
        {
          "effect": "Permit",
          "permission": [
            {
              "attributeName": "Path",
              "attributeValueIncludedIn": [
                "*"
              ]
            },
            {
              "attributeName": "Action",
              "attributeValueIncludedIn": [
                "Read"
              ]
            }
          ]
        }
      ],
      "members": {
        "fabricItemMembers": [
          {
            "itemAccess": [
              "ReadAll"
            ],
            "sourcePath": "cfafbeb1-8037-4d0c-896e-a46fb27ff222/25bac802-080d-4f73-8a42-1b406eb1fceb"
          }
        ]
      }
    }
  ]
}

Örnek yanıt

ETag: 33a64df551425fcc55e4d42a148795d9f25f89d4

Create or update data access roles with constraints example

Örnek isteği

PUT https://api.fabric.microsoft.com/v1/workspaces/cfafbeb1-8037-4d0c-896e-a46fb27ff222/items/25bac802-080d-4f73-8a42-1b406eb1fceb/dataAccessRoles

{
  "value": [
    {
      "name": "default_role_1",
      "decisionRules": [
        {
          "effect": "Permit",
          "permission": [
            {
              "attributeName": "Path",
              "attributeValueIncludedIn": [
                "*"
              ]
            },
            {
              "attributeName": "Action",
              "attributeValueIncludedIn": [
                "Read"
              ]
            }
          ],
          "constraints": {
            "columns": [
              {
                "tablePath": "/Tables/industrytable",
                "columnNames": [
                  "Industry"
                ],
                "columnEffect": "Permit",
                "columnAction": [
                  "Read"
                ]
              }
            ],
            "rows": [
              {
                "tablePath": "/Tables/industrytable",
                "value": "select * from Industrytable where Industry=\"Green\""
              }
            ]
          }
        }
      ],
      "members": {
        "fabricItemMembers": [
          {
            "itemAccess": [
              "ReadAll"
            ],
            "sourcePath": "cfafbeb1-8037-4d0c-896e-a46fb27ff222/25bac802-080d-4f73-8a42-1b406eb1fceb"
          }
        ]
      }
    }
  ]
}

Örnek yanıt

ETag: 33a64df551425fcc55e4d42a148795d9f25f89d4

Create or update data access roles with tables path example

Örnek isteği

PUT https://api.fabric.microsoft.com/v1/workspaces/cfafbeb1-8037-4d0c-896e-a46fb27ff222/items/25bac802-080d-4f73-8a42-1b406eb1fceb/dataAccessRoles

{
  "value": [
    {
      "name": "default_role_1",
      "decisionRules": [
        {
          "effect": "Permit",
          "permission": [
            {
              "attributeName": "Path",
              "attributeValueIncludedIn": [
                "/Tables/sales",
                "/Tables/users"
              ]
            },
            {
              "attributeName": "Action",
              "attributeValueIncludedIn": [
                "Read"
              ]
            }
          ]
        }
      ],
      "members": {
        "fabricItemMembers": [
          {
            "itemAccess": [
              "ReadAll"
            ],
            "sourcePath": "cfafbeb1-8037-4d0c-896e-a46fb27ff222/25bac802-080d-4f73-8a42-1b406eb1fceb"
          }
        ]
      }
    }
  ]
}

Örnek yanıt

ETag: 33a64df551425fcc55e4d42a148795d9f25f89d5

Tanımlar

Name Description
AttributeName

Erişim izinleri için değerlendirilen özniteliğin adını belirtir. AttributeName Path veya Actionolabilir. Zaman içinde ek attributeName türleri eklenebilir.

ColumnAction

columnNames öğesine uygulanan eylem dizisi. Bu, bir kullanıcının sütunlarda hangi eylemleri gerçekleştireceğini belirler. İzin verilen değerler şunlardır: Okuma. Ek columnAction türleri zaman içinde eklenebilir.

ColumnConstraint

ColumnConstraint, bir kullanıcının tablo içindeki sütunlarda sahip olduğu izinleri ve görünürlüğü belirleyen bir kısıtlamayı belirtir.

ColumnEffect

columnNames öğesine verilen etki. İzin verilen tek değer İzin Ver'dir. Zaman içinde ek columnEffect türleri eklenebilir.

Constraints

Bu rolün bir parçası olarak tablolara uygulanan satır veya sütun düzeyi güvenlik gibi tüm kısıtlamalar. Dahil değilse, roldeki tablolara hiçbir kısıtlama uygulanmaz.

CreateOrUpdateDataAccessRolesRequest

Veri erişim güvenliğini yönetmek ve yalnızca yetkili kullanıcıların belirli verileri görüntüleyebilmesini, düzenleyebilmesini veya silebilmesini sağlamak için kullanılan Rollerin tanımını içerir. Bu API'nin çağrılması rol tanımlarını güncelleştirir ve sağlanan yükle eşleşecek rolleri oluşturur, güncelleştirir veya siler.

DataAccessRole

Sunucu tarafından atanan kimlik de dahil olmak üzere tam veri erişim rolü nesnesi.

DataAccessRoleKind

Veri erişim rolünün türü. Şu anda desteklenen tek türdür Policy. Zaman içinde ek tür türleri eklenebilir.

DecisionRule

İstenen eylemle eşleştirmek için bir kural belirtir. Bir kullanıcının veya varlığın kaynak üzerinde belirli bir eylemi (örneğin okuma) gerçekleştirme yetkisi olup olmadığını belirleyen efekt (İzin) ve İzin içerir. İzin, kuralın uygulanması için istenen eylemle eşleşmesi gereken, öznitelikler tarafından tanımlanan bir kapsam kümesidir.

Effect

Bir rolün veri kaynağına erişimi üzerindeki etkisi. Şu anda desteklenen tek efekt türü, kaynağa erişim izni veren Permit' dir. Zaman içinde ek efekt türleri eklenebilir.

ErrorRelatedResource

Hatayla ilgili kaynak ayrıntıları nesnesi.

ErrorResponse

Hata yanıtı.

ErrorResponseDetails

Hata yanıtı ayrıntıları.

FabricItemMember

Doku öğesi üyesi.

ItemAccess

Doku kullanıcısının rol üyelerine otomatik olarak eklenmesi için erişim izinlerini belirten liste. Zaman içinde ek itemAccess türleri eklenebilir.

Members

Rolün üyelerini farklı üye türlerinin dizileri olarak içeren members nesnesi.

MicrosoftEntraMember

Role atanan Microsoft Entra Id üyesi.

ObjectType

Microsoft Entra ID nesnesinin türü. Zaman içinde ek objectType türleri eklenebilir.

PermissionScope

Bir kaynağa erişim kapsamını ve düzeyini belirleyen bir öznitelik kümesi (özellikler) tanımlar. attributeName özelliği Patholarak ayarlandığında, attributeValueIncludedIn özelliği erişilen kaynağın konumunu (örneğin, "Tablolar/Tablo1") belirtmelidir. attributeName özelliği Actionolarak ayarlandığında, attributeValueIncludedIn özelliği Readgibi verilen erişim türünü belirtmelidir.

RowConstraint

RowConstraint, bir tablodaki kullanıcıların görebileceği satırları belirleyen bir kısıtlamayı belirtir. RowConstraints ile tanımlanan roller, tablodaki verileri filtreleyen bir koşul tanımlamak için T-SQL kullanır. Koşulun koşullarına uymayan satırlar filtrelenir ve özgün satırların bir alt kümesi bırakılır. RowConstraints, T-SQL kullanarak RLS'nin dinamik ve çok tablolu çeşitlerini belirtmek için de kullanılabilir.

AttributeName

Erişim izinleri için değerlendirilen özniteliğin adını belirtir. AttributeName Path veya Actionolabilir. Zaman içinde ek attributeName türleri eklenebilir.

Değer Description
Path

Öznitelik adı Yolu

Action

Öznitelik adı Eylemi

ColumnAction

columnNames öğesine uygulanan eylem dizisi. Bu, bir kullanıcının sütunlarda hangi eylemleri gerçekleştireceğini belirler. İzin verilen değerler şunlardır: Okuma. Ek columnAction türleri zaman içinde eklenebilir.

Değer Description
Read

Read ColumnAction değeri

ColumnConstraint

ColumnConstraint, bir kullanıcının tablo içindeki sütunlarda sahip olduğu izinleri ve görünürlüğü belirleyen bir kısıtlamayı belirtir.

Name Tür Description
columnAction

ColumnAction[]

columnNames öğesine uygulanan eylem dizisi. Bu, bir kullanıcının sütunlarda hangi eylemleri gerçekleştireceğini belirler. İzin verilen değerler şunlardır: Okuma. Ek columnAction türleri zaman içinde eklenebilir.

columnEffect

ColumnEffect

columnNames öğesine verilen etki. İzin verilen tek değer İzin Ver'dir. Zaman içinde ek columnEffect türleri eklenebilir.

columnNames

string[]

Büyük/küçük harfe duyarlı sütun adları dizisi. Her değer, içinde tablePathbelirtilen tablodan bir sütun adıdır. Bu sütunları ve columnEffectile columnAction kullanın. Listelenmeyen sütunlar varsayılan null değerini alır. Tablodaki tüm sütunları göstermek için kullanın * .

tablePath

string

Sütun kısıtlamasının hangi tabloya uygulanacağını belirten göreli dosya yolu. Bu, biçiminde /Tables/{optionalSchema}/{tableName}olmalıdır. Burada yalnızca bir değer verilebilir ve tableName, PermissionScope'a eklenmiş bir tablo olmalıdır.

ColumnEffect

columnNames öğesine verilen etki. İzin verilen tek değer İzin Ver'dir. Zaman içinde ek columnEffect türleri eklenebilir.

Değer Description
Permit

ColumnEffect türü İzin Ver

Constraints

Bu rolün bir parçası olarak tablolara uygulanan satır veya sütun düzeyi güvenlik gibi tüm kısıtlamalar. Dahil değilse, roldeki tablolara hiçbir kısıtlama uygulanmaz.

Name Tür Description
columns

ColumnConstraint[]

Veri erişim rolündeki bir veya daha fazla tabloya uygulanan sütun kısıtlamaları dizisi.

rows

RowConstraint[]

Veri erişim rolündeki bir veya daha fazla tabloya uygulanan satır kısıtlamaları dizisi.

CreateOrUpdateDataAccessRolesRequest

Veri erişim güvenliğini yönetmek ve yalnızca yetkili kullanıcıların belirli verileri görüntüleyebilmesini, düzenleyebilmesini veya silebilmesini sağlamak için kullanılan Rollerin tanımını içerir. Bu API'nin çağrılması rol tanımlarını güncelleştirir ve sağlanan yükle eşleşecek rolleri oluşturur, güncelleştirir veya siler.

Name Tür Description
value

DataAccessRole[]

Veri erişim güvenliğini yönetmek ve yalnızca yetkili kullanıcıların belirli verileri görüntüleyebilmesini sağlamak için kullanılan rollerin listesi. Rol, üyelerinin kapsamdaki veriler için gerçekleştirmesine izin verilen eylemleri tanımlayan bir izin kümesini ve izin kapsamlarını temsil eder. Üyeler, rolü verilmiş kullanıcılar veya gruplardır ve role atanan izinlere göre verileri okuyabilirler. Örneğin, bir üye bir Microsoft Entra Id grubu olabilir ve izin kapsamı, OneLake'te belirtilen Dosya, Klasör veya Tablo Yolu'na uygulanan bir Okuma Eylemi olabilir.

DataAccessRole

Sunucu tarafından atanan kimlik de dahil olmak üzere tam veri erişim rolü nesnesi.

Name Tür Description
decisionRules

DecisionRule[]

Veri erişim rolünü oluşturan izin dizisi.

id

string (uuid)

Veri erişim rolünün benzersiz kimliği.

kind

DataAccessRoleKind

Veri erişim rolünün türü. Şu anda desteklenen tek türdür Policy. Zaman içinde ek tür türleri eklenebilir.

members

Members

Rolün üyelerini farklı üye türlerinin dizileri olarak içeren members nesnesi.

name

string

Veri erişim rolünün adı.

DataAccessRoleKind

Veri erişim rolünün türü. Şu anda desteklenen tek türdür Policy. Zaman içinde ek tür türleri eklenebilir.

Değer Description
Policy

İlke tabanlı veri erişim rolü.

DecisionRule

İstenen eylemle eşleştirmek için bir kural belirtir. Bir kullanıcının veya varlığın kaynak üzerinde belirli bir eylemi (örneğin okuma) gerçekleştirme yetkisi olup olmadığını belirleyen efekt (İzin) ve İzin içerir. İzin, kuralın uygulanması için istenen eylemle eşleşmesi gereken, öznitelikler tarafından tanımlanan bir kapsam kümesidir.

Name Tür Description
constraints

Constraints

Bu rolün bir parçası olarak tablolara uygulanan satır veya sütun düzeyi güvenlik gibi tüm kısıtlamalar. Dahil değilse, roldeki tablolara hiçbir kısıtlama uygulanmaz.

effect

Effect

Bir rolün veri kaynağına erişimi üzerindeki etkisi. Şu anda desteklenen tek efekt türü, kaynağa erişim izni veren Permit' dir. Zaman içinde ek efekt türleri eklenebilir.

permission

PermissionScope[]

permission özelliği, istenen eylemin kapsamını ve erişim düzeyini belirten bir dizidir. Dizi tam olarak iki PermissionScope nesnesi içermelidir: Path ve Action. scope, PermissionScope nesnesi kullanılarak tanımlanır ve attributeValueIncludedIn erişilen kaynağın konumunu veya verilen eylem türünü belirtir. access, Readgibi verilen erişim düzeyini ifade eder.

Effect

Bir rolün veri kaynağına erişimi üzerindeki etkisi. Şu anda desteklenen tek efekt türü, kaynağa erişim izni veren Permit' dir. Zaman içinde ek efekt türleri eklenebilir.

Değer Description
Permit

etki türü İzin Ver

ErrorRelatedResource

Hatayla ilgili kaynak ayrıntıları nesnesi.

Name Tür Description
resourceId

string

Hataya dahil olan kaynak kimliği.

resourceType

string

Hataya dahil olan kaynağın türü.

ErrorResponse

Hata yanıtı.

Name Tür Description
errorCode

string

Hizmetimiz ve kullanıcıları arasında standartlaştırılmış iletişime olanak sağlayan bir hata koşulu hakkında bilgi sağlayan belirli bir tanımlayıcı.

isRetriable

boolean

True olduğunda istek yeniden denenebilir. Varsa gecikmeyi Retry-After belirlemek için yanıt üst bilgisini kullanın.

message

string

Hatanın okunabilir bir gösterimi.

moreDetails

ErrorResponseDetails[]

Ek hata ayrıntılarının listesi.

relatedResource

ErrorRelatedResource

Hatayla ilgili kaynak ayrıntıları.

requestId

string (uuid)

Hatayla ilişkili isteğin kimliği.

ErrorResponseDetails

Hata yanıtı ayrıntıları.

Name Tür Description
errorCode

string

Hizmetimiz ve kullanıcıları arasında standartlaştırılmış iletişime olanak sağlayan bir hata koşulu hakkında bilgi sağlayan belirli bir tanımlayıcı.

message

string

Hatanın okunabilir bir gösterimi.

relatedResource

ErrorRelatedResource

Hatayla ilgili kaynak ayrıntıları.

FabricItemMember

Doku öğesi üyesi.

Name Tür Description
itemAccess

ItemAccess[]

Doku kullanıcısının rol üyelerine otomatik olarak eklenmesi için erişim izinlerini belirten liste. Zaman içinde ek itemAccess türleri eklenebilir.

sourcePath

string

pattern: ^[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?/[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?$

Belirtilen öğe erişimine sahip Doku öğesinin yolu.

ItemAccess

Doku kullanıcısının rol üyelerine otomatik olarak eklenmesi için erişim izinlerini belirten liste. Zaman içinde ek itemAccess türleri eklenebilir.

Değer Description
Read

Öğe Erişimi Okuma.

Write

Öğe Erişimi Yazma.

Reshare

Öğe Erişimi Yeniden Paylaşma.

Explore

Öğe Erişimi Araştırma.

Execute

Öğe Erişimi Yürütme.

ReadAll

Öğe Erişimi ReadAll.

Members

Rolün üyelerini farklı üye türlerinin dizileri olarak içeren members nesnesi.

Name Tür Description
fabricItemMembers

FabricItemMember[]

Microsoft Fabric'te belirli bir izin kümesine sahip üyelerin listesi. Bu izin kümesine sahip tüm üyeler bu Veri Erişimi Rolünün üyesi olarak eklenir.

microsoftEntraMembers

MicrosoftEntraMember[]

Microsoft Entra Id üyelerinin listesi.

MicrosoftEntraMember

Role atanan Microsoft Entra Id üyesi.

Name Tür Description
objectId

string (uuid)

Nesne kimliği.

objectType

ObjectType

Microsoft Entra ID nesnesinin türü. Zaman içinde ek objectType türleri eklenebilir.

tenantId

string (uuid)

Kiracı kimliği.

ObjectType

Microsoft Entra ID nesnesinin türü. Zaman içinde ek objectType türleri eklenebilir.

Değer Description
Group

Öznitelik adı Grubu

User

Öznitelik adı Kullanıcı

ServicePrincipal

ServicePrincipal öznitelik adı

ManagedIdentity

Öznitelik adı ManagedIdentity

PermissionScope

Bir kaynağa erişim kapsamını ve düzeyini belirleyen bir öznitelik kümesi (özellikler) tanımlar. attributeName özelliği Patholarak ayarlandığında, attributeValueIncludedIn özelliği erişilen kaynağın konumunu (örneğin, "Tablolar/Tablo1") belirtmelidir. attributeName özelliği Actionolarak ayarlandığında, attributeValueIncludedIn özelliği Readgibi verilen erişim türünü belirtmelidir.

Name Tür Description
attributeName

AttributeName

Erişim izinleri için değerlendirilen özniteliğin adını belirtir. AttributeName Path veya Actionolabilir. Zaman içinde ek attributeName türleri eklenebilir.

attributeValueIncludedIn

string[]

Kapsamı ve kaynağa erişim düzeyini tanımlamak için attributeName değerlerinin listesini belirtir. attributeName Patholduğunda attributeValueIncludedIn erişilen kaynağın konumunu (örneğin, "Tablolar/Tablo1") belirtmelidir. attributeName Actionolduğunda, attributeValueIncludedInReadgibi verilen erişim türünü belirtmelidir.

RowConstraint

RowConstraint, bir tablodaki kullanıcıların görebileceği satırları belirleyen bir kısıtlamayı belirtir. RowConstraints ile tanımlanan roller, tablodaki verileri filtreleyen bir koşul tanımlamak için T-SQL kullanır. Koşulun koşullarına uymayan satırlar filtrelenir ve özgün satırların bir alt kümesi bırakılır. RowConstraints, T-SQL kullanarak RLS'nin dinamik ve çok tablolu çeşitlerini belirtmek için de kullanılabilir.

Name Tür Description
tablePath

string

Satır kısıtlamasının hangi tabloya uygulanacağını belirten göreli dosya yolu. Bu, biçiminde /Tables/{optionalSchema}/{tableName}olmalıdır. Burada yalnızca bir değer verilebilir ve tableName, PermissionScope'a eklenmiş bir tablo olmalıdır.

value

string

Rol üyelerinin hangi satırları görebileceğini değerlendirmek için kullanılan bir T-SQL ifadesi. Koşul olarak yalnızca bir T-SQL alt kümesi kullanılabilir.