アクセスの透明性ログの把握と使用
このページでは、アクセスの透明性ログエントリの内容とそれらを表示して使用する方法について説明します。
アクセスの透明性ログの詳細
アクセスの透明性ログを既存の セキュリティ情報およびイベント管理(SIEM)ツールに統合すると、 の Google 担当者がお客様のコンテンツにアクセスした際の監査を自動的化できます。アクセスの透明性 ログは、Cloud Audit Logs とともに Google Cloud コンソールで確認できます。
アクセスの透明性ログエントリに含まれる詳細は次のとおりです。
- 対象となるリソースとアクション。
- 操作の時刻。
- アクションの理由(カスタマー サポート リクエストに関連付けられた ケース番号など)
- コンテンツを操作している人についてのデータ(たとえば、 Google 担当者の所在地など)
アクセスの透明性を有効にする
Google Cloud 組織でアクセスの透明性を有効にする方法については、アクセスの透明性を有効にするをご覧ください。
アクセスの透明性ログの表示
組織のアクセスの透明性を構成したら、ユーザーまたはグループにプライベート ログ閲覧者のロールを割り当てることで、アクセスの透明性ログにアクセス可能なユーザーについての制御を設定できます。 Google Cloud詳細については、 Cloud Logging アクセス制御ガイドをご覧ください。
アクセスの透明性ログを表示するには、次の Google Cloud Observability ロギング フィルタを使用します。
logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Faccess_transparency"
ログ エクスプローラでアクセスの透明性ログを表示する方法については、ログ エクスプローラの使用をご覧ください。
また、Cloud Monitoring API または Cloud Run functions を使用してログをモニタリングすることもできます。ご利用にあたっては、 Cloud Monitoring のドキュメントをご覧ください。
オプション: ログベースの指標を作成し、 ログによって明らかになる問題を適切なタイミングで認識できるよう、 アラートポリシー を設定します。
アクセスの透明性ログエントリのサンプル
アクセスの透明性ログエントリの例を次に示します。
{ insertId: "abcdefg12345" jsonPayload: { @type: "type.googleapis.com/google.cloud.audit.TransparencyLog" location: { principalOfficeCountry: "US" principalEmployingEntity: "Google LLC" principalPhysicalLocationCountry: "CA" } principalJobTitle: "Engineering" product: [ 0: "Cloud Storage" ] reason: [ detail: "Case number: bar123" type: "CUSTOMER_INITIATED_SUPPORT" ] permissionDetails:[ 0: { permissionType: "DATA_READ" logAccessed: true } 1: { permissionType: "ADMIN_READ" } ] eventId: "asdfg12345asdfg12345asdfg12345" accesses: [ 0: { methodName: "GoogleInternal.Read" resourceName: "//googleapis.com/storage/buckets/BUCKET_NAME/objects/foo123" } ] accessApprovals: [ 0: "projects/123/approvalRequests/abcdef12345" ] } logName: "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Faccess_transparency" operation: { id: "12345xyz" } receiveTimestamp: "2017-12-18T16:06:37.400577736Z" resource: { labels: { project_id: "1234567890" } type: "project" } severity: "NOTICE" timestamp: "2017-12-18T16:06:24.660001Z" }
ログフィールドの説明
| フィールド | 説明 |
|---|---|
insertId |
ログの一意の識別子。 |
@type |
アクセスの透明性ログ識別子。 |
principalOfficeCountry |
アクセス者の永久デスクがある国の ISO 3166-1 alpha-2 国コード、場所が確認できない場合は ??、担当者の所在地が人口の少ない国の場合は 3 文字の大陸識別子。 Google |
principalEmployingEntity |
アクセスしている担当者を採用しているエンティティ(Google LLC など) Google |
principalPhysicalLocationCountry |
アクセス元の国の ISO 3166-1 alpha-2 国コード、
??場所が確認できない場合は `??`、担当者の所在地が人口の少ない国の場合は 3 文字の大陸識別子。 Google |
principalJobTitle |
アクセスしている Google 担当者のジョブ ファミリー。 |
product |
アクセスのあったサービス。 Google Cloud |
reason:detail |
理由の詳細。サポート チケット ID など。 |
reason:type |
アクセス
理由タイプ
(例: CUSTOMER_INITIATED_SUPPORT))。 |
permissionDetails |
アクセスに関連付けられた権限の詳細。permissionType の詳細は 2 つまで指定できます。詳細については、 権限の詳細の値をご覧ください。 |
accesses:methodName |
どのような種類のアクセスが行われたか。例: GoogleInternal.Read。
methodName フィールドに表示されるメソッドの詳細については、accesses: methodName フィールドの値をご覧ください。 |
accesses:resourceName |
名前 アクセスされたリソース。 |
accessApprovals |
アクセスを承認したアクセス承認リクエストのリソース名が含まれます。これらのリクエストは、除外とサポート対象サービスの対象になります。 このフィールドは、アクセスされたリソースに対してアクセス承認が有効になっている場合にのみ入力されます。2021 年 3 月 24 日より前に公開されたアクセスの透明性ログには、このフィールドは入力されません。 |
logName |
ログの場所の名前。 |
operation:id |
ログクラスタ ID。 |
receiveTimestamp |
ロギング パイプラインによってアクセスが受信された時刻。 |
project_id |
アクセスされたリソースに関連するプロジェクト。 |
type |
アクセスされたリソースのタイプ(project など)。 |
eventId |
単一のアクセス イベントの理由
(単一のサポートケースなど)に関連付けられた一意のイベント ID。同じ理由に記録されるすべてのアクセスに同じ event_id 値が設定されます。 |
severity |
ログの重大度。 |
timestamp |
ログが書き込まれた時刻。 |
permissionDetails フィールドの値
アクセスの透明性ログでは、次の権限の詳細を確認できます。
permissionType: 管理者によるデータアクセスに関連付けられた Identity and Access Management(IAM)権限タイプ を示します。 Google たとえば、Cloud SQL の各公開 API メソッドの権限タイプは、SQL のドキュメントに 記載されています。権限タイプは、より低い権限タイプでアクセスできた場合でも、存在する最大の権限を示します。
logAccessed: このフィールドは、管理者またはデータ読み取りアクセス権がログアクセスに制限されているかどうかを示します。たとえば、Observability Analytics ログへの data_read アクセスには「logAccessed = true」が伴います。これは、data_read 権限がログデータに制限されていることを示します。アクセスがログでない場合、このフィールドは省略されます。
| IAM 権限タイプ | 説明 | 例 |
|---|---|---|
ADMIN_READ |
構成、ログ、または同様のデータに限定された読み取りアクセスを示します。 | 詳細については、IAM 権限タイプをご覧ください。 |
ADMIN_WRITE |
構成、ログ、または同様のデータに限定された読み取りまたは書き込みアクセスを示します。 | 詳細については、IAM 権限タイプをご覧ください。 |
DATA_READ |
顧客データを含む可能性がある読み取りアクセスを示します。data_read 権限タイプでのアクセスは、管理者が顧客データにアクセスする権限を持っていたことを示しますが、顧客データにアクセスしたことを確認するものではありません。 | 詳細については、IAM 権限タイプをご覧ください。 |
DATA_WRITE |
顧客データを含む可能性がある読み取りまたは書き込みアクセスを示します。data_write 権限タイプでのアクセスは、管理者が少なくとも 1 つの顧客データ リソースにアクセスする権限を含んでいた可能性があることを示します。詳細については、IAM 権限タイプをご覧ください。 |
| logAccessed | 説明 |
|---|---|
true |
ロギング データの読み取りアクセス に限定されたアクセスを示します。このプロパティは、permissionType フィールドを拡張します。true とラベル付けされたアクセスは、データに直接アクセスせずにロギング データにのみアクセスすることを示します。 |
accesses:methodNames フィールドの値
アクセスの透明性ログの accesses:methodNames フィールドには、次のメソッドが表示されます。
- 標準メソッド: これらのメソッドは
List、Get、Create、Update、Deleteです。詳細については、標準メソッドをご覧ください。 - カスタム メソッド: カスタム メソッドは、5 つの標準メソッド以外の API メソッドを指します。一般的なカスタム メソッドには、
Cancel、BatchGet、Move、Search、Undeleteなどがあります。詳細については、カスタム メソッドをご覧ください。 - Google 内部メソッド:
GoogleInternalフィールドに表示されるaccesses:methodNamesメソッドの例を次に示します。
| メソッド名 | 説明 | 例 |
|---|---|---|
GoogleInternal.Read |
正当なビジネス上の理由で、お客様のコンテンツに対して行われた読み取りアクションを示します。読み取りアクションは、 Google Cloud サービスの管理専用に設計された内部 API を使用して行われます。このメソッドでは、お客様のコンテンツは変更されません。 | IAM 権限の読み取り。 |
GoogleInternal.Write |
正当なビジネス上の正当な理由で、お客様のコンテンツに対して行われた書き込みアクションを示します。書き込みアクションは、 Google Cloud サービスの管理専用に設計された内部 API を使用して行われます。このメソッドでは、お客様のコンテンツや構成を更新できます。 |
|
GoogleInternal.Create |
ビジネス上の正当な理由で、お客様のコンテンツに対して行われた作成アクションを示します。作成アクションは、 Google Cloud サービスの管理専用に設計された内部 API を使用して行われます。このメソッドにより、新しい顧客コンテンツが作成されます。 |
|
GoogleInternal.Delete |
Google Cloud サービスの管理専用に設計された内部 API を使用して、お客様のコンテンツに対して行われた削除アクションを示します。このメソッドでは、お客様のコンテンツや構成が変更されます。 |
|
GoogleInternal.List |
正当なビジネス上の正当な理由で、お客様のコンテンツに対して行われたリスト アクションを示します。リスト アクションは、 Google Cloud サービスの管理専用に設計された内部 API を使用して行われます。このメソッドでは、お客様のコンテンツや構成は変更されません。 |
|
GoogleInternal.Update |
正当なビジネス上の理由で、お客様コンテンツに対して行われた変更を示します。更新アクションは、 Google Cloud サービスの管理専用に設計された内部 API を使用して行われます。このメソッドでは、お客様のコンテンツや構成が変更されます。 | Cloud Storage 内の HMAC キーを更新する。 |
GoogleInternal.Get |
正当なビジネス上の理由で、顧客コンテンツに対して実行されたゲット アクションを示します。ゲット アクションは、 Google Cloud サービスの管理専用に設計された内部 API を使用して行われます。このメソッドでは、お客様のコンテンツや構成は変更されません。 |
|
GoogleInternal.Query |
正当なビジネス上の理由で、お客様のコンテンツに対して行われたクエリ アクションを示します。クエリ アクションは、 Google Cloud サービスの管理専用に設計された内部 API を使用して行われます。このメソッドでは、お客様のコンテンツや構成は変更されません。 |
|
GoogleInternal アクセスは、正当で監査可能なアクセスを行うために、承認された担当者に厳しく制限されています。メソッドの存在により、
すべてのロールを使用できるわけではありません。 プロジェクトまたは組織に対する管理者権限の制御を強化したい組織は、
Access Approval を有効にして、アクセスの詳細に基づいてアクセスを承認または拒否することができます。たとえば、Access Approval のユーザーは
社員からのリクエストに対して CUSTOMER_INITIATED_SUPPORT
の理由が記載されたリクエストのみを許可することを選択できます。 Google 詳細については、Access Approval の概要をご覧ください。
イベントが厳格な緊急アクセス基準を満たしている場合、Access Approval はその緊急アクセスを auto approved
ステータスで記録できます。アクセスの透明性と Access Approval
は、緊急アクセスシナリオで中断のないロギングを行うように特別に設計されています。
ワークロードに対するデータ セキュリティ制御を強化する場合は、we Assured Workloadsを使用することをおすすめします。 Assured Workloads プロジェクトでは、データ所在地、主権管理、Compute Engine の Confidential Computing などの機能へのアクセスなどの高度な機能が提供されます。Assured Workloads では、外部で管理される暗号鍵に Key Access Justifications を使用します。
正当化理由コード
システム管理と
トラブルシューティングのために Google が開始したアクセスを指します。Google の担当者がこの種のアクセスを行う理由は次のとおりです。 Google
システムの信頼性を維持するために Google が開始したアクセスを指します。
Google Google の担当者がこの種のアクセスを行う理由は次のとおりです。
理由
説明
CUSTOMER_INITIATED_SUPPORT
お客様が開始したサポート(例: 「ケース番号: ####」)。
GOOGLE_INITIATED_SERVICE
THIRD_PARTY_DATA_REQUEST
Google法的要請または法的手続きに対応するために Google が開始したアクセス(Google がお客様自身のデータにアクセスする必要がある法的手続きに対応する場合など)。 Google
GOOGLE_INITIATED_REVIEW
次のようなセキュリティ、詐欺、乱用、コンプライアンスに関する目的で Google が開始したアクセス:
GOOGLE_RESPONSE_TO_PRODUCTION_ALERT
アクセスの透明性ログのモニタリング
Cloud Monitoring API を使用して、アクセスの透明性ログをモニタリングできます。 ご利用にあたっては、Monitoring のドキュメントをご覧ください。
ログベースの指標を設定し、監査ログによって明らかになる問題を適切なタイミングで認識できるよう、アラートポリシーを設定します。たとえば、担当者がユーザーのコンテンツ アクセスをキャプチャするログベースの指標を作成し、特定の期間内のアクセス数が指定されたしきい値を超過したことを知らせるアラート ポリシーを Monitoring に作成できます。Google