利用資格を作成したら、それを表示、更新、削除できます。
始める前に
Privileged Access Manager を有効にして、権限を設定していることを確認します。
Google Cloud コンソールでの利用資格の表示、更新、削除
[Privileged Access Manager] ページに移動します。
利用資格を管理する組織、フォルダ、またはプロジェクトを選択します。
[利用資格] タブで [すべてのユーザーを対象とした利用資格] タブをクリックします。ここでは、利用可能な利用資格、付与されるロール、有効なリクエスト元と承認者を確認できます。
表で、確認する利用資格と同じ行にある
(その他のオプション)をクリックします。利用資格の詳細を表示するには、[資格の詳細を表示する] をクリックします。
利用資格に関連付けられている権限付与を表示するには、[関連する付与を表示] をクリックします。
利用資格の有効な権限付与をすべて取り消すには、[すべての権限を取り消す] をクリックします。
利用資格を削除するには、[資格を削除する] をクリックします。有効な権限付与がある利用資格は削除できません。権限付与を先に取り消す必要があります。
利用資格を更新するには、更新する利用資格と同じ行にある [
権限の編集] をクリックします。利用資格を更新する際は、次の点に注意してください。
更新された利用資格の構成は、更新後にリクエストされた権限付与にのみ適用されます。ただし、承認者の変更は、まだ承認または拒否されていない既存の権限付与リクエストにも適用されます。
利用資格を更新する際に、承認が必要かどうかを変更することはできません。承認ステータスを変更する必要がある場合は、代わりに新しい利用資格を作成してください。
利用資格のリクエスト元と承認者の変更が反映されるまでに数分かかることがあります。
プログラムで利用資格を表示する
利用資格をプログラムで表示するには、検索、一覧表示、取得、エクスポートを行います。
利用資格を一覧表示する
gcloud
gcloud beta pam entitlements list
コマンドは、特定のスコープに属する利用資格を一覧表示します。
後述のコマンドデータを使用する前に、次のように置き換えます。
RESOURCE_TYPE
: 省略可。利用資格が属するリソースタイプ。値organization
、folder
、またはproject
を使用します。RESOURCE_ID
:RESOURCE_TYPE
とともに使用します。利用資格を管理する Google Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud beta pam entitlements list \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows(PowerShell)
gcloud beta pam entitlements list ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows(cmd.exe)
gcloud beta pam entitlements list ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
次のようなレスポンスが返されます。
additionalNotificationTargets: adminEmailRecipients: - alex@example.com createTime: '2024-03-26T11:07:37.009498890Z' eligibleUsers: - principals: - user:bola@example.com etag: 00000000000000000000000000000000000000000000000000000000000= maxRequestDuration: 3600s name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID privilegedAccess: gcpIamAccess: resource: //cloudresourcemanager.googleapis.com/projects/my-project resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin requesterJustificationConfig: unstructured: {} state: AVAILABLE updateTime: '2024-03-26T11:07:40.056780645Z'
REST
Privileged Access Manager API の listEntitlements
メソッドは、特定のスコープに属する利用資格を一覧表示します。
リクエストのデータを使用する前に、次のように置き換えます。
SCOPE
: 利用資格が含まれる組織、フォルダ、またはプロジェクト。organizations/ORGANIZATION_ID
、folders/FOLDER_ID
、またはprojects/PROJECT_ID
の形式です。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。FILTER
: 省略可。フィールド値が AIP-160 式と一致する利用資格を返します。PAGE_SIZE
: 省略可。レスポンスで返すアイテムの数。PAGE_TOKEN
: 省略可。前のレスポンスで返されたページトークンを使用して、レスポンスの開始ページを指定します。
HTTP メソッドと URL:
GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements?filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
[ { "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "createTime": "2023-11-21T17:28:39.962144708Z", "updateTime": "2023-11-21T17:28:43.160309410Z", "eligibleUsers": [ { "principals": [ "user:alex@example.com" ] } ], "approvalWorkflow": { "manualApprovals": { "steps": [ { "approvers": [ { "principals": [ "user:bola@example.com" ] } ], "approvalsNeeded": 1 } ] } }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "maxRequestDuration": "14400s", "state": "AVAILABLE", "requesterJustificationConfig": { "unstructured": {} }, "additionalNotificationTargets": { "adminEmailRecipients": [ "alex@example.com" ] }, "etag": "00000000000000000000000000000000000000000000000000000000000=" } ]
利用資格を取得する
gcloud
gcloud beta pam entitlements describe
コマンドは、特定の利用資格を取得します。
後述のコマンドデータを使用する前に、次のように置き換えます。
ENTITLEMENT_ID
: 詳細を取得する利用資格の ID。RESOURCE_TYPE
: 省略可。利用資格が属するリソースタイプ。値organization
、folder
、またはproject
を使用します。RESOURCE_ID
:RESOURCE_TYPE
とともに使用します。利用資格を管理する Google Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud beta pam entitlements describe \ ENTITLEMENT_ID \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows(PowerShell)
gcloud beta pam entitlements describe ` ENTITLEMENT_ID ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows(cmd.exe)
gcloud beta pam entitlements describe ^ ENTITLEMENT_ID ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
次のようなレスポンスが返されます。
additionalNotificationTargets: adminEmailRecipients: - alex@example.com createTime: '2024-03-26T11:07:37.009498890Z' eligibleUsers: - principals: - user:bola@example.com etag: 00000000000000000000000000000000000000000000000000000000000= maxRequestDuration: 3600s name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID privilegedAccess: gcpIamAccess: resource: //cloudresourcemanager.googleapis.com/projects/my-project resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin requesterJustificationConfig: unstructured: {} state: AVAILABLE updateTime: '2024-03-26T11:07:40.056780645Z'
REST
Privileged Access Manager API の getEntitlement
メソッドは、特定の利用資格を取得します。
リクエストのデータを使用する前に、次のように置き換えます。
SCOPE
: 利用資格を取得する組織、フォルダ、またはプロジェクト。organizations/ORGANIZATION_ID
、folders/FOLDER_ID
、projects/PROJECT_ID
の形式で指定します。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。ENTITLEMENT_ID
: 詳細を取得する利用資格の ID。
HTTP メソッドと URL:
GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "createTime": "2023-11-21T17:28:39.962144708Z", "updateTime": "2023-11-21T17:28:43.160309410Z", "eligibleUsers": [ { "principals": [ "user:alex@example.com" ] } ], "approvalWorkflow": { "manualApprovals": { "steps": [ { "approvers": [ { "principals": [ "user:bola@example.com" ] } ], "approvalsNeeded": 1 } ] } }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "maxRequestDuration": "14400s", "state": "AVAILABLE", "requesterJustificationConfig": { "unstructured": {} }, "additionalNotificationTargets": { "adminEmailRecipients": [ "alex@example.com" ] }, "etag": "00000000000000000000000000000000000000000000000000000000000=" }
gcloud CLI を使用して利用資格をエクスポートする
gcloud beta pam entitlements export
コマンドは、特定の利用資格を YAML ファイルにエクスポートします。
後述のコマンドデータを使用する前に、次のように置き換えます。
ENTITLEMENT_ID
: エクスポートする利用資格の ID。FILENAME
: 利用資格の内容をエクスポートするファイル名。RESOURCE_TYPE
: 省略可。利用資格が属するリソースタイプ。値organization
、folder
、またはproject
を使用します。RESOURCE_ID
:RESOURCE_TYPE
とともに使用します。利用資格を管理する Google Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud beta pam entitlements export \ ENTITLEMENT_ID \ --destination=FILENAME.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows(PowerShell)
gcloud beta pam entitlements export ` ENTITLEMENT_ID ` --destination=FILENAME.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows(cmd.exe)
gcloud beta pam entitlements export ^ ENTITLEMENT_ID ^ --destination=FILENAME.yaml ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
次のようなレスポンスが返されます。
Exported [projects/my-project/locations/global/entitlements/ENTITLEMENT_ID] to 'FILENAME.yaml'.
プログラムで利用資格を更新する
利用資格を更新する際は、次の点に注意してください。
更新された利用資格の構成は、更新後にリクエストされた権限付与にのみ適用されます。ただし、承認者の変更は、まだ承認または拒否されていない既存の権限付与リクエストにも適用されます。
利用資格を更新する際に、承認が必要かどうかを変更することはできません。承認ステータスを変更する必要がある場合は、代わりに新しい利用資格を作成してください。
利用資格のリクエスト元と承認者の変更が反映されるまでに数分かかることがあります。
gcloud
gcloud beta pam entitlements update
コマンドは、特定のエンティティを更新します。
後述のコマンドデータを使用する前に、次のように置き換えます。
ENTITLEMENT_ID
: 更新する利用資格の ID。RESOURCE_TYPE
: 省略可。利用資格が属するリソースタイプ。値organization
、folder
、またはproject
を使用します。RESOURCE_ID
:RESOURCE_TYPE
とともに使用します。利用資格を管理する Google Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。FILENAME
: 利用資格の変更後の構成を含むファイル。このファイルを作成するには、既存の利用資格を取得またはエクスポートし、YAML ファイルに保存します。次に、このファイルを更新リクエストの本文として使用するように YAML ファイルを変更します。最新バージョンの利用資格を更新するには、本文に ETAG を含める必要があります。変更または追加できるフィールドについては、プログラムで利用資格を作成するをご覧ください。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud beta pam entitlements update \ ENTITLEMENT_ID \ --entitlement-file=FILENAME.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows(PowerShell)
gcloud beta pam entitlements update ` ENTITLEMENT_ID ` --entitlement-file=FILENAME.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows(cmd.exe)
gcloud beta pam entitlements update ^ ENTITLEMENT_ID ^ --entitlement-file=FILENAME.yaml ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
次のようなレスポンスが返されます。
Request issued for: [ENTITLEMENT_ID] Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done. Updated entitlement [ENTITLEMENT_ID]. approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - approvalsNeeded: 1 approvers: - principals: - user:alex@example.com createTime: '2024-04-09T02:39:37.011866832Z' eligibleUsers: - principals: - user:bola@example.com etag: 00000000000000000000000000000000000000000000000000000000000= maxRequestDuration: 7200s name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID privilegedAccess: gcpIamAccess: resource: //cloudresourcemanager.googleapis.com/projects/my-project resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin requesterJustificationConfig: unstructured: {} state: AVAILABLE updateTime: '2024-04-09T02:39:40.066770306Z'
REST
Privileged Access Manager API の updateEntitlement
メソッドは、特定の利用資格を更新します。
リクエストのデータを使用する前に、次のように置き換えます。
SCOPE
: 利用資格が含まれる組織、フォルダ、またはプロジェクト。organizations/ORGANIZATION_ID
、folders/FOLDER_ID
、またはprojects/PROJECT_ID
の形式です。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。ENTITLEMENT_ID
: 更新する利用資格の ID。-
UPDATED_FIELDS
: 利用資格で更新されるフィールドのカンマ区切りリスト。例:?updateMask=privilegedAccess,maxRequestDuration
更新可能なすべてのフィールドで、更新マスクを
*
に設定します。 REQUEST_ID
: 省略可。ゼロ以外の UUID である必要があります。サーバーがリクエスト ID を含むリクエストを受信すると、その ID を含む別のリクエストが過去 60 分以内に完了しているかどうかを確認します。その場合、新しいリクエストは無視されます。request.json
: 利用資格の変更後の構成を含むファイル。このファイルを作成するには、既存の利用資格を取得またはエクスポートし、request.json
という名前のファイルに保存します。次に、このファイルを更新リクエストの本文として使用するように変更します。最新バージョンの利用資格を更新するには、本文に ETAG を含める必要があります。変更または追加できるフィールドについては、プログラムで利用資格を作成するをご覧ください。
HTTP メソッドと URL:
PATCH https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID?updateMask=UPDATED_FIELDS&requestId=REQUEST_ID
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/my-project/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata", "createTime": "2024-03-25T01:55:02.544562950Z", "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1beta" }, "done": false }
更新オペレーションの進行状況を確認するには、次のエンドポイントに GET
リクエストを送信します。
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID
次のエンドポイントに GET
リクエストを送信して、すべてのオペレーションを一覧表示します。
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations
プログラムで利用資格を削除する
gcloud
gcloud beta pam entitlements delete
コマンドは、特定のエンティティを削除します。
後述のコマンドデータを使用する前に、次のように置き換えます。
ENTITLEMENT_ID
: 削除する利用資格の ID。RESOURCE_TYPE
: 省略可。利用資格が属するリソースタイプ。値organization
、folder
、またはproject
を使用します。RESOURCE_ID
:RESOURCE_TYPE
とともに使用します。利用資格を管理する Google Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud beta pam entitlements delete \ ENTITLEMENT_ID \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows(PowerShell)
gcloud beta pam entitlements delete ` ENTITLEMENT_ID ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows(cmd.exe)
gcloud beta pam entitlements delete ^ ENTITLEMENT_ID ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
次のようなレスポンスが返されます。
Delete request issued for: [ENTITLEMENT_ID] Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done. Deleted entitlement [ENTITLEMENT_ID].
REST
Privileged Access Manager API の deleteEntitlement
メソッドは、特定のエンティティを削除します。
リクエストのデータを使用する前に、次のように置き換えます。
SCOPE
: 利用資格を削除する組織、フォルダ、またはプロジェクト。organizations/ORGANIZATION_ID
、folders/FOLDER_ID
、projects/PROJECT_ID
の形式で指定します。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。ENTITLEMENT_ID
: 削除する利用資格の ID。REQUEST_ID
: 省略可。ゼロ以外の UUID である必要があります。サーバーがリクエスト ID を含むリクエストを受信すると、その ID を含む別のリクエストが過去 60 分以内に完了しているかどうかを確認します。その場合、新しいリクエストは無視されます。
HTTP メソッドと URL:
DELETE https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID?requestId=REQUEST_ID
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/my-project/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata", "createTime": "2024-03-06T02:28:28.020293460Z", "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1beta" }, "done": false }
削除オペレーションの進行状況を確認するには、次のエンドポイントに GET
リクエストを送信します。
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID
次のエンドポイントに GET
リクエストを送信して、すべてのオペレーションを一覧表示します。
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations