プリンシパル アクセス境界(PAB)ポリシーの Policy Simulator を使用すると、変更を commit する前に、 プリンシパル アクセス境界ポリシーまたはバインディング の変更がプリンシパルのアクセス権にどのように影響するかを確認できます。Policy Simulator を使用すると、プリンシパル アクセス境界ポリシーまたはバインディングの変更を適用する前に、その変更が与える可能性のある影響を把握できます。
この機能では、プリンシパル アクセス境界ポリシーとポリシー バインディングに基づいてのみアクセスが評価されます。
他のポリシータイプの変更をシミュレートする方法については、以下をご覧ください。
プリンシパル アクセス境界ポリシーの Policy Simulator の仕組み
プリンシパル アクセス境界ポリシーの Policy Simulator を使用すると、プリンシパル アクセス境界ポリシーまたはポリシー バインディングの変更が組織内のプリンシパルのアクセス権にどのように影響するかを判断できます。
プリンシパル アクセス境界ポリシーまたはポリシー バインディングのシミュレーションを実行すると、Policy Simulator は次の処理を行います。
現在の プリンシパル アクセス境界ポリシーとバインディング、シミュレートされたプリンシパル アクセス境界 ポリシーまたはバインディングのコンテキストで、 再生期間中に生成された組織のアクセスログを確認します。
一連のアクセス権の変更を返します。 これらのアクセス権の変更は、シミュレートされたポリシーまたはバインディングを適用した場合に、ログからのアクセス試行の結果が異なる可能性が高いことを示しています。
Policy Simulator が返すアクセス権の変更の詳細については、 Policy Simulator の結果をご覧ください。
再生期間
再生期間は、シミュレーションの実行時に Policy Simulator がアクセスログを取得する期間です。再生期間の初日より前または再生期間の最終日より後のアクセスログは、シミュレーションに含まれません。 再生期間は 90 日間です。組織リソースが存在する期間がそれより短い場合、Policy Simulator は組織が作成されてからのすべてのアクセス試行を取得します。 再生ウィンドウにも 結果整合性があります。 つまり、シミュレーションを実行すると、一部のデータが他のデータよりも新しい可能性があります。ただし、最終的にはすべてのデータの鮮度が同じになります。 結果整合性により、再生期間は通常数日で終了しますが、最大で 15 日早く終了する可能性があります。シミュレーション結果には、正確な再生ウィンドウが表示されます。この期間以降のアクセスログは含まれません。
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 の認証情報アクセス境界をご覧ください。
次のステップ
- プリンシパル アクセス境界ポリシーまたはバインディングの変更をシミュレートする方法を確認する。
- 他の ポリシー インテリジェンス ツール を確認する。