プリンシパル アクセス境界(PAB)ポリシーの Policy Simulator を使用すると、変更を commit する前に、 プリンシパル アクセス境界ポリシーまたはバインディング の変更がプリンシパルのアクセス権にどのように影響するかを確認できます。Policy Simulator を使用すると、プリンシパル アクセス境界ポリシーまたはバインディングの変更を適用する前に、その変更が与える可能性のある影響を把握できます。
この機能では、プリンシパル アクセス境界ポリシーとポリシー バインディングに基づいてのみアクセスが評価されます。
他のポリシータイプの変更をシミュレートする方法については、以下をご覧ください。
プリンシパル アクセス境界ポリシーの Policy Simulator の仕組み
プリンシパル アクセス境界ポリシーの Policy Simulator を使用すると、プリンシパル アクセス境界ポリシーまたはポリシー バインディングの変更が組織内のプリンシパルのアクセス権にどのように影響するかを判断できます。
プリンシパル アクセス境界ポリシーまたはポリシー バインディングのシミュレーションを実行すると、Policy Simulator は次の処理を行います。
現在の プリンシパル アクセス境界ポリシーとバインディング、シミュレートされたプリンシパル アクセス境界 ポリシーまたはバインディングのコンテキストで、 再生期間中に生成された組織のアクセスログを確認します。
アクセス権の変更のシリーズを返します。 これらのアクセス権の変更は、シミュレートされたポリシーまたはバインディングを適用した場合に、ログからのアクセス試行の結果が異なる可能性が高いことを示しています。
Policy Simulator が返すアクセス権の変更の詳細については、 Policy Simulator の結果をご覧ください。
再生期間
再生期間は、シミュレーションの実行時に Policy Simulator がアクセスログを取得する期間です。再生期間の初日より前または再生期間の最終日より後のアクセスログは、シミュレーションに含まれません。
通常、再生期間の最終日はシミュレーションの 1 日前です。ただし、場合によっては、再生期間の最終日がシミュレーションの 10 日前になることもあります。再生期間の最終日より後のアクセスログは、シミュレーションに含まれません。
再生期間は 90 日間です。組織が 90 日以上存在していない場合、Policy Simulator は組織が作成されてからのすべてのアクセス試行を取得します。
再生ウィンドウにも結果整合性があります。つまり、シミュレーションを実行すると、一部のデータが他のデータよりも新しい可能性があります。ただし、最終的にはすべてのデータの鮮度が同じになります。
Policy Simulator の結果
プリンシパル アクセス境界の Policy Simulator は、プリンシパル アクセス境界ポリシーまたはバインディングに対して提案された 変更の影響を、アクセス 権の変更のリストとしてレポートします。アクセス権の変更とは、シミュレートされたポリシーが適用された場合に結果が異なる可能性のある、再生期間中のアクセス試行を表します。
アクセス権の変更ごとに、Policy Simulator は次の情報もレポートします。
- アクセス試行に関与したプリンシパル、権限、リソース(利用可能な場合)。
- プリンシパルが権限を使用してリソースにアクセスしようとした再生期間中の日数。この合計には、最新のアクセス試行と同じ結果のアクセス試行のみが含まれます。
- 最新のアクセス試行の日付。
アクセス権の変更
アクセス権の変更は、関連するプリンシパル アクセス境界ポリシーに基づいて、シミュレートされたポリシーまたはバインディングを適用すると、ユーザーのアクセス権が変更される可能性があることを示します。アクセス権の変更は、アクセス権の取得またはアクセス権の取り消しになります。
アクセス権の変更を計算する場合、プリンシパル アクセス境界の Policy Simulator は、プリンシパル アクセス境界ポリシーとバインディングのみを評価します。他のポリシータイプは評価されません。
Policy Simulator は、次の情報を使用してアクセス権の変更を計算します。
- 最新のアクセス試行の結果
- 現在のプリンシパル アクセス境界ポリシーとバインディングの影響
- 提案されたプリンシパル アクセス境界ポリシーとバインディングの影響
アクセス権を取得するには、次の条件をすべて満たす必要があります。
- 最新のアクセス試行がブロックされた
- 現在のプリンシパル アクセス境界ポリシーとバインディングによってアクセスがブロックされている
- 提案されたプリンシパル アクセス境界ポリシーとバインディングによってアクセスがブロックされていない
アクセス権を取り消すには、次の条件をすべて満たす必要があります。
- 最新のアクセス試行がブロックされなかった
- 現在のプリンシパル アクセス境界ポリシーとバインディングによってアクセスがブロックされていない
- 提案されたプリンシパル アクセス境界ポリシーとバインディングによってアクセスがブロックされている
一連のプリンシパル アクセス境界ポリシーとバインディングは、次の条件をすべて満たす場合に、プリンシパルのアクセスをブロックします。
- プリンシパル アクセス境界ポリシーがプリンシパルのアクセス権に影響する。つまり、プリンシパルは、リクエスト内の権限をサポートする適用バージョンを持つプリンシパル アクセス境界ポリシーを少なくとも 1 つ適用しています。
- プリンシパルが適用されるプリンシパル アクセス境界ポリシーにリソースが含まれていない。
一連のプリンシパル アクセス境界ポリシーとバインディングは、次の条件のいずれかを満たす場合、プリンシパルのアクセスをブロックしません。
- プリンシパル アクセス境界ポリシーがプリンシパルのアクセス権に影響しない。つまり、プリンシパルは、リクエスト内の権限をサポートする適用バージョンを持つプリンシパル アクセス境界ポリシーの対象ではありません。
- プリンシパルが適用されるプリンシパル アクセス境界ポリシーの少なくとも 1 つにリソースが含まれている。
エラー
次のエラーが原因でシミュレーションが失敗する可能性があります。
- タイムアウト: シミュレーションの実行に時間がかかりすぎ、タイムアウトしました。この問題を解決するには、もう一度シミュレーションを実行します。
- 無効なシミュレーション構造: 提案されたプリンシパル アクセス境界ポリシーまたは プリンシパル アクセス境界ポリシー バインディングが無効です。たとえば、提案された ポリシーに無効な条件式がある場合や、提案されたバインディングがすでに最大数の ポリシーにバインドされている プリンシパル セットの場合などです。この問題を解決するには、ポリシーまたはバインディングを修正して、もう一度お試しください。
- 権限がありません: シミュレーションを実行する権限がありません。この問題を 解決するには、必要なロールが付与されていることを確認して、もう一度 お試しください。
サポートされているプリンシパル タイプ
プリンシパル アクセス境界ポリシーの Policy Simulator は、次のタイプのプリンシパルのアクセスログのみを確認します。
- Google アカウント
- サービス アカウント
プリンシパル アクセス境界ポリシーとバインディングをシミュレートする場合、Policy Simulator は他のプリンシパルタイプのアクセスログを確認しません。そのため、ポリシーまたはバインディングに対する提案された変更が、これらのプリンシパルのアクセス権に影響するかどうかはレポートされません。
認証情報アクセス境界のシミュレート
認証情報アクセス境界を使用すると、有効期間が短い認証情報が Cloud Storage リソースへのアクセスに使用できる IAM 権限の範囲を限定できます。権限の範囲を限定するには、ユーザーまたはサービス アカウント(トークン ブローカー)が、範囲を限定したアクセス トークンの一連のリソースで使用可能な権限を定義し、そのアクセス トークンを別のユーザーまたはサービス アカウント(トークン コンシューマー)に提供します。
トークン ブローカーには、範囲を限定したアクセス トークンでトークン コンシューマーに付与された権限を含むロールが必要です。プリンシパル アクセス境界を使用してユーザーがそのリソースにアクセスできないようにすると、トークン コンシューマーのアクセスもブロックされます。ただし、Policy Simulator は、トークン ブローカーの権限の変更がトークン コンシューマーのアクセスにどのように影響するかを評価しません。
たとえば、認証情報アクセス境界で作成された範囲を限定したアクセス トークンを使用して、リソースに対する ストレージのレガシー
バケット閲覧者 (roles/storage.legacyBucketReader)ロールが付与されているユーザーを考えてみましょう。
プリンシパル アクセス境界を使用して、そのユーザーから ストレージのレガシー バケット閲覧者 ロールをブロックするシミュレーションを行うと、Policy Simulator はアクセス権の喪失をレポートできません。
プリンシパル アクセス境界を使用して、トークン ブローカーから ストレージのレガシー バケット閲覧者 ロールをブロックするシミュレーションを行うと、Policy Simulator はユーザーのアクセス権の喪失をレポートできません。同様に、トークン ブローカーのアクセスが 90 日以内に使用されない場合、そのアクセスはシミュレーションに含まれません。
詳細については、 Cloud Storage の認証情報アクセス境界をご覧ください。
次のステップ
- プリンシパル アクセス境界ポリシーまたはバインディングの変更をシミュレートする方法を確認する。
- 他の ポリシー インテリジェンス ツール を確認する。