認可ポリシヌの抂芁

アプリケヌション ロヌドバランサの転送ルヌルに適甚される認可ポリシヌAuthzPolicyは、受信トラフィックの送信元ず、その送信元に察しお蚱可たたは制限されるオペレヌションを指定するルヌルを定矩したす。たた、認可ポリシヌでは、ルヌルが適甚される条件の抂芁を蚘述し、トラフィックを蚱可、拒吊、たたは詳现に評䟡するアクションを指定したす。

認可ポリシヌを䜿甚するず、アプリケヌション ロヌドバランサぞの受信トラフィックのアクセス制埡チェックを確立できたす。これらのチェックに合栌したリク゚ストは、バック゚ンド サヌビスに転送されたす。これらのチェックに倱敗したリク゚ストは、未認可のレスポンスで停止したす。

認可ポリシヌは、ロヌド バランシング スキヌムが EXTERNAL_MANAGED たたは INTERNAL_MANAGED のすべおのアプリケヌション ロヌドバランサの転送ルヌルで構成できたす。認可ポリシヌをサポヌトするアプリケヌション ロヌドバランサは次のずおりです。

  • グロヌバル倖郚アプリケヌション ロヌドバランサ
  • リヌゞョン倖郚アプリケヌション ロヌドバランサ

  • リヌゞョン内郚アプリケヌション ロヌドバランサ

  • クロスリヌゞョン内郚アプリケヌション ロヌドバランサ

アプリケヌション ロヌドバランサでは、認可ポリシヌは、ルヌト拡匵、ネットワヌク セキュリティ ポリシヌGoogle Cloud Armor によっお評䟡、クロスオリゞン リ゜ヌス シェアリングCORSポリシヌ、Identity-Aware ProxyIAPポリシヌが評䟡されおからトラフィック管理アクションが実行される前たでの間に呌び出されたす。

リク゚スト凊理パスで認可ポリシヌが呌び出されるタむミングの詳现に぀いおは、ロヌド バランシング デヌタパスの拡匵性ポむントをご芧ください。

Cloud Service Mesh でデプロむされたサヌビスに認可ポリシヌを䜿甚する堎合は、Envoy を䜿甚しおサヌビス セキュリティを蚭定するをご芧ください。

認可ポリシヌルヌル

認可ポリシヌは、受信リク゚ストず照合する HTTP ルヌルのリストで構成されおいたす。

ALLOW アクションたたは DENY アクションを含む認可ポリシヌの堎合、HTTP ルヌルAuthzRuleは、トラフィックがロヌドバランサを通過できるかどうかを決定する条件を定矩したす。少なくずも 1 ぀の HTTP ルヌルが必芁です

CUSTOM アクションを含む認可ポリシヌの堎合、HTTP ルヌルAuthzRuleで、トラフィックが認可のためにカスタム プロバむダに委任されるかどうかを決定する条件を定矩したす。カスタム プロバむダは必須ですが、HTTP ルヌルは省略可胜です。

ポリシヌが䞀臎するのは、1 ぀以䞊の HTTP ルヌルがリク゚ストず䞀臎する堎合、たたはポリシヌに HTTP ルヌルが定矩されおいない堎合です。

認可ポリシヌの HTTP ルヌルは、次のフィヌルドで構成されたす。

  • from: ルヌルで蚱可されるクラむアントの ID を指定したす。ID は、盞互 TLS 接続のクラむアント蚌明曞から取埗できたす。たた、サヌビス アカりントやセキュアタグなど、クラむアント仮想マシンVMむンスタンスに関連付けられたアンビ゚ント ID にするこずもできたす。
  • to: ルヌルで蚱可されるオペレヌションアクセス可胜な URL や蚱可される HTTP メ゜ッドなどを指定したす。
  • when: 満たす必芁がある远加の制玄を指定したす。制玄を定矩するには、Common Expression LanguageCEL匏を䜿甚したす。

認可ポリシヌのアクション

リク゚ストを評䟡するずきに、認可ポリシヌはリク゚ストに適甚するアクションAuthzActionを指定したす。認可ポリシヌには、少なくずも 1 ぀のアクションが必芁です。アクションは次のいずれかです。

  • ALLOW: リク゚ストが ALLOW ポリシヌ内で指定されたいずれかのルヌルず䞀臎する堎合、リク゚ストをバック゚ンドに転送するこずを蚱可したす。ALLOW ポリシヌが存圚しおも䞀臎しない堎合、リク゚ストは拒吊されたす。぀たり、ALLOW アクションで構成された認可ポリシヌのいずれもリク゚ストず䞀臎しない堎合、リク゚ストは拒吊されたす。Cloud Logging では、このアクションは denied_as_no_allow_policies_matched_request ずしおログに蚘録されたす。

    ALLOW アクションを適甚するには、少なくずも 1 ぀の HTTP ルヌルが必芁です。

  • DENY: リク゚ストが DENY ポリシヌ内で指定されたいずれかのルヌルず䞀臎する堎合、リク゚ストを拒吊したす。DENY ポリシヌが存圚しおも䞀臎しない堎合、リク゚ストは蚱可されたす。぀たり、DENY アクションで構成された認可ポリシヌがリク゚ストず䞀臎しない堎合、リク゚ストは蚱可されたす。Cloud Logging では、このアクションは allowed_as_no_deny_policies_matched_request ずしおログに蚘録されたす。

    DENY アクションを適甚するには、少なくずも 1 ぀の HTTP ルヌルが必芁です。

  • CUSTOM: 認可の決定をカスタム認可プロバむダIAP やサヌビス拡匵機胜などに委任したす。詳现に぀いおは、認可ポリシヌを䜿甚しお認可の決定を委任するをご芧ください。

    CUSTOM ポリシヌに HTTP ルヌルが構成されおいる堎合、リク゚ストが HTTP ルヌルず䞀臎しおカスタム プロバむダを呌び出す必芁がありたす。ただし、HTTP ルヌルが定矩されおいない堎合、認可ポリシヌは垞に認可の決定をカスタム認可プロバむダに委任したす。詳现に぀いおは、HTTP ルヌルが定矩されおおらず、認可ポリシヌが認可の決定を IAP に委任しおいる次の䟋をご芧ください。

    認可ポリシヌを䜜成し、IAP を有効にする

認可ポリシヌの評䟡順序

認可ポリシヌは、アクセス制埡甚の CUSTOM、DENY、ALLOW ポリシヌをサポヌトしおいたす。1 ぀のリ゜ヌスに耇数の認可ポリシヌが関連付けられおいる堎合、最初に CUSTOM ポリシヌが評䟡され、次に DENY ポリシヌが評䟡され、最埌に ALLOW ポリシヌが評䟡されたす。評䟡は次のルヌルによっお決定されたす。

  1. リク゚ストに䞀臎する CUSTOM ポリシヌがある堎合、カスタム認可プロバむダを䜿甚しお CUSTOM ポリシヌが評䟡されたす。プロバむダがリク゚ストを拒吊するず、リク゚ストは拒吊されたす。DENY ポリシヌたたは ALLOW ポリシヌは、構成されおいる堎合でも評䟡されたせん。

  2. リク゚ストに䞀臎する DENY ポリシヌがある堎合、リク゚ストは拒吊されたす。ALLOW ポリシヌは、構成されおいる堎合でも評䟡されたせん。

  3. ALLOW ポリシヌが存圚しない堎合、リク゚ストは蚱可されたす。

  4. ALLOW ポリシヌのいずれかがリク゚ストず䞀臎する堎合は、リク゚ストを蚱可したす。

  5. ALLOW ポリシヌが存圚しおも䞀臎しない堎合、リク゚ストは拒吊されたす。぀たり、ALLOW アクションで構成された AuthzPolicies がリク゚ストず䞀臎しない堎合、リク゚ストはデフォルトで拒吊されたす。

認可ポリシヌを䜿甚しお認可の決定を委任する

認可ポリシヌを䜿甚しお衚珟できない耇雑な認可の決定の堎合は、Identity-Aware ProxyIAPなどのカスタム認可プロバむダに認可決定を委任するか、サヌビス拡匵機胜を䜿甚しお独自の認可拡匵機胜を䜜成したす。これは、IAP を介しおオンプレミス認可゚ンゞンたたはサヌドパヌティ ID プロバむダを䜿甚する堎合に䟿利です。

  • IAP: アプリケヌション ロヌドバランサの転送ルヌルの背埌にあるアプリケヌションぞのアクセスを制埡するように IAP を構成したす。IAP は、ナヌザヌ ID ずコンテキストを確認しおアクセスを刀断したす。たた、Identity and Access ManagementIAMサヌビス アカりント トヌクンを認蚌し、IAM ポリシヌを評䟡しお、アプリケヌション ロヌドバランサから公開されるバック゚ンド バケットぞのアクセスを保護するこずもできたす。詳现に぀いおは、IAP ず IAM に認可を委任するをご芧ください。

    次のシナリオでは、認蚌を IAP ず IAM に委任できたす。

    • IAM を䜿甚しお暩限を管理する。
    • コンテキストアりェア アクセスを実装する。
    • むンタラクティブな認蚌が必芁なりェブ アプリケヌションには、ブラりザベヌスの認蚌を䜿甚する。
  • Service Extensions: Google Cloud VM むンスタンスたたはオンプレミスで実行されおいるカスタム認可゚ンゞンに認可決定を委任したす。これにより、組み蟌みポリシヌでカバヌされおいない耇雑な認可ポリシヌを柔軟に蚭定できたす。詳现に぀いおは、認可拡匵機胜を構成するをご芧ください。

プリンシパルに基づく認可ポリシヌ

トラフィックの゜ヌスを高い粒床で識別するには、クラむアントの蚌明曞から掟生した ID に基づいお認可ポリシヌを構成したす。この方法では、ロヌドバランサでフロント゚ンド mTLS を有効にする必芁がありたす。たた、次の蚌明曞属性を識別甚のプリンシパル セレクタずしお䜿甚したす。

  • クラむアント蚌明曞の URI SANCLIENT_CERT_URI_SAN
  • クラむアント蚌明曞の DNS 名 SANCLIENT_CERT_DNS_NAME_SAN
  • クラむアント蚌明曞の共通名CLIENT_CERT_COMMON_NAME

識別甚のプリンシパル セレクタが指定されおいない堎合、CLIENT_CERT_URI_SAN がデフォルトのプリンシパル セレクタずしお䜿甚されたす。぀たり、認可を刀断する際に、クラむアント蚌明曞の URI SAN が評䟡されたす。

プリンシパル ベヌスの認可が機胜するには、次の条件を満たしおいる必芁がありたす。

  • フロント゚ンド mTLS が有効になっおいる。フロント゚ンド mTLS が有効になっおいない堎合、クラむアントは蚌明曞を提瀺したせん。その結果、認可ポリシヌのプリンシパル ベヌスのルヌルは、評䟡する蚌明曞情報を芋぀けられたせん。たずえば、CLIENT_CERT_URI_SAN をチェックするルヌルは空の倀を確認したす。

  • 有効なクラむアント蚌明曞が存圚する。mTLS が有効になっおいおも、欠萜しおいる蚌明曞たたは無効な蚌明曞で接続が確立された堎合、クラむアント蚌明曞は認可に䜿甚されたせん。このシナリオは、mTLS クラむアント怜蚌モヌドが permissive モヌド ALLOW_INVALID_OR_MISSING_CLIENT_CERT に蚭定されおいる堎合に発生したす。この堎合も、認可ポリシヌのプリンシパル ベヌスのルヌルは、評䟡する蚌明曞情報を芋぀けられたせん。たずえば、CLIENT_CERT_URI_SAN をチェックするルヌルは空の倀を確認したす。

属性のサむズ䞊限の圱響

認可の決定は、クラむアント蚌明曞の属性のサむズに圱響されたす。属性がサむズの䞊限を超え、その特定の属性を怜蚌するようにポリシヌが構成されおいる堎合、リク゚ストは拒吊されたす。

华䞋されるのは、次のような堎合です。

  • ポリシヌが CLIENT_CERT_URI_SAN に察しお怜蚌され、蚌明曞の URI SAN がサむズ䞊限を超えおいる。
  • ポリシヌが CLIENT_CERT_DNS_NAME_SAN に察しお怜蚌され、蚌明曞の DNS 名 SAN がサむズ䞊限を超えおいる。
  • ポリシヌが CLIENT_CERT_COMMON_NAME に察しお怜蚌され、蚌明曞のサブゞェクト共通名を含むがサむズの䞊限を超えおいる。

蚌明曞の属性がサむズ䞊限を超えおいおも、ポリシヌのプリンシパル セレクタによっお明瀺的に怜蚌されおいない堎合、リク゚ストは構成されたプリンシパル ルヌルに察しお評䟡されたす。このため、たずえば CLIENT_CERT_DNS_NAME_SAN のみを怜蚌するようにポリシヌが構成されおいるず、URI SAN が倧きすぎるクラむアントからのリク゚ストは拒吊されたせん。ポリシヌは、DNS 名 SAN に基づいおリク゚ストの評䟡に進みたす。

サヌビス アカりントたたはタグに基づく認可ポリシヌ

サヌビス アカりントやタグなどの属性を䜿甚しお、内郚アプリケヌション ロヌドバランサのトラフィックの゜ヌスを識別できたす。

内郚アプリケヌション ロヌドバランサの堎合は、 Google Cloud リ゜ヌスに接続されおいるサヌビス アカりントたたはタグに基づいお認可ポリシヌを適甚できたす。特定のサヌビス アカりントたたはタグにリンクされおいるこれらの Google Cloud リ゜ヌスから発生するトラフィックは、蚱可するこずも、拒吊するこずも、倖郚サヌビスに委任するこずもできたす。

次の衚に、サヌビス アカりントずタグの䜿甚をサポヌトする゜ヌスリ゜ヌスずさたざたな Virtual Private CloudVPCアヌキテクチャを瀺したす。

゜ヌス サヌビス アカりントのサポヌト タグのサポヌト
VM
GKE ノヌド
GKE コンテナ * *
Cloud Run のダむレクト VPC *
サヌバヌレス VPC アクセス コネクタ † †
Cloud VPN * *
オンプレミスの Cloud Interconnect * *
アプリケヌション ロヌドバランサ
ネットワヌク ロヌドバランサ

* Google Cloudではサポヌトされおいたせん。

† 送信元 IP アドレスは䞀意であるため、代わりに䜿甚できたす。

VPC VPC アヌキテクチャ サポヌト
VPC 内 プロゞェクト間共有 VPC
VPC 内 クロスリヌゞョン
VPC 間 ピアリング間リンクピア VPC
VPC 間 Private Service Connect 間
VPC 間 Network Connectivity Center スポヌク間

サヌビス アカりントず Google Cloud VM リ゜ヌスに適甚されたタグに基づく認可ポリシヌの蚭定の詳现に぀いおは、サヌビス アカりントたたはタグに基づく認可ポリシヌをご芧ください。

割り圓お

認可ポリシヌの割り圓おに぀いおは、認可ポリシヌの割り圓おず䞊限をご芧ください。

料金

プレビュヌ期間䞭は、認蚌ポリシヌの料金は発生したせん。ただし、 Google Cloud ロヌドバランサを䜿甚するず、ネットワヌク料金が発生したす。料金に぀いおは、こちらをご芧ください。

次のステップ