このページでは、組織ポリシー サービスのカスタム制約を使用して、次の Google Cloud リソースに対する特定のオペレーションを制限する方法について説明します。
clouddeploy.googleapis.com/Automationclouddeploy.googleapis.com/CustomTargetTypeclouddeploy.googleapis.com/DeliveryPipelineclouddeploy.googleapis.com/DeployPolicyclouddeploy.googleapis.com/Releaseclouddeploy.googleapis.com/Rolloutclouddeploy.googleapis.com/Target
組織のポリシーの詳細については、カスタムの組織のポリシーをご覧ください。
組織のポリシーと制約について
Google Cloud 組織のポリシー サービスを使用すると、組織のリソースをプログラマティックに一元管理できます。組織のポリシー管理者は組織のポリシーを定義できます。組織のポリシーは、Google Cloud リソース階層内のGoogle Cloud リソースやそれらのリソースの子孫に適用される、制約と呼ばれる一連の制限です。組織のポリシーは、組織レベル、フォルダレベル、またはプロジェクト レベルで適用できます。
組織のポリシーを利用することで、あらかじめ用意されたマネージド制約をさまざまな Google Cloud サービスに適用できます。ただし、組織のポリシーで制限されている特定の項目をより細かくカスタマイズして制御したい場合は、カスタム制約を作成して、それを組織のポリシーで使うこともできます。
ポリシーの継承
デフォルトでは、組織のポリシーは、そのポリシーを適用したリソースの子孫に継承されます。たとえば、フォルダにポリシーを適用した場合、 Google Cloud はそのフォルダ内のすべてのプロジェクトにそのポリシーを適用します。この動作の詳細と変更方法については、階層評価ルールをご覧ください。
始める前に
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init - 組織 ID を確認します。
必要なロール
カスタムの組織のポリシーを管理するために必要な権限を取得するには、組織のリソースに対する組織のポリシー管理者 (roles/orgpolicy.policyAdmin)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Cloud Deploy でサポートされているリソース
次の表に、カスタム制約で参照できる Cloud Deploy リソースを示します。| リソース | フィールド |
|---|---|
| clouddeploy.googleapis.com/Automation |
resource.annotations
|
resource.description
| |
resource.rules.advanceRolloutRule.id
| |
resource.rules.advanceRolloutRule.sourcePhases
| |
resource.rules.advanceRolloutRule.wait
| |
resource.rules.promoteReleaseRule.destinationPhase
| |
resource.rules.promoteReleaseRule.destinationTargetId
| |
resource.rules.promoteReleaseRule.id
| |
resource.rules.promoteReleaseRule.wait
| |
resource.rules.repairRolloutRule.id
| |
resource.rules.repairRolloutRule.jobs
| |
resource.rules.repairRolloutRule.phases
| |
resource.rules.repairRolloutRule.repairPhases.retry.attempts
| |
resource.rules.repairRolloutRule.repairPhases.retry.backoffMode
| |
resource.rules.repairRolloutRule.repairPhases.retry.wait
| |
resource.rules.repairRolloutRule.repairPhases.rollback.destinationPhase
| |
resource.rules.repairRolloutRule.repairPhases.rollback.disableRollbackIfRolloutPending
| |
resource.rules.timedPromoteReleaseRule.destinationPhase
| |
resource.rules.timedPromoteReleaseRule.destinationTargetId
| |
resource.rules.timedPromoteReleaseRule.id
| |
resource.rules.timedPromoteReleaseRule.schedule
| |
resource.rules.timedPromoteReleaseRule.timeZone
| |
resource.selector.targets.id
| |
resource.serviceAccount
| |
resource.suspended
| |
| clouddeploy.googleapis.com/CustomTargetType |
resource.annotations
|
resource.customActions.deployAction
| |
resource.customActions.includeSkaffoldModules.configs
| |
resource.customActions.includeSkaffoldModules.git.path
| |
resource.customActions.includeSkaffoldModules.git.ref
| |
resource.customActions.includeSkaffoldModules.git.repo
| |
resource.customActions.includeSkaffoldModules.googleCloudBuildRepo.path
| |
resource.customActions.includeSkaffoldModules.googleCloudBuildRepo.ref
| |
resource.customActions.includeSkaffoldModules.googleCloudBuildRepo.repository
| |
resource.customActions.includeSkaffoldModules.googleCloudStorage.path
| |
resource.customActions.includeSkaffoldModules.googleCloudStorage.source
| |
resource.customActions.renderAction
| |
resource.description
| |
resource.name
| |
| clouddeploy.googleapis.com/DeliveryPipeline |
resource.annotations
|
resource.description
| |
resource.name
| |
resource.serialPipeline.stages.deployParameters.matchTargetLabels
| |
resource.serialPipeline.stages.deployParameters.values
| |
resource.serialPipeline.stages.profiles
| |
resource.serialPipeline.stages.strategy.canary.canaryDeployment.percentages
| |
resource.serialPipeline.stages.strategy.canary.canaryDeployment.postdeploy.actions
| |
resource.serialPipeline.stages.strategy.canary.canaryDeployment.predeploy.actions
| |
resource.serialPipeline.stages.strategy.canary.canaryDeployment.verify
| |
resource.serialPipeline.stages.strategy.canary.customCanaryDeployment.phaseConfigs.percentage
| |
resource.serialPipeline.stages.strategy.canary.customCanaryDeployment.phaseConfigs.phaseId
| |
resource.serialPipeline.stages.strategy.canary.customCanaryDeployment.phaseConfigs.postdeploy.actions
| |
resource.serialPipeline.stages.strategy.canary.customCanaryDeployment.phaseConfigs.predeploy.actions
| |
resource.serialPipeline.stages.strategy.canary.customCanaryDeployment.phaseConfigs.profiles
| |
resource.serialPipeline.stages.strategy.canary.customCanaryDeployment.phaseConfigs.verify
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.cloudRun.automaticTrafficControl
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.cloudRun.canaryRevisionTags
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.cloudRun.priorRevisionTags
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.cloudRun.stableRevisionTags
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.deployment
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.httpRoute
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.podSelectorLabel
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.routeDestinations.destinationIds
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.routeDestinations.propagateService
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.routeUpdateWaitTime
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.service
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.stableCutbackDuration
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.kubernetes.serviceNetworking.deployment
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.kubernetes.serviceNetworking.disablePodOverprovisioning
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.kubernetes.serviceNetworking.podSelectorLabel
| |
resource.serialPipeline.stages.strategy.canary.runtimeConfig.kubernetes.serviceNetworking.service
| |
resource.serialPipeline.stages.strategy.standard.postdeploy.actions
| |
resource.serialPipeline.stages.strategy.standard.predeploy.actions
| |
resource.serialPipeline.stages.strategy.standard.verify
| |
resource.serialPipeline.stages.targetId
| |
resource.suspended
| |
| clouddeploy.googleapis.com/DeployPolicy |
resource.annotations
|
resource.description
| |
resource.rules.rolloutRestriction.actions
| |
resource.rules.rolloutRestriction.id
| |
resource.rules.rolloutRestriction.invokers
| |
resource.rules.rolloutRestriction.timeWindows.oneTimeWindows.endDate
|