デフォルトの Key Access Justifications ポリシーを設定する
このページでは、Assured Workloads のデフォルトの Key Access Justifications ポリシーを構成する方法について説明します。組織、フォルダ、プロジェクトのデフォルトの Key Access Justifications ポリシーを設定できます。鍵の作成時に Key Access Justifications ポリシーが鍵に設定されていない限り、デフォルトの Key Access Justifications ポリシーが、そのリソース内で作成された新しい鍵に自動的に適用されます。デフォルトの Key Access Justifications ポリシーは、既存の鍵には適用されません。
始める前に
- デフォルトの Key Access Justifications ポリシーを設定できるのは、Assured Workloads の日本リージョン コントロール パッケージに登録されているフォルダ内の Cloud KMS 鍵に対してのみです。
必要な IAM 権限
デフォルトの Key Access Justifications ポリシーを作成および管理するために必要な権限を取得するには、鍵を含む組織、フォルダ、またはプロジェクトに対する Key Access Justifications ポリシー構成管理者 (roles/cloudkms.keyAccessJustificationsPolicyConfigAdmin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
この事前定義ロールには、デフォルトの Key Access Justifications ポリシーを作成および管理するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
デフォルトの Key Access Justifications ポリシーを作成および管理するには、次の権限が必要です。
-
cloudkms.keyAccessJustificationsConfig.getKeyAccessJustificationsPolicyConfig -
cloudkms.keyAccessJustificationsConfig.updateKeyAccessJustificationsPolicyConfig -
cloudkms.keyAccessJustificationsConfig.showEffectiveKeyAccessJustificationsPolicyConfig
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
デフォルトの Key Access Justifications ポリシーを設定または変更する
コンソール
Google Cloud コンソールで、[鍵管理] ページに移動します。
[KMS Controls] をクリックし、[Key Access Justifications(KAJ)] をクリックします。
[編集] をクリックします。
[Key Access Justifications ポリシーを設定する] を選択し、[特定の理由コードを許可する] を選択します。
[Justification reasons](正当な理由)で、[Customer-initiated access](お客様が自発的に行ったアクセス)、[Google-initiated system operation](Google が自発的に行ったシステム オペレーション)、および許可するその他の理由コードを選択します。お客様が開始したアクセスとGoogle が開始したシステム オペレーションは、どちらも正常な機能に不可欠です。
[作成] をクリックします。
gcloud
組織のデフォルト ポリシーを設定する
--organization フラグを指定して kms kaj-config update コマンドを使用し、フォルダのデフォルトの Key Access Justifications ポリシーを作成または更新します。
gcloud beta kms kaj-config update
--organization=ORGANIZATION_NUMBER
--allowed-access-reasons="ALLOWED_ACCESS_REASONS"
次のように置き換えます。
ORGANIZATION_NUMBER: デフォルトの Key Access Justifications ポリシーを設定する組織の番号。ALLOWED_ACCESS_REASONS: 許可されたアクセス理由を一覧表示する Key Access Justifications ポリシー。カンマ区切りのリストとしてフォーマットされます(例:CUSTOMER_INITIATED_ACCESS,GOOGLE_INITIATED_SYSTEM_OPERATION)。正当化理由の一覧については、正当化コードをご覧ください。
フォルダにデフォルト ポリシーを設定する
--folder フラグを指定して kms kaj-config update コマンドを使用し、フォルダのデフォルトの Key Access Justifications ポリシーを作成または更新します。
gcloud beta kms kaj-config update
--folder=FOLDER_ID
--allowed-access-reasons="ALLOWED_ACCESS_REASONS"
次のように置き換えます。
FOLDER_ID: デフォルトの Key Access Justifications ポリシーを設定するフォルダの ID。ALLOWED_ACCESS_REASONS: 許可されたアクセス理由を一覧表示する Key Access Justifications ポリシー。カンマ区切りのリストとしてフォーマットされます(例:CUSTOMER_INITIATED_ACCESS,GOOGLE_INITIATED_SYSTEM_OPERATION)。正当化理由の一覧については、正当化コードをご覧ください。
プロジェクトのデフォルト ポリシーを設定する
--project フラグを指定して kms kaj-config update コマンドを使用し、プロジェクトのデフォルトの Key Access Justifications ポリシーを作成または更新します。
gcloud beta kms kaj-config update
--project=PROJECT_ID
--allowed-access-reasons="ALLOWED_ACCESS_REASONS"
次のように置き換えます。
PROJECT_ID: デフォルトの Key Access Justifications ポリシーを設定するプロジェクトの ID。ALLOWED_ACCESS_REASONS: 許可されたアクセス理由を一覧表示する Key Access Justifications ポリシー。カンマ区切りのリストとしてフォーマットされます(例:CUSTOMER_INITIATED_ACCESS,GOOGLE_INITIATED_SYSTEM_OPERATION)。正当化理由の一覧については、正当化コードをご覧ください。
REST
組織のデフォルト ポリシーを設定する
organizations.updateKeyAccessJustificationsPolicyConfig メソッドを使用して、組織のデフォルトの Key Access Justifications ポリシーを作成または更新します。
curl "https://cloudkms.googleapis.com/v1/organizations/ORGANIZATION_ID/kajPolicyConfig?updateMask=defaultKeyAccessJustificationPolicy" \
--request "PATCH" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{"name": "organizations/ORGANIZATION_ID/kajPolicyConfig", "defaultKeyAccessJustificationPolicy": POLICY}'
次のように置き換えます。
ORGANIZATION_ID: デフォルトの Key Access Justifications ポリシーを設定する組織の ID。POLICY: 許可されたallowedAccessReasonsを一覧表示する Key Access Justifications ポリシー。JSON オブジェクトとしてフォーマットされます(例:{"allowedAccessReasons": ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]})。考えられる正当化理由の一覧については、正当化コードをご覧ください。
フォルダにデフォルト ポリシーを設定する
folders.updateKeyAccessJustificationsPolicyConfig メソッドを使用して、フォルダのデフォルトの Key Access Justifications ポリシーを作成または更新します。
curl "https://cloudkms.googleapis.com/v1/folders/FOLDER_ID/kajPolicyConfig?updateMask=defaultKeyAccessJustificationPolicy" \
--request "PATCH" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{"name": "folders/FOLDER_ID/kajPolicyConfig", "defaultKeyAccessJustificationPolicy": POLICY}'
次のように置き換えます。
FOLDER_ID: デフォルトの Key Access Justifications ポリシーを設定するフォルダの ID。POLICY: 許可されたallowedAccessReasonsを一覧表示する Key Access Justifications ポリシー。JSON オブジェクトとしてフォーマットされます(例:{"allowedAccessReasons": ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]})。考えられる正当化理由の一覧については、正当化コードをご覧ください。
プロジェクトのデフォルト ポリシーを設定する
projects.updateKeyAccessJustificationsPolicyConfig メソッドを使用して、プロジェクトのデフォルトの Key Access Justifications ポリシーを作成または更新します。
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/kajPolicyConfig?updateMask=defaultKeyAccessJustificationPolicy" \
--request "PATCH" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{"name": "projects/PROJECT_ID/kajPolicyConfig", "defaultKeyAccessJustificationPolicy": POLICY}'
次のように置き換えます。
PROJECT_ID: デフォルトの Key Access Justifications ポリシーを設定するプロジェクトの ID。POLICY: 許可されたallowedAccessReasonsを一覧表示する Key Access Justifications ポリシー。JSON オブジェクトとしてフォーマットされます(例:{"allowedAccessReasons": ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]})。考えられる正当化理由の一覧については、正当化コードをご覧ください。
デフォルトの Key Access Justifications ポリシーを表示する
コンソール
Google Cloud コンソールで、[鍵管理] ページに移動します。
[KMS Controls] をクリックし、[Key Access Justifications (KAJ)] をクリックします。選択した組織、フォルダ、プロジェクトのデフォルト ポリシーが表示されます。
gcloud
組織のデフォルトのポリシーを表示する
組織に設定されているデフォルトのポリシーを表示するには、--organization フラグを指定して kms kaj-config
describe コマンドを実行します。
gcloud beta kms kaj-config describe --organization=ORGANIZATION_NUMBER
ORGANIZATION_NUMBER は、組織の番号に置き換えます。
レスポンスは次の例のようになります。
defaultKeyAccessJustificationPolicy:
defaultPolicyAvailable: true
allowedAccessReasons:
- CUSTOMER_INITIATED_ACCESS
- GOOGLE_INITIATED_SYSTEM_OPERATION
name: organizations/ORGANIZATION_NUMBER/kajPolicyConfig
フォルダのデフォルト ポリシーを表示する
フォルダに設定されているデフォルトのポリシーを表示するには、--folder フラグを指定して kms kaj-config
describe コマンドを実行します。
gcloud beta kms kaj-config describe --folder=FOLDER_ID
FOLDER_ID は、フォルダの ID に置き換えます。
レスポンスは次の例のようになります。
defaultKeyAccessJustificationPolicy:
defaultPolicyAvailable: true
allowedAccessReasons:
- CUSTOMER_INITIATED_ACCESS
- GOOGLE_INITIATED_SYSTEM_OPERATION
name: folders/FOLDER_ID/kajPolicyConfig
プロジェクトのデフォルト ポリシーを表示する
プロジェクトに設定されているデフォルトのポリシーを表示するには、--project フラグを指定して kms kaj-config
describe コマンドを実行します。
gcloud beta kms kaj-config describe --project=PROJECT_ID
PROJECT_ID は、プロジェクトの ID に置き換えます。
レスポンスは次の例のようになります。
defaultKeyAccessJustificationPolicy:
defaultPolicyAvailable: true
allowedAccessReasons:
- CUSTOMER_INITIATED_ACCESS
- GOOGLE_INITIATED_SYSTEM_OPERATION
name: projects/PROJECT_ID/kajPolicyConfig
このコマンドは、プロジェクトに設定されているデフォルトのポリシーがある場合は、そのポリシーを返します。プロジェクトにデフォルト ポリシーが設定されていない場合、プロジェクトが親フォルダまたは組織からデフォルト ポリシーを継承していても、このコマンドはポリシーを返しません。プロジェクトで有効なデフォルト ポリシーを表示するには、このページのプロジェクトで有効なデフォルトの Key Access Justifications ポリシーを表示するをご覧ください。
REST
organizations.getKajPolicyConfig メソッドを使用して、組織の既存のデフォルトの Key Access Justifications ポリシーに関するメタデータを取得します。
curl "https://cloudkms.googleapis.com/v1/organizations/ORGANIZATION_ID/kajPolicyConfig"
ORGANIZATION_ID は、デフォルトの Key Access Justifications ポリシーを取得する組織の ID に置き換えます。
レスポンスは次の例のようになります。
{
"name" : "organizations/ORGANIZATION_ID/kajPolicyConfig"
"defaultKeyAccessJustificationPolicy": {
"defaultPolicyAvailable": true,
"allowedAccessReasons": [
"CUSTOMER_INITIATED_ACCESS",
"GOOGLE_INITIATED_SYSTEM_OPERATION"
]
}
}
folders.getKajPolicyConfig メソッドを使用して、フォルダの既存のデフォルトの Key Access Justifications ポリシーに関するメタデータを取得します。
curl "https://cloudkms.googleapis.com/v1/folders/FOLDER_ID/kajPolicyConfig"
FOLDER_ID は、デフォルトの Key Access Justifications ポリシーを取得するフォルダの ID に置き換えます。
レスポンスは次の例のようになります。
{
"name" : "folders/FOLDER_ID/kajPolicyConfig"
"defaultKeyAccessJustificationPolicy": {
"defaultPolicyAvailable": true,
"allowedAccessReasons": [
"CUSTOMER_INITIATED_ACCESS",
"GOOGLE_INITIATED_SYSTEM_OPERATION"
]
}
}
projects.getKajPolicyConfig メソッドを使用して、プロジェクトの既存のデフォルトの Key Access Justifications ポリシーに関するメタデータを取得します。
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/kajPolicyConfig"
PROJECT_ID は、デフォルトの Key Access Justifications ポリシーを取得するプロジェクトの ID に置き換えます。
レスポンスは次の例のようになります。
{
"name" : "project/PROJECT_ID/kajPolicyConfig"
"defaultKeyAccessJustificationPolicy": {
"defaultPolicyAvailable": true,
"allowedAccessReasons": [
"CUSTOMER_INITIATED_ACCESS",
"GOOGLE_INITIATED_SYSTEM_OPERATION"
]
}
}
プロジェクトで有効なデフォルトの Key Access Justifications ポリシーを表示する
プロジェクトは、最も近い親フォルダまたは組織からデフォルトのポリシーを継承します。単一のプロジェクトの祖先に複数のデフォルト ポリシーが設定されている場合は、プロジェクトの有効なポリシーを取得して、そのプロジェクトで作成された新しい Cloud KMS 鍵に適用されるポリシーを確認できます。
Google Cloud コンソールで、プロジェクトに実際に適用されているデフォルトの Key Access Justifications ポリシーは、プロジェクトで鍵を作成しているときに表示されます。キーの作成時に、有効なデフォルト ポリシーを継承するか、新しいキーとポリシーを作成するかを選択します。
gcloud
プロジェクトの有効なデフォルトの Key Access Justifications ポリシーに関するメタデータを表示するには、projects.showEffectiveKeyAccessJustificationsPolicyConfig メソッドを呼び出します。
gcloud beta kms kaj-config show-effective-config --project=PROJECT_ID
PROJECT_ID は、有効なデフォルトの Key Access Justifications ポリシーを取得するプロジェクトの ID に置き換えます。
レスポンスは次の例のようになります。
effectiveKajPolicy:
defaultKeyAccessJustificationPolicy:
defaultPolicyAvailable: true
allowedAccessReasons:
- CUSTOMER_INITIATED_ACCESS
- GOOGLE_INITIATED_SYSTEM_OPERATION
name: folders/FOLDER_ID/kajPolicyConfig
REST
プロジェクトの有効なデフォルトの Key Access Justifications ポリシーに関するメタデータを表示するには、projects.showEffectiveKeyAccessJustificationsPolicyConfig メソッドを呼び出します。
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID:showEffectiveKeyAccessJustificationsPolicyConfig"
PROJECT_ID は、有効なデフォルトの Key Access Justifications ポリシーを取得するプロジェクトの ID に置き換えます。
レスポンスは次の例のようになります。
{
"effectiveKajPolicy" : {
"name" : "folders/FOLDER_ID/kajPolicyConfig"
"defaultKeyAccessJustificationPolicy": {
"defaultPolicyAvailable": true,
"allowedAccessReasons": [
"CUSTOMER_INITIATED_ACCESS",
"GOOGLE_INITIATED_SYSTEM_OPERATION"
]
}
}
}