Google OpenID 身份驗證¶
注意
此身份驗證機制僅適用於 Airflow 2.x
您還可以配置 Google OpenID 進行身份驗證。要啟用它,請在配置中設定以下選項
[api]
auth_backends = airflow.providers.google.common.auth_backend.google_openid
強烈建議配置 OAuth2 audience,以便生成的令牌僅限於 Airflow 使用。
[api]
google_oauth2_audience = project-id-random-value.apps.googleusercontent.com
您還可以配置 CLI 向遠端 API 傳送請求,而不是查詢本地資料庫。
[cli]
api_client = airflow.api.client.json_client
endpoint_url = http://remote-host.example.org/
您還可以設定服務帳號金鑰。如果省略,則將使用基於 應用預設憑據 的授權。
[cli]
google_key_path = <KEY_PATH>
您可以使用 gcloud auth print-identity-token 命令獲取授權令牌。示例請求如下所示。
ENDPOINT_URL="https://:8080/" AUDIENCE="project-id-random-value.apps.googleusercontent.com" ID_TOKEN="$(gcloud auth print-identity-token "--audiences=${AUDIENCE}")" curl -X GET \ "${ENDPOINT_URL}/api/experimental/pools" \ -H 'Content-Type: application/json' \ -H 'Cache-Control: no-cache' \ -H "Authorization: Bearer ${ID_TOKEN}"