プロジェクトは、リソース階層の基本的なオペレーティング ユニットです。 Cloud de Confiance by S3NS プロジェクトは、フォルダ(または組織)と、仮想マシンやストレージなどのリソースの間に存在します。このページでは、Cloud Resource Manager API と Cloud de Confiance コンソールを使用して Cloud de Confiance プロジェクトを作成する方法について説明します。
プロジェクトの主な特性は次のとおりです。
プライマリ サービス コンテナ: プロジェクトは、すべての Cloud de Confiance by S3NS サービス(API)が有効になり、 Compute Engine インスタンスや BigQuery データセットなどのリソースが作成されるベースレベルです。
信頼境界: プロジェクトは分離レイヤとして機能します。デフォルトでは、1 つのプロジェクトのリソースは別のプロジェクトのリソースにアクセスできないため、さまざまなアプリケーションや環境に対して安全な境界が確立されます。
課金単位: プロジェクトは、組織全体の費用を追跡、整理、分離するための主要な方法です。
ポリシー アタッチメント ポイント: ポリシーはフォルダから継承されることが多いですが、プロジェクト レベルは、特定の権限(Identity and Access Management(IAM))がデベロッパーとサービス アカウントに付与され、日常業務に使用される最も一般的な場所です。
始める前に
リソース階層の概要で、プロジェクト リソースについてお読みください。リソース階層の設定については、 ランディング ゾーンのリソース階層を決定する Cloud de Confiance をご覧ください。
プロジェクトには次の識別子が使用されます。
プロジェクト名: 人が読めるプロジェクト名。
プロジェクト名は Google API では使用されません。プロジェクト名は、プロジェクトの作成中や作成後にいつでも編集できます。プロジェクト名は一意である必要はありません。
プロジェクト ID: グローバルに一意のプロジェクト ID。
プロジェクト ID は、プロジェクトを他のすべてのプロジェクトと区別する一意の文字列です。 Cloud de Confiance by S3NSプロジェクト名を入力すると、 Cloud de Confiance コンソールは 文字、数字、ハイフンの組み合わせで一意のプロジェクト ID を生成します。生成されたプロジェクト ID を使用しますが、この ID はプロジェクトの作成時に編集することもできます。プロジェクトが作成されると、プロジェクト ID は不変になります。
プロジェクト ID には次の要件があります。
- 6 ~ 30 文字にする必要があります。
- 英小文字、数字、ハイフンのみを含めることができます。
- 先頭は英字にする必要があります。
- 末尾にハイフンを使用することはできません。
- 使用中または以前に使用したことはできません。これには、削除されたプロジェクトも含まれます。
googleやsslなどの制限付き文字列を含めることはできませんプロジェクト ID にundefinedやnullなどの文字列を使用しないでください。
すべての Cloud de Confiance プロジェクト ID には、自動的に
s3ns:という接頭辞が付きます。プロジェクト番号: プロジェクト番号は、プロジェクトに対して自動的に生成される 一意の識別子です。
プロジェクト名、プロジェクト ID、他のリソース名には、個人を特定できる情報やセキュリティ データなどの機密情報を含めないでください。プロジェクト ID は他の多くの Cloud de Confiance by S3NS リソースの名前で使用されます。プロジェクトまたはそのリソースを参照すると、プロジェクト ID とリソース名が公開されます。
プロジェクトを作成
プロジェクトを作成するには、resourcemanager.projects.create 権限が必要です。この権限は、プロジェクト作成者のロール(roles/resourcemanager.projectCreator)などのロールに含まれています。
ロールを個人に付与し、組織リソース 全体でのアクセスを制限する方法については、デフォルトの組織 ロールの管理ページをご覧ください。
親リソースを指定しなければ、ユーザー アカウントのドメインに基づいて親リソースが自動的に選択されます。
新しいプロジェクトは、 Cloud de Confiance コンソール、
Google Cloud CLI または
projects.create()
メソッドを使用して作成できます。
コンソール
新しいプロジェクトを作成するには、次の操作を行います。
-
Cloud de Confiance コンソールの [リソースの管理] ページに移動します。
残りの手順は、 Cloud de Confiance コンソールに表示されます。
- ページの上部にある [組織の選択] プルダウン リストで、プロジェクトを作成する組織リソースを選択します。無料トライアルをご使用の場合はこのリストが表示されないため、この手順はスキップしてください。
- [プロジェクトを作成] をクリックします。
- 表示される [新しいプロジェクト] ウィンドウで、プロジェクト名を入力し、該当する請求先アカウントを選択します。プロジェクト名には文字、数字、単一引用符、ハイフン、スペース、感嘆符のみを使用でき、4~30 文字にする必要があります。
- [場所] ボックスに親組織またはフォルダ リソースを入力します。このリソース が新しいプロジェクトの階層上の親になります。
- 新しいプロジェクトの詳細を入力し終えたら、[作成] をクリックします。
gcloud
-
コンソールで Cloud Shell をアクティブにします。 Cloud de Confiance
コンソールの下部にある Cloud de Confiance Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です 。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています 。セッションが初期化されるまで数秒かかることがあります。
新しいプロジェクトを作成するには、次のように
gcloud projects createコマンドを使用します。gcloud projects create PROJECT_IDPROJECT_ID は、作成するプロジェクトの ID です。プロジェクト ID は先頭を小文字にする必要があります。また、使用できるのは ASCII 文字、数字、ハイフンのみで、6~30 文字にする必要があります。
親として組織リソースまたはフォルダを持つプロジェクトを作成するには、
--organizationまたは--folderフラグを使用します。リソースの親は 1 つのみであるため、これらのフラグのうち 1 つだけ使用できます。gcloud projects create PROJECT_ID --organization=ORGANIZATION_IDgcloud projects create PROJECT_ID --folder=FOLDER_ID
REST
projects.create() メソッドを使用して新しいプロジェクトを作成する場合、プロジェクト ID に特定の単語を使用できません。たとえば、google、null、undefined、ssl などです。制限付きの単語を使用すると、リクエストにより INVALID_ARGUMENT エラーが返されます。
次のリクエストではプロジェクトは作成されますが、このプロジェクトは請求先アカウントに自動的には関連付けられません。
projects.updateBillingInfo
メソッドを使用して、プロジェクトに関連付けられた請求先アカウントを設定または更新します。
プロジェクト リクエストを作成する:
POST https://cloudresourcemanager.googleapis.com/v3/projects/
Authorization: *************
Content-Type: application/json
{
"projectId": "our-project-123",
"name": "my project",
"labels": {
"mylabel": "prod"
}
}
プロジェクト レスポンスを作成する:
{
"name": "operations/pc.123456789",
}
オペレーション リクエストを取得する:
GET https://cloudresourcemanager.googleapis.com/v3/operations/pc.123456789
Authorization: *************
Content-Type: application/json
オペレーション レスポンスを取得する:
{
"name": "operations/pc.123456789",
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloudresourcemanager.v3.Project",
"projectNumber": "464036093014",
"projectId": "our-project-123",
"lifecycleState": "ACTIVE",
"name": "my project",
"labels": {
"mylabel": "prod"
},
"createTime": "2016-01-07T21:59:43.314Z"
}
}
プロジェクトの作成時にタグを追加する
タグを使用すると、リソースのアノテーションを作成できます。タグは、プロジェクトの作成時に追加できます。タグを追加するときは、Tag User ロールを割り当てる必要があります。このロールに割り当てられる権限の詳細については、リソースのタグの管理をご覧ください。タグの Key-Value ペアの名前空間は、次のいずれかの方法でのみ追加できます。
gcloud
プロジェクトの作成時にタグを追加するには、次のコマンドを実行します。
gcloud projects create PROJECT_ID --organization=ORGANIZATION_ID --tags=KEY_VALUE_PAIRS
以下を置き換えます。
- PROJECT_ID はプロジェクトの一意の識別子です。
- ORGANIZATION_ID はプロジェクトの固有識別子です。
- KEY_VALUE_PAIRS は、リソースに割り当てることができる Key-Value ペアのカンマ区切りのリストです。Key-Value ペアのカンマ区切りリストの例:
123/environment=production, 456/create=testresource
REST
次のスニペットは、プロジェクトを作成してタグを追加する JSON リクエストです。
POST https://cloudresourcemanager.googleapis.com/v3/projects/
Authorization: *************
Content-Type: application/json
{
"projectId": "our-project-456",
"name": "my project",
"parent": "organizations/123",
"tags": {
"key": "123/environment"
"value": "production"
},
"tags": {
"key": "123/costCenter"
"value": "marketing"
}
}
タグを使用してプロジェクト環境を指定する
タグを使用すると、本番環境、ステージング環境、開発環境など、環境に基づいてプロジェクトを視覚的に区別できます。これにより、エラーを防ぎ、機密性の高い環境での作業時の認識を向上させることができます。特定のタグの Key-Value ペアを持つプロジェクトが選択されると、Google はコンソールのプロジェクト選択ツールでプロジェクトに 目印を追加します。 Cloud de Confiance この目印は、変更によって関連する本番環境または非本番環境のアプリケーションに影響する可能性があることを示します。タグは、プロジェクトによって継承されるか、プロジェクトに直接設定されます。
この機能を使用するには、次の操作を行います。
environmentという名前のタグキーを作成します。- 使用する環境カテゴリのタグ値を作成します。次の値がサポートされており、コンソールのプロジェクト選択ツールで対応するバッジにマッピングされます。
- Prod: Prod、prod、Production、production
- Dev: Dev、dev、Development、development
- Test: Test、test、Testing、testing、QA、qa、品質保証、品質保証
- Staging: Staging、staging、Stage、stage
- タグ バインディングを作成して 、適切なタグをプロジェクトにアタッチします。
プロジェクトに複数の環境タグ(フォルダから継承されたタグとプロジェクトに直接設定されたタグなど)がある場合、最も具体的なタグを使用してバッジが決定されます。
サービス アカウントを使用したプロジェクトの作成
サービス アカウントを使用して、プロジェクトの作成を自動化できます。ユーザー アカウントの場合と同様に、サービス アカウントには組織リソース内にプロジェクトを作成する権限を付与することができます。サービス アカウントは、組織リソース外にプロジェクトを作成することはできません。また、プロジェクトの作成時に親リソースを指定する必要があります。サービス アカウントは、gcloud CLI または projects.create() メソッドを使用して新しいプロジェクトを作成できます。
プロジェクトの割り当ての管理
組織の割り当てのプロジェクトに追加容量をリクエストするには、 チームにサポート チケットを開いてください。 Cloud de Confiance by S3NS 詳細については、 割り当ての調整をリクエストするをご覧ください。
次のステップ
- プロジェクトの表示と更新について学習する。
- プロジェクトの削除と復元について学習する。
- リソース階層内でプロジェクトを移動する方法を学習する。
- 組織リソースをまたいでプロジェクトを移行する方法を学習する。