組織全体で承認を構成する

このページでは、組織間の認可機能の概要と構成手順について説明します。

BeyondCorp Enterprise を使用すると、組織内のデバイスから安全なデータへのアクセスを許可できます。これにより、アクセスを決定するときに、適用ポイントで組織のアクセス ポリシーに対してデバイスが評価されます。たとえば、別の組織からのアクセスを許可するか拒否するかは、評価されるアクセス ポリシー内の情報の一部です。組織内のデバイスが別の組織のリソースにアクセスする必要がある場合は、組織と他の組織に組織間の承認を構成する必要があります。

組織間で承認されると、他の組織が所有するデバイス属性などのデータを信頼して使用するようにアクセス ポリシーを構成できます。たとえば、組織のアクセス ポリシーを構成して、他の組織のデバイスからリソースへのアクセスを許可できます。

始める前に

組織間の承認を設定して管理するには、組織の組織 ID と承認する組織の ID が必要です。また、組織レベルのポリシー番号も必要です。組織 ID または組織レベルのポリシー番号がない場合は、次の情報をご覧ください。

組織間の承認を設定して管理するときは、AuthorizedOrgsDesc リソースを使用します。AuthorizedOrgsDesc リソースには、承認する組織のリストが含まれます。組織の承認タイプ、アセットタイプ、承認方向を指定します。

Google Cloud CLI を使用して AuthorizedOrgsDesc リソースを作成し、その設定を変更できます。AuthorizedOrgsDesc リソースを操作する場合は、以下の内容が適用されます。

  • ASSET_TYPE_DEVICE は、アセットタイプに使用できる唯一のオプションです。
  • 認証タイプで使用できるオプションは AUTHORIZATION_TYPE_TRUST のみです。

2 つの組織間の組織間のデバイス認証を設定する

このセクションでは、複数の組織をまたいで承認を設定する手順について説明します(この手順全体を通して例を使用します)。

この例では、2 つの組織間の双方向の承認関係を作成し、ある組織のデバイスから別の組織のリソースにアクセスできるようにします。リソース組織(organizations/RESOURCE_ORG_ID)には、Cloud Storage バケットや VM などのリソースが含まれます。リソースの組織には、組織内の特定のデバイスがリソースにアクセスできるようにするアクセスレベルがあります。パートナー組織(organizations/PARTNER_ORG_ID)は、リソース組織内のリソースにアクセスする必要がある組織です。

組織間の承認が構成される前の、リソースとパートナー組織のポリシーは次のとおりです。

リソース組織(organizations/RESOURCE_ORG_ID):

access policy:
access level: SP1
  --"requireScreenlock": true

パートナー組織(organizations/PARTNER_ORG_ID):

no access policy

次の図では、組織間の承認が構成されていないため、パートナー組織内のデバイスのデバイス属性がリソース組織に表示されません。

組織間が構成されるまで、パートナー組織デバイスのデバイス属性はリソース組織に表示されません。

次の手順は、Google Cloud CLI を使用して組織間の承認を有効にするように、リソースの組織とパートナー組織の両方を構成する方法を示しています。

準備

リソース組織とパートナー組織の両方について、このセクションの手順を完了します。

  1. 両方の組織に組織レベルのポリシーがあることを確認してください。組織レベルのポリシーを作成するには、組織レベルのアクセス ポリシーを作成するをご覧ください。

  2. 次のコマンドを実行して、組織レベルのアクセス ポリシー番号を取得します。

    gcloud access-context-manager policies list --organization=ORG_ID
    

    ORG_ID は、実際の組織 ID に置き換えます。

    次のような形式の情報が返されます。

    NAME                    ORGANIZATION SCOPES     TITLE     ETAG
    <ACCESS_POLICY_NUMBER>  <ORGANIZATION_NUMBER>   A title   002cb3fbfde471e7
    

リソースの組織を構成する

  1. この手順を完了するには、リソース組織(organizations/RESOURCE_ORG_ID)管理者である必要があります。次のコマンドを実行して、リソース組織の AuthorizedOrgsDesc リソースを作成します。

    gcloud access-context-manager authorized-orgs create AUTHORIZED_ORGS_DESC_NAME \
     --authorization_type=AUTHORIZATION_TYPE_TRUST \
     --asset_type=ASSET_TYPE_DEVICE \
     --authorization_direction=AUTHORIZATION_DIRECTION_FROM \
     --orgs=organizations/PARTNER_ORG_ID \
     --policy=ACCESS_POLICY_NUMBER
    

    以下を置き換えます。

    • AUTHORIZED_ORGS_DESC_NAME: AuthorizedOrgsDesc リソースの一意の名前。名前は文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。名前は、最大 50 文字です。

    • ACCESS_POLICY_NUMBER: 組織レベルのアクセス ポリシー番号。

    • PARTNER_ORG_ID: パートナーの組織番号。

  2. 次のコマンドを実行して、新しく作成した AuthorizedOrgsDesc リソースを表示し、正しいことを確認します。

    gcloud access-context-manager authorized-orgs describe AUTHORIZED_ORGS_DESC_NAME \
     --policy=ACCESS_POLICY_NUMBER
    

    以下を置き換えます。

    • AUTHORIZED_ORGS_DESC_NAME: AuthorizedOrgsDesc リソースの一意の名前。名前は文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。名前は、最大 50 文字です。

    • ACCESS_POLICY_NUMBER: 組織レベルのアクセス ポリシー番号。

パートナー組織を構成する

  1. この手順は、パートナー組織(organizations/PARTNER_ORG_ID)の管理者である必要があります。次のコマンドを実行して、パートナー組織の AuthorizedOrgsDesc リソースを作成します。

    gcloud access-context-manager authorized-orgs create AUTHORIZED_ORGS_DESC_NAME \
      --authorization_type=AUTHORIZATION_TYPE_TRUST \
      --asset_type=ASSET_TYPE_DEVICE \
      --authorization_direction=AUTHORIZATION_DIRECTION_TO \
      --orgs=organizations/RESOURCE_ORG_ID \
      --policy=ACCESS_POLICY_NUMBER
    

    以下を置き換えます。

    • AUTHORIZED_ORGS_DESC_NAME: AuthorizedOrgsDesc リソースの一意の名前。名前は文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。名前は、最大 50 文字です。

    • ACCESS_POLICY_NUMBER: 組織レベルのアクセス ポリシー番号。

    • RESOURCE_ORG_ID: リソースの組織番号。

  2. 次のコマンドを実行して、新しく作成した AuthorizedOrgsDesc リソースを表示し、正しいことを確認します。

    gcloud access-context-manager authorized-orgs describe AUTHORIZED_ORGS_DESC_NAME \
      --policy=ACCESS_POLICY_NUMBER
    

    以下を置き換えます。

    • AUTHORIZED_ORGS_DESC_NAME: AuthorizedOrgsDesc リソースの一意の名前。名前は文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。名前は、最大 50 文字です。

    • ACCESS_POLICY_NUMBER: 組織レベルのアクセス ポリシー番号。

構成後のポリシー

組織間の承認が構成されると、リソースとパートナー組織のポリシーは次のようになります。

リソース組織(organizations/RESOURCE_ORG_ID):

access policy:
access level: SP1
  --"requireScreenlock": true
AuthorizedorgsDesc: AOD1
  --authorizationtype: trust
  --asset type: device
  --authorization direction: from
  --orgs: [organizations/PARTNER_ORG_ID]

パートナー組織(organizations/PARTNER_ORG_ID):

access policy:
AuthorizedOrgsDesc: AOD2
  --authorizationtype: trust
  --asset type: device
  --authorization direction: to
  --orgs: [organizations/RESOURCE_ORG_ID]

次の図は、組織間の承認が構成された後のパートナー組織のデバイス属性の可視性を示しています。

組織間の承認を構成した後は、パートナー組織デバイスのデバイス属性がリソース組織に表示されます。

構成をテストする

2 つの組織を構成すると、パートナー組織のユーザーは、準拠しているデバイスを使用してリソース組織内のリソースにアクセスできるようになります。アクセス権が付与されている場合、組織間の承認は想定どおりに機能します。パートナー 組織内のユーザーは、ユーザーのデバイスに画面ロック ポリシーが設定されている場合にのみ、リソース組織の Cloud Storage のバケット A にアクセスできます。

デバイスにアクセス権が付与されていない場合は、構成手順をもう一度実行して構成を修正します。

組織間での承認構成を管理する

組織間の承認を構成したら、組織へのアクセスの削除、別の組織へのアクセス権の追加、その他のタスクが必要になることがあります。このセクションでは、組織間の承認を管理するときに一般的なタスクを実行する方法について説明します。

AuthorizedOrgsDesc リソースを作成して外部組織を承認する

AuthorizedOrgsDesc リソースを作成し、アクセス権を付与する外部組織を含めるには、次のコマンドを実行します。

gcloud access-context-manager authorized-orgs create AUTHORIZED_ORGS_DESC_NAME
 --authorization_type=AUTHORIZATION_TYPE_TRUST
 --asset_type=ASSET_TYPE_DEVICE
 --authorization_direction=AUTHORIZATION_DIRECTION_FROM
 --orgs=ORG_ID --policy=ACCESS_POLICY_NUMBER

以下を置き換えます。

  • AUTHORIZED_ORGS_DESC_NAME: AuthorizedOrgsDesc リソースの一意の名前。名前は文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。名前は、最大 50 文字です。

  • ORG_ID: アクセス権を付与する組織の組織 ID。複数の組織を指定する場合は、組織 ID をカンマで区切ります。

  • ACCESS_POLICY_NUMBER: 組織レベルのアクセス ポリシー番号。

組織を追加する

既存の AuthorizedOrgsDesc リソースに組織を追加するには、次のコマンドを実行します。

gcloud access-context-manager authorized-orgs update AUTHORIZED_ORGS_DESC_NAME \
  --add-orgs=ORG_ID \
  --policy=ACCESS_POLICY_NUMBER

以下を置き換えます。

  • AUTHORIZED_ORGS_DESC_NAME: AuthorizedOrgsDesc リソースの一意の名前。名前は文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。名前は、最大 50 文字です。

  • ORG_ID: アクセス権を付与する組織の組織 ID。複数の組織を指定する場合は、組織 ID をカンマで区切ります。

  • ACCESS_POLICY_NUMBER: 組織レベルのアクセス ポリシー番号。

組織を削除する

既存の AuthorizedOrgsDesc リソースから組織を削除するには、次のコマンドを実行します。

gcloud access-context-manager authorized-orgs update AUTHORIZED_ORGS_DESC_NAME \
  --remove-orgs=ORG_ID \
  --policy=ACCESS_POLICY_NUMBER

以下を置き換えます。

  • AUTHORIZED_ORGS_DESC_NAME: AuthorizedOrgsDesc リソースの一意の名前。名前は文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。名前は、最大 50 文字です。

  • ORG_ID: 削除する組織の組織 ID。

  • ACCESS_POLICY_NUMBER: 組織レベルのアクセス ポリシー番号。

組織の新しいリストを指定する

既存の AuthorizedOrgsDesc リソースに組織の新しいリストを指定するには、次のコマンドを実行します。

gcloud access-context-manager authorized-orgs update AUTHORIZED_ORGS_DESC_NAME \
  --set-orgs=ORG_IDS \
  --policy=ACCESS_POLICY_NUMBER

以下を置き換えます。

  • AUTHORIZED_ORGS_DESC_NAME: AuthorizedOrgsDesc リソースの一意の名前。名前は文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。名前は、最大 50 文字です。

  • ORG_ID: アクセス権を付与する組織の組織 ID。複数の組織を指定する場合は、組織 ID をカンマで区切ります。

  • ACCESS_POLICY_NUMBER: 組織レベルのアクセス ポリシー番号。

すべての組織を削除する

既存の AuthorizedOrgsDesc リソースからすべての組織を削除するには、次のコマンドを実行します。

gcloud access-context-manager authorized-orgs update AUTHORIZED_ORGS_DESC_NAME \
  --clear-orgs --policy=ACCESS_POLICY_NUMBER

以下を置き換えます。

  • AUTHORIZED_ORGS_DESC_NAME: AuthorizedOrgsDesc リソースの一意の名前。名前は文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。名前は、最大 50 文字です。

  • ACCESS_POLICY_NUMBER 組織レベルのアクセス ポリシー番号。

AuthorizedOrgsDesc リソースの表示

既存の AuthorizedOrgsDesc リソースを表示するには、次のコマンドを実行します。

gcloud access-context-manager authorized-orgs describe AUTHORIZED_ORGS_DESC_NAME \
  --policy=ACCESS_POLICY_NUMBER

以下を置き換えます。

  • AUTHORIZED_ORGS_DESC_NAME: AuthorizedOrgsDesc リソースの一意の名前。名前は文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。名前は、最大 50 文字です。

  • ACCESS_POLICY_NUMBER 組織レベルのアクセス ポリシー番号。

AuthorizedOrgsDesc リソースの一覧表示

アクセス ポリシーの AuthorizedOrgsDesc リソースを一覧表示するには、次のコマンドを実行します。

gcloud access-context-manager authorized-orgs list --policy=ACCESS_POLICY_NUMBER

ACCESS_POLICY_NUMBER は、組織レベルのアクセス ポリシー番号に置き換えます。

AuthorizedOrgsDesc リソースを削除する

AuthorizedOrgsDesc リソースを削除するには、次のコマンドを実行します。

gcloud access-context-manager authorized-orgs delete  AUTHORIZED_ORGS_DESC_NAME \
  --policy=ACCESS_POLICY_NUMBER

以下を置き換えます。

  • AUTHORIZED_ORGS_DESC_NAME: AuthorizedOrgsDesc リソースの一意の名前。名前は文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。名前は、最大 50 文字です。

  • ACCESS_POLICY_NUMBER 組織レベルのアクセス ポリシー番号。