機密性の高いリソースを保護する一つの方法は、リソースに対するアクセスを制限することです。ただし、機密性の高いリソースへのアクセスを制限すると、そのリソースにときどきアクセスする必要があるユーザーに負担がかかります。たとえば、インシデントを解決するために、ブレークグラス(緊急時)で機密性の高いリソースへのアクセスが必要になることもあります。
このような場合は、リソースに一時的にアクセスする権限をユーザーに付与することをおすすめします。また、監査プロセスを効率的に行うため、ユーザーがリソースにアクセスする理由を記録しておくことをおすすめします。
Trusted Cloud by S3NSでは、このような一時的な昇格されたアクセスを管理する方法がいくつかあります。
IAM Conditions
IAM Conditions を使用すると、期限切れの近いユーザーにTrusted Cloud リソースへのアクセス権を付与できます。詳細については、一時的なアクセスを構成するをご覧ください。
ユーザーが機密性の高いリソースにアクセスする理由を記録する場合は、独自の運用プロセスとツールを定義する必要があります。
期限切れのロール バインディングは、許可ポリシーから自動的に削除されません。許可ポリシーの最大サイズを超えないようにするため、期限切れのロール バインディングを定期的に削除することをおすすめします。
拒否ポリシーは時間ベースの条件をサポートしていません。そのため、拒否ポリシーの条件を使用して、ユーザーを一拒否ルールから時的に除外することはできません。
サービス アカウントの権限借用
認証されたプリンシパル(ユーザーやサービス アカウントなど)がサービス アカウントとして認証され、サービス アカウントの権限が取得される場合、これはサービス アカウントの権限借用と呼ばれます。サービス アカウントの権限を借用すると、認証されたプリンシパルは、そのサービス アカウントが許可されているすべてのものにアクセスできます。サービス アカウントの権限を借用できるのは、適切な権限を持つ認証済みのプリンシパルのみです。
サービス アカウントを設定して一時的に昇格されたアクセス権を付与するには、サービス アカウントを作成して、ユーザーに一時的に許可するロールを付与します。拒否ポリシーを使用する場合は、予期しない拒否を回避するため、サービス アカウントを関連する拒否ルールから除外することを検討してください。
サービス アカウントを設定したら、ユーザーにサービス アカウントの権限借用を許可して、一時的に昇格したアクセス権を付与できます。ユーザーにサービス アカウントの権限借用を許可する方法はいくつかあります。
有効期間の短いサービス アカウント認証情報を作成できるロールをユーザーに付与します。これにより、ユーザーは有効期間の短い認証情報を使用してサービス アカウントの権限を借用できます。
サービス アカウントの OpenID Connect ID トークン作成者ロール(
roles/iam.serviceAccountOpenIdTokenCreator
)を付与して、ユーザーがサービスの有効期間の短い OpenID Connect(OIDC)ID トークンを作成できるようにします。サービス アカウント トークン作成者のロール(
roles/iam.serviceAccountTokenCreator
)を付与して、ユーザーが次のタイプのサービス アカウント認証情報を作成できるようにします。- OAuth 2.0 アクセス トークン。Google API での認証に使用できます。
- OIDC ID トークン
- 署名付き JSON Web Token(JWT)とバイナリ blob
これらのロールのいずれかをユーザーに付与すると、ユーザーはいつでもサービス アカウントの権限を借用し、自身の権限を昇格させることができます。ただし、機密性の高いリソースが意図せずにアクセスまたは変更される可能性は低くなります。
サービス アカウントの権限借用の方法については、サービス アカウントの権限借用を使用するをご覧ください。
ユーザーが認証され、理由を入力した後、サービス アカウントの有効期間の短い認証情報をユーザーに提供するトークン ブローカー サービスを作成します。これにより、ユーザーは有効期間の短い認証情報を使用してサービス アカウントの権限を借用できます。
この方法では、ユーザーにサービス アカウントの権限借用を許可するタイミングを指定できます。
有効期間の短い認証情報を生成する方法については、有効期間の短いサービス アカウント認証情報を作成するをご覧ください。
サービス アカウントの権限借用の詳細については、サービス アカウントの権限借用をご覧ください。
次のステップ
- 一時的に昇格されたアクセス用に Privileged Access Manager を設定する。
- IAM Conditions を使用して、プリンシパルに一時的なアクセス権を付与する。
- 有効期間の短い認証情報を手動で作成して、サービス アカウントの権限を借用する。