Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure İzleyici Log Analytics uç noktasını https://api.loganalytics.azure.com kullanarak çalışma alanına sorgu isteği gönderebilirsiniz. Uç noktaya erişmek için Microsoft Entra ID aracılığıyla kimlik doğrulaması yapmanız gerekir.
Not
api.loganalytics.io son nokta, api.loganalytics.azure.com ile değiştiriliyor. Son api.loganalytics.io nokta, yakın gelecekte desteklenmeye devam edecektir.
Tanıtım API'si anahtarıyla kimlik doğrulaması
Microsoft Entra kimlik doğrulaması olmadan API'yi hızla keşfetmek için örnek verilerle birlikte API anahtar kimlik doğrulamasını destekleyen tanıtım çalışma alanını kullanın.
Örnek çalışma alanında kimlik doğrulaması yapmak ve sorguları çalıştırmak için {workspace-id} olarak kullanın DEMO_WORKSPACE ve API anahtarını DEMO_KEYgeçirin.
Uygulama Kimliği veya API anahtarı yanlışsa, API hizmeti 403 (Yasak) hatası döndürür.
Üst bilgi, URL veya temel kimlik doğrulaması kullanmak isteyip istemediğinize bağlı olarak API anahtarı DEMO_KEY üç farklı yolla geçirilebilir:
-
Özel başlık: API anahtarını özel başlıkta sağlayın
X-Api-Key. -
Sorgu parametresi: URL parametresinde
api_keyAPI anahtarını sağlayın. - Temel kimlik doğrulaması: API anahtarını kullanıcı adı veya parola olarak belirtin. Her ikisini de sağlarsanız, API anahtarının kullanıcı adı içinde olması gerekir.
Bu örnekte üst bilgideki çalışma alanı kimliği ve API anahtarı kullanılır:
POST https://api.loganalytics.azure.com/v1/workspaces/DEMO_WORKSPACE/query
X-Api-Key: DEMO_KEY
Content-Type: application/json
{
"query": "AzureActivity | summarize count() by Category"
}
Genel API uç noktası
Genel API uç noktası:
https://api.loganalytics.azure.com/{api-version}/workspaces/{workspaceId}
Nerede:
-
api-version: API sürümü. Geçerli sürüm:
v1. - workspaceId: Çalışma alanı kimliğiniz.
Not
beta Api sürümü kullanım dışı bırakıldı. Daha fazla bilgi için Toplu ve beta sorgu API'lerini kullanmayı bırakıp geçiş yapma bölümüne bakın.
Sorgu istek gövdesinde geçirilir.
Örneğin:
https://api.loganalytics.azure.com/v1/workspaces/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
Body:
{
"query": "Usage"
}
Kimlik doğrulaması kurulumu
API'ye erişmek için Microsoft Entra ID ile bir istemci uygulaması kaydeder ve belirteç isteyebilirsiniz.
Microsoft Entra ID'da bir uygulamayı kaydetme.
Uygulamanın genel bakış sayfasında API izinleri'ni seçin.
İzin ekle'yi seçin.
Kuruluşumun kullandığı APIler sekmesinde sekmesinde Log Analytics araması yapın ve listeden Log Analytics API öğesini seçin.
Atanan izinler'i seçin.
Data.Read onay kutusunu seçin.
İzinler ekle'yi seçin.
Uygulamanız artık kayıtlı olduğuna ve API'yi kullanma izinlerine sahip olduğuna göre, uygulamanıza Log Analytics çalışma alanınıza erişim izni verin.
Log Analytics çalışma alanınız genel bakış sayfasından Erişim kontrolü (IAM) öğesini seçin.
Rol ataması ekle’yi seçin.
Okuyucu rolünü ve ardından Üyeler'i seçin.
Üyeler sekmesinde Üye seç'i seçin.
Seç kutusuna uygulamanızın adını girin.
Uygulamanızı seçin ve Seç'i seçin.
Gözden geçir + ata'yı seçin.
Active Directory kurulum ve çalışma alanı izinlerini tamamladıktan sonra bir yetkilendirme belirteci isteyin.
Not
Bu örnekte Okuyucu rolünü uyguladık. Bu rol birçok yerleşik rolden biridir ve ihtiyacınız olandan daha fazla izin içerebilir. Daha ayrıntılı roller ve izinler oluşturulabilir. Daha fazla bilgi için bkz. Log Analytics çalışma alanlarına erişimi yönetme.
Yetkilendirme belirteci isteme
Başlamadan önce, isteği başarıyla yapmak için gereken tüm değerlere sahip olduğunuzdan emin olun. Tüm istekler şunları gerektirir:
- Microsoft Entra kiracı hesabı kimliğiniz.
- Çalışma alanı kimliğiniz.
- Uygulama için Microsoft Entra istemci kimliğiniz.
- Uygulama için Microsoft Entra istemci gizli dizisi.
Log Analytics API'si üç farklı Microsoft Entra ID OAuth2 akışıyla Microsoft Entra kimlik doğrulamasını destekler:
- İstemci kimlik bilgileri
- Yetki kodu
- Örtük
İstemci kimlik doğrulama akışı
İstemci kimlik bilgileri akışında belirteç, Log Analytics uç noktasıyla birlikte kullanılır. Bir uygulamayı Microsoft Entra ID
resource=https://api.loganalytics.azure.com adresini kullanın.
Aşağıdaki yöntemlerden herhangi birini kullanarak bir kimlik doğrulama belirteci alın:
- CLI
- REST API
- SDK
REST isteği kullanarak belirteç alma
Belirteç almak için aşağıdaki REST API çağrısını kullanın. Bu istek, isteği doğrulamak için bir istemci kimliği ve istemci sır bilgisi kullanır. İstemci kimliği ve istemci gizli anahtarı, uygulamanızı Microsoft Entra ID kaydettiğinizde elde edilir. Daha fazla bilgi için Yetkilendirme belirteçleri istemek ve API'lerle çalışmak için bir uygulama kaydetme sayfasına bakın.
curl -X POST 'https://login.microsoftonline.com/<tennant ID>/oauth2/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=<your apps client ID>' \
--data-urlencode 'client_secret=<your apps client secret' \
--data-urlencode 'resource={resource URI of the service you want to access, e.g. https://monitoring.azure.com>'}'
Yanıt gövdesi aşağıdaki biçimde görünür:
{
"token_type": "Bearer",
"expires_in": "86399",
"ext_expires_in": "86399",
"expires_on": "1672826207",
"not_before": "1672739507",
"resource": "{resource URI of the service you want to access, e.g. https://monitoring.azure.com>'}",
"access_token": "eyJ0eXAiOiJKV1Qi....gpHWoRzeDdVQd2OE3dNsLIvUIxQ"
}
Log Analytics uç noktasına yapılan isteklerde belirteci kullanın:
POST /v1/workspaces/your workspace id/query?timespan=P1D
Host: https://api.loganalytics.azure.com
Content-Type: application/json
Authorization: Bearer <your access token>
Body:
{
"query": "AzureActivity |summarize count() by Category"
}
Örnek yanıt:
{
"tables": [
{
"name": "PrimaryResult",
"columns": [
{
"name": "OperationName",
"type": "string"
},
{
"name": "Level",
"type": "string"
},
{
"name": "ActivityStatus",
"type": "string"
}
],
"rows": [
[
"Metric Alert",
"Informational",
"Resolved",
...
],
...
]
},
...
]
}
Yetkilendirme kodu akışı
Desteklenen ana OAuth2 akışı yetkilendirme kodları aracılığıyla yapılır. Bu yöntem, Azure İzleyici Log Analytics API'sini çağırmak için kullanılacak bir belirteç elde etmek amacıyla iki HTTP isteği gerektirir. İstek başına bir uç nokta içeren iki URL vardır. Biçimleri aşağıdaki bölümlerde açıklanmıştır.
Yetkilendirme kodu URL'si (GET isteği)
GET https://login.microsoftonline.com/YOUR_Azure AD_TENANT/oauth2/authorize?
client_id=<app-client-id>
&response_type=code
&redirect_uri=<app-redirect-uri>
&resource=https://api.loganalytics.io
Yetkilendirme URL'sine istekte bulunulduğunda, client_id Microsoft Entra uygulamanızın uygulama kimliğidir ve uygulamanın özellikler menüsünden kopyalanır. redirect_uri, aynı Microsoft Entra uygulamasındaki giriş sayfası/oturum açma URL'sidir. bir istek başarılı olduğunda, bu uç nokta sizi url'ye eklenen yetkilendirme koduyla birlikte kayıt sırasında sağladığınız oturum açma sayfasına yönlendirir. Aşağıdaki örneğe bakın:
http://<app-client-id>/?code=AUTHORIZATION_CODE&session_state=STATE_GUID
Bu noktada, bir erişim belirteci istemek için gerekli olan yetkilendirme kodunu aldınız.
Yetkilendirme kodu belirteci URL'si (POST isteği)
POST /YOUR_Azure AD_TENANT/oauth2/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&client_id=<app client id>
&code=<auth code fom GET request>
&redirect_uri=<app-client-id>
&resource=https://api.loganalytics.io
&client_secret=<app-client-secret>
Tüm değerler, bazı eklemelerle öncekiyle aynıdır. Yetkilendirme kodu, başarılı bir yeniden yönlendirmeden sonra önceki istekte aldığınız kodla aynıdır. Kod, Microsoft Entra uygulamasından alınan anahtarla birleştirilir. Anahtarı kaydetmediyseniz, anahtarı silebilir ve Microsoft Entra uygulama menüsünün tuşlar sekmesinden yeni bir anahtar oluşturabilirsiniz. Yanıt, aşağıdaki şemaya sahip belirteci içeren bir JSON dizesidir. Belirteç değerleri için türler gösterilir.
Örnek yanıt:
{
"access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax",
"expires_in": "3600",
"ext_expires_in": "1503641912",
"id_token": "not_needed_for_log_analytics",
"not_before": "1503638012",
"refresh_token": "eyJ0esdfiJKV1ljhgYF.....Az",
"resource": "https://api.loganalytics.io",
"scope": "Data.Read",
"token_type": "bearer"
}
Bu yanıtın erişim belirteci bölümü, Authorization: Bearer üst bilgisindeki Log Analytics API'sine sunabileceğiniz değerdir. Gelecekte, yenileme belirteci kullanarak eskimiş olan access_token ve refresh_token yerine yeni bir access_token ve refresh_token edinebilirsiniz. Bu istek için biçim ve uç nokta şunlardır:
POST /YOUR_AAD_TENANT/oauth2/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
client_id=<app-client-id>
&refresh_token=<refresh-token>
&grant_type=refresh_token
&resource=https://api.loganalytics.io
&client_secret=<app-client-secret>
Örnek yanıt:
{
"token_type": "Bearer",
"expires_in": "3600",
"expires_on": "1460404526",
"resource": "https://api.loganalytics.io",
"access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax",
"refresh_token": "eyJ0esdfiJKV1ljhgYF.....Az"
}
İstemci kimlik doğrulama akışı
Log Analytics API'si OAuth2 client kimlik bilgileri akışını destekler. Bu akış, kullanıcı etkileşimi gerekmeyen hizmet-hizmet çağrıları için uygundur.
İstemci kimlik bilgileri belirteci isteği
POST https://login.microsoftonline.com/YOUR_AAD_TENANT/oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
client_id=<app-client-id>
&scope=https://api.loganalytics.io/.default
&client_secret=<app-client-secret>
&grant_type=client_credentials
Örnek yanıt:
{
"token_type": "Bearer",
"expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax"
}
Bu access_token, istekleri yetkilendirmek için Log Analytics API'sine geçirildiğinde Authorization: Bearer üst bilgi değeri olarak kullanılabilir.
Daha Fazla Bilgi
Microsoft Entra ile OAuth2 ile ilgili belgeleri burada bulabilirsiniz: