ロールと権限

Google Cloud には Identity and Access Management(IAM)機能があり、特定のGoogle Cloud リソースに対するアクセス権を詳細に設定できるため、他のリソースへの不要なアクセスを防ぐことができます。このページでは、Service Directory API のロールについて説明します。IAM の詳細については、IAM のドキュメントをご覧ください。

IAM を使用すると、セキュリティに関する最小権限の原則を導入できるため、リソースに対する必要なアクセス権のみを付与できます。

IAM では、IAM ポリシーを設定して、誰に、どのリソースに対するどのアクセス権を付与するかを制御できます。IAM ポリシーは、特定のロールをユーザーに付与することで、そのユーザーに特定の権限を付与します。

権限と役割

すべての Service Directory API メソッドでは、呼び出し元が必要な IAM 権限を持っていることが求められます。権限を割り当てるには、ユーザー、グループ、またはサービス アカウントにロールを付与します。基本的なオーナー、編集者、閲覧者のロールに加えて、Service Directory API のロールをプロジェクトのユーザーに付与できます。

権限

各メソッドに必要な権限については、Service Directory の API リファレンス ドキュメントをご覧ください。

ロール

Role Permissions

(roles/servicedirectory.admin)

Full control of all Service Directory resources and permissions.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.*

  • servicedirectory.endpoints.create
  • servicedirectory.endpoints.delete
  • servicedirectory.endpoints.get
  • servicedirectory.endpoints.getIamPolicy
  • servicedirectory.endpoints.list
  • servicedirectory.endpoints.setIamPolicy
  • servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.*

  • servicedirectory.namespaces.associatePrivateZone
  • servicedirectory.namespaces.create
  • servicedirectory.namespaces.delete
  • servicedirectory.namespaces.get
  • servicedirectory.namespaces.getIamPolicy
  • servicedirectory.namespaces.list
  • servicedirectory.namespaces.setIamPolicy
  • servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.*

  • servicedirectory.services.bind
  • servicedirectory.services.create
  • servicedirectory.services.delete
  • servicedirectory.services.get
  • servicedirectory.services.getIamPolicy
  • servicedirectory.services.list
  • servicedirectory.services.resolve
  • servicedirectory.services.setIamPolicy
  • servicedirectory.services.update

(roles/servicedirectory.editor)

Edit Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.create

servicedirectory.endpoints.delete

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.associatePrivateZone

servicedirectory.namespaces.create

servicedirectory.namespaces.delete

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.bind

servicedirectory.services.create

servicedirectory.services.delete

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

servicedirectory.services.update

(roles/servicedirectory.networkAttacher)

Gives access to attach VPC Networks to Service Directory Endpoints

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.attach

(roles/servicedirectory.pscAuthorizedService)

Gives access to VPC Networks via Service Directory

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.access

(roles/servicedirectory.viewer)

View Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

Google Cloud コンソールを使用したアクセス制御

Google Cloud コンソールを使用して、レジストリのアクセス制御を管理できます。

プロジェクト レベルでアクセス制御を設定するには:

コンソール

  1. Google Cloud コンソールの [IAM] ページに移動します。

    IAM に移動

  2. 上部にあるプルダウン メニューからプロジェクトを選択します。

  3. [追加] をクリックします。

  4. [新しいプリンシパル] に、新しいプリンシパルのメールアドレスを入力します。

  5. プルダウン メニューから目的のロール(servicedirectory.adminservicedirectory.editorservicedirectory.viewer)を選択します。

  6. [保存] をクリックします。

  7. 付与したロールにそのプリンシパルがリストされているかを確認します。

Service Directory ゾーンが IAM の制限をオーバーライドする

Service Directory ゾーンに Namespace を割り当てると、限定公開ゾーンのクエリを実行する権限を持つネットワーク上のすべてのクライアントにサービス名が表示されます。DNS プロトコルは認証機能を提供していないため、DNS の IAM アクセス制御はありません。

次のステップ

  • Identity and Access Management(IAM)の詳細については、IAM のドキュメントをご覧ください。
  • Service Directory の詳細については、概要をご覧ください。