במאמר הזה מוסבר איך לבצע אימות למשאב שמאובטח באמצעות IAP מחשבון משתמש או מחשבון שירות.
גישה פרוגרמטית מתייחסת לקריאה לאפליקציות שמאובטחות באמצעות IAP מלקוחות שאינם דפדפנים, כמו כלים של שורת פקודה, קריאות משירות לשירות ואפליקציות לנייד. בהתאם לתרחיש השימוש, יכול להיות שתרצו לבצע אימות ל-IAP באמצעות פרטי כניסה של משתמש או פרטי כניסה של שירות.
חשבון משתמש שייך למשתמש פרטי. אתם מאמתים חשבון משתמש כשהאפליקציה שלכם דורשת גישה למשאבים שמוגנים על ידי IAP בשם המשתמש. מידע נוסף זמין במאמר בנושא חשבונות משתמשים.
חשבון שירות מייצג אפליקציה ולא משתמש פרטי. מבצעים אימות של חשבון שירות כשרוצים לאפשר לאפליקציה לגשת למשאבים שמוגנים על ידי IAP. מידע נוסף זמין במאמר חשבונות שירות.
IAP תומך בסוגי פרטי הכניסה הבאים לגישה תוכנתית:
- אסימון מזהה מסוג OAuth 2.0 – אסימון שהונפק על ידי Google למשתמש אנושי או לחשבון שירות, עם טענת הקהל שמוגדרת למזהה המשאב של אפליקציית ה-IAP.
- JWT חתום בחשבון שירות – אסימון JWT בחתימה עצמית או כזה שהונפק על ידי Google לחשבון שירות.
צריך לכלול את פרטי הכניסה האלה ל-IAP בכותרת ה-HTTP Authorization או Proxy-Authorization של הבקשה.
לפני שמתחילים
מוודאים שיש לכם אפליקציה שאתם רוצים לגשת אליה באופן פרוגרמטי באמצעות חשבון מפתח, חשבון שירות או פרטי כניסה לאפליקציה לנייד.
במאמר בנושא גישה באמצעות תוכנה מוסבר איך ליצור לקוח אחד או יותר של OAuth 2.0.
אימות של חשבון משתמש
אתם יכולים לאפשר למשתמשים לגשת לאפליקציה שלכם ממחשב או מאפליקציה לנייד כדי לאפשר לתוכנה לבצע אינטראקציה עם משאב שמוגן על ידי רכישה מתוך האפליקציה.
אימות מאפליקציה לנייד
- יוצרים או משתמשים במזהה לקוח קיים של OAuth 2.0 לאפליקציה לנייד. כדי להשתמש במזהה לקוח קיים של OAuth 2.0, פועלים לפי השלבים במאמר איך משתפים לקוחות OAuth. מוסיפים את מזהה הלקוח ב-OAuth לרשימת ההיתרים של גישה פרוגרמטית לאפליקציה.
- מקבלים אסימון מזהה למזהה הלקוח ב-OAuth 2.0 של המשאב שמאובטח באמצעות IAP.
- Android: משתמשים ב-Google Sign-In API כדי לבקש אסימון OpenID Connect (OIDC). מגדירים את מזהה הלקוח
requestIdTokenלמזהה הלקוח של המשאב שאליו מתחברים. - iOS: משתמשים בכניסה באמצעות חשבון Google כדי לקבל טוקן מזהה.
- Android: משתמשים ב-Google Sign-In API כדי לבקש אסימון OpenID Connect (OIDC). מגדירים את מזהה הלקוח
- כדי לשלוח בקשה מאומתת למשאב שמוגן על ידי IAP, צריך לכלול את האסימון המזהה בכותרת
Authorization: Bearer.
אימות מאפליקציה למחשב
בקטע הזה מוסבר איך לאמת חשבון משתמש משורת פקודה במחשב.
- כדי לאפשר למפתחים לגשת לאפליקציה משורת הפקודה, צריך ליצור מזהה לקוח OAuth 2.0 למחשב או לשתף מזהה לקוח OAuth קיים למחשב.
- מוסיפים את מזהה OAuth לרשימת ההיתרים של גישה באמצעות תוכנה לאפליקציה.
כניסה לאפליקציה
כל מפתח צריך להיכנס לחשבון שלו כדי לגשת לאפליקציה שמוגנת על ידי IAP. אפשר לארוז את התהליך בסקריפט, למשל באמצעות ה-CLI של gcloud. בדוגמה הבאה נעשה שימוש ב-curl כדי להיכנס וליצור אסימון שאפשר להשתמש בו כדי לגשת לאפליקציה:
- נכנסים לחשבון שיש לו גישה אל Google Cloud המשאב.
מפעילים שרת מקומי שיכול להחזיר את הבקשות הנכנסות.
# Example using Netcat (http://netcat.sourceforge.net/) nc -k -l 4444עוברים אל ה-URI הבא, שבו
DESKTOP_CLIENT_IDהוא מזהה הלקוח של אפליקציית הדסקטופ:https://accounts.google.com/o/oauth2/v2/auth?client_id=DESKTOP_CLIENT_ID&response_type=code&scope=openid%20email&access_type=offline&redirect_uri=http://localhost:4444&cred_ref=trueבפלט של השרת המקומי, מחפשים את פרמטרי הבקשה:
GET /?code=CODE&scope=email%20openid%20https://www.googleapis.com/auth/userinfo.email&hd=google.com&prompt=consent HTTP/1.1מעתיקים את הערך של CODE כדי להחליף את CODE בפקודה הבאה, יחד עם ה-Client ID והסוד של אפליקציית המחשב:
curl --verbose \ --data client_id=DESKTOP_CLIENT_ID \ --data client_secret=DESKTOP_CLIENT_SECRET \ --data code=CODE \ --data redirect_uri=http://localhost:4444 \ --data grant_type=authorization_code \ https://oauth2.googleapis.com/tokenהפקודה הזו מחזירה אובייקט JSON עם שדה
id_tokenשאפשר להשתמש בו כדי לגשת לאפליקציה.
גישה לאפליקציה
כדי לגשת לאפליקציה, משתמשים ב-id_token:
curl --verbose --header 'Authorization: Bearer ID_TOKEN' URL
טוקן רענון
אפשר להשתמש באסימון הרענון שנוצר במהלך תהליך הכניסה כדי לקבל אסימוני מזהה חדשים. האפשרות הזו שימושית כשתוקף אסימון המזהה המקורי פג. כל אסימון מזהה תקף למשך כשעה, ובמהלך הזמן הזה אפשר לשלוח כמה בקשות לאפליקציה ספציפית.
בדוגמה הבאה נעשה שימוש ב-curl כדי להשתמש באסימון הרענון ולקבל אסימון מזהה חדש.
בדוגמה הזו, REFRESH_TOKEN הוא הטוקן מתהליך הכניסה.
הערכים DESKTOP_CLIENT_ID ו-DESKTOP_CLIENT_SECRET זהים לערכים שמשמשים בתהליך הכניסה:
curl --verbose \
--data client_id=DESKTOP_CLIENT_ID \
--data client_secret=DESKTOP_CLIENT_SECRET \
--data refresh_token=REFRESH_TOKEN \
--data grant_type=refresh_token \
https://oauth2.googleapis.com/token
הפקודה הזו מחזירה אובייקט JSON עם שדה id_token חדש שבו אפשר להשתמש כדי לגשת לאפליקציה.
אימות של חשבון שירות
אתם יכולים להשתמש באסימון JWT של חשבון שירות או באסימון OpenID Connect (OIDC) כדי לאמת חשבון שירות עם משאב שמוגן על ידי IAP. בטבלה הבאה מפורטים כמה מההבדלים בין אסימוני האימות השונים והתכונות שלהם.
| תכונות אימות | JWT של חשבון שירות | אסימון OpenID Connect |
|---|---|---|
| תמיכה בבקרת גישה מבוססת-הקשר | ||
| דרישה למזהה לקוח OAuth 2.0 | ||
| היקף הטוקן | כתובת ה-URL של מקור המידע שמוגן על ידי IAP | מזהה לקוח OAuth 2.0 |
אימות באמצעות JWT של חשבון שירות
IAP תומך באימות JWT של חשבונות שירות עבור זהויות ב-Google, ב-Identity Platform ובאפליקציות שהוגדרו באמצעות איחוד שירותי אימות הזהות של כוח העבודה.
כדי לבצע אימות של חשבון שירות באמצעות JWT, צריך לבצע את השלבים הבאים:
מקצים לחשבון השירות שקורא את התפקיד יצירת אסימונים בחשבון שירות (
roles/iam.serviceAccountTokenCreator).התפקיד הזה מעניק לחשבונות משתמשים הרשאה ליצור פרטי כניסה לטווח קצר, כמו JWT.
יוצרים JWT למשאב שמאובטח על ידי IAP.
חותמים על ה-JWT באמצעות המפתח הפרטי של חשבון השירות.
יצירת ה-JWT
המטען הייעודי (payload) של ה-JWT שנוצר צריך להיות דומה לדוגמה הבאה:
{
"iss": SERVICE_ACCOUNT_EMAIL_ADDRESS,
"sub": SERVICE_ACCOUNT_EMAIL_ADDRESS,
"aud": TARGET_URL,
"iat": IAT,
"exp": EXP,
}
בשדות
issו-subמציינים את כתובת האימייל של חשבון השירות. כתובת האימייל נמצאת בשדהclient_emailשל קובץ ה-JSON של חשבון השירות או מסופקת כקלט. פורמט טיפוסי:service-account@PROJECT_ID.iam.gserviceaccount.comבשדה
aud, מציינים את כתובת ה-URL המדויקת או את כתובת ה-URL עם תבנית wildcard של נתיב (/*) של המשאב שמוגן על ידי IAP – לדוגמה,https://example.com/אוhttps://example.com/*. אפשר לגשת לכתובת URL ספציפית רק באמצעות JWT עם כתובת ה-URL המדויקת בשדהaud. אסימון JWT עם תו כללי לחיפוש של נתיב (/*) בשדהaudיכול לגשת לכל כתובות ה-URL שמתחילות במחרוזתaudבלי התו*בסוף.בשדה
iatמציינים את הזמן הנוכחי של מערכת Unix, ובשדהexpמציינים זמן שחל עד 3,600 שניות מאוחר יותר. ההגדרה הזו קובעת מתי תפוג התוקף של ה-JWT.
חתימה על ה-JWT
אפשר להשתמש באחת מהשיטות הבאות כדי לחתום על ה-JWT:
- משתמשים ב-IAM credentials API כדי לחתום על JWT בלי לדרוש גישה ישירה למפתח פרטי.
- משתמשים בקובץ מקומי של מפתח פרטי כניסה כדי לחתום על ה-JWT באופן מקומי.
חתימה על ה-JWT באמצעות IAM Service Account Credentials API
משתמשים ב-IAM Service Account Credentials API כדי לחתום על JWT של חשבון שירות. השיטה מאחזרת את המפתח הפרטי שמשויך לחשבון השירות ומשתמשת בו כדי לחתום על מטען ה-JWT. כך אפשר לחתום על JWT בלי גישה ישירה למפתח פרטי.
כדי לבצע אימות ב-IAP, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
gcloud
- מריצים את הפקודה הבאה כדי להכין בקשה עם מטען ייעודי (payload) של JWT:
cat > claim.json << EOM
{
"iss": "SERVICE_ACCOUNT_EMAIL_ADDRESS",
"sub": "SERVICE_ACCOUNT_EMAIL_ADDRESS",
"aud": "TARGET_URL",
"iat": $(date +%s),
"exp": $((`date +%s` + 3600))
}
EOM
- משתמשים בפקודה הבאה של Google Cloud CLI כדי לחתום על מטען הייעודי (payload) ב-
claim.json:
gcloud iam service-accounts sign-jwt --iam-account="SERVICE_ACCOUNT_EMAIL_ADDRESS" claim.json output.jwt
אחרי שהבקשה תאושר, output.jwt יכלול JWT חתום שבו תוכלו להשתמש כדי לגשת למשאב המאובטח באמצעות IAP.
Python
import datetime
import json
import google.auth
from google.cloud import iam_credentials_v1
def generate_jwt_payload(service_account_email: str, resource_url: str) -> str:
"""Generates JWT payload for service account.
Creates a properly formatted JWT payload with standard claims (iss, sub,
aud, iat, exp) needed for IAP authentication.
Args:
service_account_email (str): Specifies the service account that the
JWT is created for.
resource_url (str): Specifies the scope of the JWT, the URL that the
JWT will be allowed to access.
Returns:
str: JSON string containing the JWT payload with properly formatted
claims.
"""
# Create current time and expiration time (1 hour later) in UTC
iat = datetime.datetime.now(tz=datetime.timezone.utc)
exp = iat + datetime.timedelta(seconds=3600)
# Convert datetime objects to numeric timestamps (seconds since epoch)
# as required by JWT standard (RFC 7519)
payload = {
"iss": service_account_email,
"sub": service_account_email,
"aud": resource_url,
"iat": int(iat.timestamp()),
"exp": int(exp.timestamp()),
}
return json.dumps(payload)
def sign_jwt(target_sa: str, resource_url: str) -> str:
"""Signs JWT payload using ADC and IAM credentials API.
Uses Google Cloud's IAM Credentials API to sign a JWT. This requires the
caller to have iap.webServiceVersions.accessViaIap permission on the
target service account.
Args:
target_sa (str): Service Account JWT is being created for.
iap.webServiceVersions.accessViaIap permission is required.
resource_url (str): Audience of the JWT and scope of the JWT token.
This is the URL of the IAP-secured application.
Returns:
str: A signed JWT that can be used to access IAP-secured applications.
Use in Authorization header as: 'Bearer <signed_jwt>'
"""
# Get default credentials from environment or application credentials
source_credentials, project_id = google.auth.default()
# Initialize IAM credentials client with source credentials
iam_client = iam_credentials_v1.IAMCredentialsClient(credentials=source_credentials)
# Generate the service account resource name.
# Project should always be "-".
# Replacing the wildcard character with a project ID is invalid.
name = iam_client.service_account_path("-", target_sa)
# Create and sign the JWT payload
payload = generate_jwt_payload(target_sa, resource_url)
# Sign the JWT using the IAM credentials API
response = iam_client.sign_jwt(name=name, payload=payload)
return response.signed_jwt
curl
מריצים את הפקודה הבאה כדי להכין בקשה עם מטען ייעודי (payload) של JWT:
cat << EOF > request.json { "payload": JWT_PAYLOAD } EOFחתימה על ה-JWT באמצעות IAM
Service Account Credentials API:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT_EMAIL_ADDRESS:signJwt"אחרי בקשה מוצלחת, מוחזר JWT חתום בתגובה.
משתמשים ב-JWT כדי לגשת למשאב שמוגן על ידי IAP.
חתימה על ה-JWT מקובץ מקומי של מפתח פרטי כניסה
אסימוני JWT נחתמים באמצעות המפתח הפרטי של חשבון השירות.
אם יש לכם קובץ מפתח של חשבון שירות, אפשר לחתום על ה-JWT באופן מקומי.
כשחותמים על ה-JWT באופן מקומי, צריך לכלול כותרת JWT עם המטען הייעודי (payload). בשדה kid בכותרת, משתמשים במזהה המפתח הפרטי של חשבון השירות, שמופיע בשדה private_key_id בקובץ ה-JSON של פרטי הכניסה של חשבון השירות.
המפתח הפרטי מהקובץ משמש לחתימה על ה-JWT.
גישה לאפליקציה
כדי לגשת לאפליקציה, צריך לכלול את ה-JWT החתום בכותרת Authorization:
curl --verbose --header 'Authorization: Bearer SIGNED_JWT' URL
אימות באמצעות אסימון OIDC של חשבון שירות
כדי לבצע אימות באמצעות אסימון OIDC של חשבון שירות:
יוצרים מזהה לקוח חדש של OIDC או משתמשים במזהה לקוח קיים.
כדי ליצור מזהה לקוח חדש של OAuth 2.0:
אם עדיין לא עשיתם זאת, ודאו שרשמתם את האפליקציה שלכם לשימוש באימות של Google.
עוברים לדף של פלטפורמת האימות של Google.
מעבר אל פלטפורמת האימות של Google
אם לא בחרתם פרויקט, תתבקשו ליצור פרויקט.
לוחצים על Create Client.
בוחרים את סוג האפליקציה המתאים ומזינים את כל המידע הנוסף שנדרש.
ממלאים את הפרטים הנדרשים לסוג הלקוח שנבחר. כדי ליצור את הלקוח, לוחצים על Create.
כדי להשתמש במזהה לקוח קיים של OAuth 2.0: פועלים לפי השלבים במאמר איך משתפים לקוחות OAuth.
מוסיפים את מזהה OAuth לרשימת ההיתרים של גישה באמצעות תוכנה לאפליקציה.
מוודאים שחשבון השירות שמוגדר כברירת מחדל נוסף לרשימת הגישה של הפרויקט שמאובטח באמצעות IAP.
כששולחים בקשות למשאב שמאובטח באמצעות IAP, צריך לכלול את האסימון בכותרת Authorization: Authorization: 'Bearer OIDC_TOKEN'
בדוגמאות הקוד הבאות אפשר לראות איך מקבלים אסימון OIDC.
קבלת אסימון OIDC לחשבון השירות שמוגדר כברירת מחדל
כדי לקבל אסימון OIDC בשביל חשבון השירות שמוגדר כברירת מחדל ב-Compute Engine, ב-App Engine או ב-Cloud Run, צריך להפנות לדוגמת הקוד הבאה כדי ליצור אסימון לגישה למשאב שמאובטח באמצעות IAP:
C#
כדי לבצע אימות ב-IAP, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Go
כדי לבצע אימות ב-IAP, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
כדי לבצע אימות ב-IAP, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
כדי לבצע אימות ב-IAP, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
PHP
כדי לבצע אימות ב-IAP, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי לבצע אימות ב-IAP, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Ruby
כדי לבצע אימות ב-IAP, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
קבלת אסימון OIDC מקובץ מפתח מקומי של חשבון שירות
כדי ליצור אסימון OIDC באמצעות קובץ מפתח של חשבון שירות, צריך ליצור טענת נכונות (assertion) של JWT ולחתום עליה באמצעות קובץ המפתח, ואז להמיר את טענת הנכונות הזו לאסימון מזהה. הסקריפט הבא של Bash מדגים את התהליך הזה:
Bash
#!/usr/bin/env bash
#
# Example script that generates an OIDC token using a service account key file and uses it to access an IAP-secured resource.
set -euo pipefail
get_token() {
# Get the bearer token in exchange for the service account credentials
local service_account_key_file_path="${1}"
local iap_client_id="${2}"
# Define the scope and token endpoint
local iam_scope="https://www.googleapis.com/auth/iam"
local oauth_token_uri="https://www.googleapis.com/oauth2/v4/token"
# Extract data from service account key file
local private_key_id="$(cat "${service_account_key_file_path}" | jq -r '.private_key_id')"
local client_email="$(cat "${service_account_key_file_path}" | jq -r '.client_email')"
local private_key="$(cat "${service_account_key_file_path}" | jq -r '.private_key')"
# Set token timestamps (current time and expiration 10 minutes later)
local issued_at="$(date +%s)"
local expires_at="$((issued_at + 600))"
# Create JWT header and payload
local header="{'alg':'RS256','typ':'JWT','kid':'${private_key_id}'}"
local header_base64="$(echo "${header}" | base64 | tr -d '\n')"
local payload="{'iss':'${client_email}','aud':'${oauth_token_uri}','exp':${expires_at},'iat':${issued_at},'sub':'${client_email}','target_audience':'${iap_client_id}'}"
local payload_base64="$(echo "${payload}" | base64 | tr -d '\n')"
# Create JWT signature using the private key
local signature_base64="$(printf %s "${header_base64}.${payload_base64}" | openssl dgst -binary -sha256 -sign <(printf '%s\n' "${private_key}") | base64 | tr -d '\n')"
local assertion="${header_base64}.${payload_base64}.${signature_base64}"
# Exchange the signed JWT assertion for an ID token
local token_payload="$(curl -s \
--data-urlencode "grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer" \
--data-urlencode "assertion=${assertion}" \
https://www.googleapis.com/oauth2/v4/token)"
# Extract just the ID token from the response
local bearer_id_token="$(echo "${token_payload}" | jq -r '.id_token')"
echo "${bearer_id_token}"
}
main() {
# Check if required arguments are provided
if [[ $# -lt 3 ]]; then
echo "Usage: $0 <service_account_key_file.json> <iap_client_id> <url>"
exit 1
fi
# Assign parameters to variables
SERVICE_ACCOUNT_KEY="$1"
IAP_CLIENT_ID="$2"
URL="$3"
# Generate the ID token
echo "Generating token..."
ID_TOKEN=$(get_token "${SERVICE_ACCOUNT_KEY}" "${IAP_CLIENT_ID}")
# Access the IAP-secured resource with the token
echo "Accessing: ${URL}"
curl --header "Authorization: Bearer ${ID_TOKEN}" "${URL}"
}
# Run the main function with all provided arguments
main "$@"
הסקריפט הזה מבצע את השלבים הבאים:
- שולף את פרטי המפתח של חשבון השירות מקובץ מפתח JSON
- יוצר JWT עם השדות הנדרשים, כולל מזהה לקוח IAP בתור קהל היעד
- חתימה על ה-JWT באמצעות המפתח הפרטי של חשבון השירות
- מחליף את ה-JWT הזה באסימון OIDC דרך שירות ה-OAuth של Google
- משתמשים בטוקן שמתקבל כדי לשלוח בקשה מאומתת למשאב שמאובטח באמצעות IAP
כדי להשתמש בסקריפט הזה:
- שומרים אותו בקובץ, למשל:
get_iap_token.sh - הופכים את הקובץ לניתן להרצה:
chmod +x get_iap_token.sh - מריצים אותו עם שלושה פרמטרים:
./get_iap_token.sh service-account-key.json \
OAUTH_CLIENT_ID \
URL
כאשר:
-
service-account-key.jsonהוא קובץ המפתח של חשבון השירות שהורדתם - OAUTH_CLIENT_ID הוא מזהה הלקוח ב-OAuth של המשאב שמאובטח באמצעות IAP
- URL היא כתובת ה-URL שאליה רוצים לגשת
קבלת אסימון OIDC באמצעות התחזות לחשבון שירות
בכל שאר המקרים, משתמשים ב-IAM Credentials API כדי ליצור אסימון OIDC על ידי התחזות לחשבון שירות יעד ממש לפני הגישה למשאב שמוגן על ידי IAP. התהליך הזה כולל את השלבים הבאים:
נותנים לחשבון השירות שקורא (חשבון השירות שמשויך לקוד שמקבל את אסימון המזהה) את התפקיד 'יצירת אסימון זהות' ב-OpenID Connect של חשבון שירות (
roles/iam.serviceAccountOpenIdTokenCreator).כך חשבון השירות שמבצע את הקריאה מקבל את היכולת להתחזות לחשבון השירות של היעד.
משתמשים בפרטי הכניסה שסופקו על ידי חשבון השירות שמבצע את הקריאה כדי לקרוא לשיטה generateIdToken בחשבון השירות של היעד.
מגדירים את השדה
audienceלמזהה הלקוח.
להוראות מפורטות, תוכלו לקרוא את המאמר יצירת אסימון מזהה.
אימות מכותרת Proxy-Authorization
אם האפליקציה שלכם משתמשת בכותרת הבקשה Authorization, אתם יכולים לכלול את אסימון המזהה בכותרת Proxy-Authorization: Bearer במקום זאת. אם נמצא אסימון מזהה תקין בכותרת Proxy-Authorization, IAP מאשר את הבקשה באמצעות האסימון. אחרי אישור הבקשה, IAP מעביר את הכותרת Authorization לאפליקציה בלי לעבד את התוכן.
אם לא נמצא אסימון מזהה תקין בכותרת Proxy-Authorization, IAP ממשיך לעבד את הכותרת Authorization ומסיר את הכותרת Proxy-Authorization לפני העברת הבקשה לאפליקציה.
גישה לאפליקציה
כדי לגשת לאפליקציה באמצעות הכותרת Proxy-Authorization, מריצים את הפקודה הבאה:
curl --verbose --header 'Proxy-Authorization: Bearer SIGNED_JWT' URL
המאמרים הבאים
- מידע נוסף על הרשאה: טוקנים מסוג Bearer
- אפשר לנסות את הכניסה לחשבון ב-Android או את הכניסה לחשבון ב-iOS.