ドメイン別の ID の制限

は、

Resource Manager は、ドメインに基づいてリソース共有を制限するために、組織ポリシーで使用できるドメイン制限の制約を提供します。この制約により、Cloud Identity and Access Management ポリシーで使用できる ID のセットを制限できます。

組織ポリシーではこの制約を使用して、リソース共有を 1 つ以上の G Suite ドメインの指定されたセットに制限します。例外はフォルダ単位またはプロジェクト単位で許可されます。ドメイン制限が設定されると、この制限は将来の Cloud IAM ポリシーの変更にのみ適用され、過去の変更には適用されません。したがって、他の組織の ID は、制約が適用される前に組織ポリシーに追加されていた場合にはアクセス権が保持されます。

ドメイン制限の制約は、iam.allowedPolicyMemberDomains リスト型制約に基づきます。

この制約が G Suite ドメインで設定されている場合、そのドメインにあるすべての ID に影響します。これには、G Suite コンソールで管理され、Google Cloud Platform Console からは管理されないユーザー アカウントが含まれます。

組織ポリシーの設定

ドメイン制限の制約は、リスト型制約の一種です。G Suite のお客様 ID を、ドメイン制限の制約の allowed_values リストで追加または削除することができます。この G Suite アカウントに関連付けられたすべてのドメインが、組織ポリシーの影響を受けます。

この制約を設定するには、組織ポリシーを変更する権限が必要です。たとえば、resourcemanager.organizationAdmin 役割には、組織ポリシー制約を設定する権限があります。組織レベルでポリシーを管理する方法の詳細については、制約の使用ページをご覧ください。

Console

ドメイン制限の制約を含む組織ポリシーを設定するには、次のようにします。

  1. Google Cloud Platform Console の [組織のポリシー] ページに移動します。
    [組織のポリシー] ページに移動
  2. [選択] をクリックします。
  3. ポリシーを設定する組織を選択します。
  4. [ドメインで制限された共有] をクリックします。
  5. [編集] ボタンをクリックします。
  6. [対象] で、[カスタマイズ] を選択します。
  7. [ポリシーの値] で [カスタム] を選択します。
  8. [ポリシーの値] テキスト ボックスに G Suite お客様 ID を入力し、Enter キーを押します。このように複数の ID を入力できます。
  9. [保存] をクリックします。ポリシーが更新されたことを確認する通知が表示されます。

gcloud

ポリシーは、gcloud コマンドライン ツールで設定できます。ドメイン制限の制約を含むポリシーを作成するには、次のコマンドを実行します。

gcloud alpha resource-manager org-policies allow \
    --organization 'ORGANIZATION_ID' \
    iam.allowedPolicyMemberDomains 'DOMAIN_ID_1' \
    'DOMAIN_ID_2'

ここで

  • ORGANIZATION_ID は、このポリシーを設定する組織ノードの ID です。
  • DOMAINID# は、アクセスを許可する 1 つ以上の G Suite お客様 ID です。

組織ポリシーで制約を使用する方法については、制約の使用をご覧ください。

組織ポリシーの例

次のコード スニペットは、ドメイン制限の制約を含む組織ポリシーを示しています。

resource: "organizations/842463781240"
policy {
  constraint: "constraints/iam.allowedPolicyMemberDomains"
  etag: "\a\005L\252\122\321\946\334"
  list_policy {
  allowed_values: "C03xgje4y"
  allowed_values: "C03g5e3bc"
  allowed_values: "C03t213bc"
  }
}

allowed_values は G Suite お客様 ID です(C03xgje4y など)。この組織ポリシーが適用されると、allowed_values のリストから G Suite ドメインに属している ID のみが Cloud IAM ポリシーで許可されます。G Suite の人間のユーザーとグループは、その G Suite ドメインに属している必要があり、Cloud IAM サービス アカウントは、指定された G Suite ドメインに関連付けられた組織リソースの子でなければなりません。

たとえば、企業の G Suite のお客様 ID のみを使用して組織ポリシーを作成した場合、その時点からそのドメインのメンバーだけを Cloud IAM ポリシーに追加できます。

エラー メッセージの例

allowed_values リストに含まれていないメンバーを追加しようとしてドメイン制限の組織ポリシー制約に違反すると、操作は失敗し、エラー メッセージが表示されます。

Console

コンソールのスクリーンショット

gcloud

ERROR: (gcloud.projects.set-iam-policy) FAILED_PRECONDITION: One or
more users in the policy do not belong to a permitted customer.

G Suite お客様 ID の取得

ドメイン制限の制約によって使用される G Suite お客様 ID は、次の 2 つの方法で取得できます。

gcloud

gcloud organizations list コマンドを使用すると、このユーザーが resourcemanager.organizations.get 権限を持つすべての組織を表示できます。

gcloud alpha organizations list

このコマンドは、DISPLAY_NAMEID(組織 ID)、および DIRECTORY_CUSTOMER_ID を返します。G Suite お客様 ID は DIRECTORY_CUSTOMER_ID です。

API

G Suite お客様 ID を取得するには、G Suite ディレクトリ API を使用できます。

  1. https://www.googleapis.com/auth/admin.directory.customer.readonly スコープの OAuth アクセス トークンを取得します。
  2. G Suite ディレクトリ API のクエリを実行するには、次のコマンドを実行します。

    curl -# -X GET "https://www.googleapis.com/admin/directory/v1/customers/customerKey" \
    -H "Authorization: Bearer $access_token" -H "Content-Type: application/json"
    

このコマンドは、お客様情報を含む JSON レスポンスを返します。G Suite お客様 ID は id です。

サブドメインの制限

ドメイン制限の制約は、特定の G Suite お客様 ID に関連付けられたすべてのドメインへのアクセスを制限することによって機能します。それぞれの G Suite アカウントに、正確に 1 つのプライマリ ドメインと 0 個以上のセカンダリ ドメインが割り当てられます。G Suite お客様 ID に関連付けられたすべてのドメインが制約の対象になります。

リソースにドメイン制限の制約を適用すると、そのリソースおよびリソース階層内のその子孫にアクセスできる、プライマリ ドメインとすべてのセカンダリ ドメインが制御されます。

一般的な G Suite ドメインとサブドメインの組み合わせの例については、下の表をご覧ください。

プライマリ ドメイン サブドメイン ドメイン制限の制約 user@sub.domain.com は許可されているか?
domain.com なし 許可: domain.com ×
domain.com sub.domain.com 許可: domain.com
domain.com sub.domain.com 許可: sub.domain.com
sub.domain.com domain.com 許可: sub.domain.com
sub.domain.com なし 許可: sub.domain.com

2 つのドメイン間のドメイン制限制約アクセスを区別するには、各ドメインを別々の G Suite アカウントに関連付ける必要があります。各 G Suite アカウントは組織ノードに関連付けられ、独自の組織ポリシーをそれに適用できます。こうして domain.com を 1 つの G Suite アカウントに関連付け、sub.domain.com を別の G Suite アカウントに関連付けることで、よりきめ細かなアクセス制御を行うことができます。詳細については、複数の組織の管理をご覧ください。

既知の問題のトラブルシューティング

Cloud Billing のエクスポート サービス アカウント

この制約を有効にしてバケットへの請求のエクスポートを有効にすると、おそらく失敗します。請求のエクスポートに使用するバケットに対して、この制約を使用しないでください。

Cloud Billing のエクスポート サービス アカウントのメールアドレスは 509219875288-kscf0cheafmf4f6tp1auij5me8qakbin@developer.gserviceaccount.com です。

Cloud Composer

新しい環境を作成するには、まず対象プロジェクトでドメイン制限の制約を無効にする必要があります。環境を作成した後で、制約を再び有効にできます。

アカウントへのアクセスの強制

ドメイン制限に違反してプロジェクトに対してアカウントへのアクセスを強制する必要がある場合:

  1. ドメイン制限の制約を含む組織ポリシーを削除します。

  2. プロジェクトに対してアカウントへのアクセスを許可します。

  3. ドメイン制限の制約を含む組織ポリシーを再度実装します。

また、Google グループをホワイトリストに登録することもできます。

  1. 許可されたドメイン内に Google グループを作成します。

  2. そのグループに対するドメイン制限をオフにするには、G Suite 管理者パネルを使用します。

  3. グループにサービス アカウントを追加します。

  4. ドメイン制限の制約を含む組織ポリシーを再度実装します。

  5. Cloud IAM ポリシーで Google グループへのアクセスを許可します。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Resource Manager のドキュメント