Skip to content

Grant

Envelope の grant は、「誰が」「何に対して」「どのロールを」得た、または失ったのかを記録します。 ワークスペースへのユーザー追加、グループへのユーザー追加、コネクションの権限付与などがこれに当たります。

grant は3つのフィールドで1つの事実を表します。

  • target … 権限が効く対象(例: ワークスペース、コネクション)
  • grantee … 権限を得る、または失う側(例: ユーザー、グループ、招待)
  • role … 変更前後のロール

イベント固有情報のフィールドの使い分けは Envelope を参照してください。

同じロールの変更を changegrant の両方に記録することはありません。 なお、特定の相手に与える権限ではなく、リソース自体の設定として公開範囲を変える操作は、 grant ではなく change に入ります。

対象と権限を得る側

targetReference です。 権限が効く既存のリソースを指すため、識別子(uid)は必須です。

granteeGrantee です。ユーザー・グループのほか、招待や、 ワークスペースの全メンバーへの開放などがあります。 招待がまだ作成されていない拒否では uid を省略し、email_addr を残します。

ロールの表記

role の値は、必ず {対象の種類}.{ロール名} の形式です(例: workspace.ownerconnection.viewer)。 ロール名だけでは対象が分からないため、どの種類に対するロールなのかを常に含めています。 どの対象にどのロールが使われるかは、各イベントページのサンプルを参照してください。

拒否されたときの値

result.statusdeny のイベントでは、実際には反映されていない「試みられた内容」が入ります。 権限を与えようとして拒否された場合も、誰に何を与えようとしたのかが分かるようにするためです。 相手の識別子がまだ無い場合(招待オブジェクトが作成される前など)は grantee.uid を省略し、email_addr を残します。

実効権限は計算されない

監査ログは起きた事実を1件ずつ記録するもので、ある時点の実効権限を表すものではありません。

たとえばグループ経由で権限を持つユーザーの場合、「グループに権限を与えた」イベントと 「ユーザーをグループに追加した」イベントは別々に記録されます。 そのユーザーが最終的にどの権限を持つかを知るには、両方のイベントを組み合わせて判断します。

現在の権限を確認する用途には、監査ログではなく Codatum の権限設定画面を使ってください。

Objects

Grantee

権限を得る、または失う側を、種類(type)と識別子(uid)で指します。 あわせて、ログを読むときの手がかりとして表示名(user / invitation の場合は email_addrgroup / workspace の場合は name)を持ちます。

workspace は、特定の相手ではなくワークスペースの全メンバーへ開放したことを表します。 この場合、以後メンバーが増減しても新たな grant は記録されません。

招待がまだ作成されていない拒否では uid を省略します。 user / group / workspace は既存のリソースなので、uid は必須です。

grantgrantee でのみ使います。 権限の対象(target)や、操作対象以外の関連リソースは Reference です。

名前必須説明
typeGranteeType必須権限を得る、または失う側の種類
uidstring条件付き権限を得る側の識別子。
招待がまだ作成されていない拒否など、識別子が存在しないときは省略します。
typeinvitation 以外のときに入ります。
namestring任意イベント発生時点の表示名。typegroup / workspace のときに使います。
sensitivity: pii
email_addrstring任意メールアドレス。typeuser / invitation のときに使います。
sensitivity: pii

Grant

「誰が(grantee)」「何に対して(target)」「どのロールを(role)」得た、または失ったのかを表します。

target は操作対象そのものではないため、階層を持たない Reference で表します。 grantee は権限を得る側専用の Grantee です。

名前必須説明
targetReference必須権限が効く対象のリソース
granteeGrantee必須権限を得る、または失う側(ユーザー・グループ・招待)
roleRoleChange必須変更前後のロール

RoleChange

ロールの変更前後です。どちらのフィールドが入っているかで、付与・剥奪・変更を読み分けます。

入っているフィールド意味
new のみロールを付与した
old のみロールを剥奪した
両方ロールを変更した

記録の規約は ChangedField の値モードと同じです。

名前必須説明
oldstring任意変更前のロール。ロールを付与したイベントでは入りません。
newstring任意変更後のロール。ロールを剥奪したイベントでは入りません。

Enums

GranteeType

権限を得る、または失う側の種類です。

説明
userユーザー
groupグループ
invitation招待
workspaceワークスペースの全メンバー

Codatum Audit Events 監査ログイベントカタログ