ユーザーにインスタンスへのアクセス権を付与する

このページでは、Identity and Access Management(IAM)を使用して、Secure Source Manager インスタンスへのアクセス権をユーザーに付与する方法について説明します。Secure Source Manager のアクセス制御の詳細については、IAM によるアクセス制御をご覧ください。

必要なロール

ユーザーにインスタンス アクセス権を付与するために必要な権限を取得するには、Secure Source Manager インスタンスに対する Secure Source Manager インスタンス オーナーロール roles/securesourcemanager.instanceOwner)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

Secure Source Manager ロールの付与については、IAM によるアクセス制御をご覧ください。

Workforce Identity 連携ユーザーにアクセス権を付与する

Workforce Identity 連携を使用して Secure Source Manager にアクセスする場合、プリンシパルは異なる方法で表されます。ID グループを表すプリンシパルにアクセス権を付与する方法については、IAM ポリシーで Workforce プール ユーザーを表すをご覧ください。

たとえば、次のコマンドは、us-central1 リージョンのプロジェクト my-project のインスタンス my-instance のワークフォース プール my-pool で、ユーザー user@example.com にインスタンス アクセサー ロール(roles/securesourcemanager.instanceAccessor)を付与します。

  gcloud source-manager instances add-iam-policy-binding my-instance \
      --project=my-project \
      --region=us-central1 \
      --member=principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com \
      --role=roles/securesourcemanager.instanceAccessor

Workforce Identity プール内のユーザーまたはグループに、ID プロバイダ(IdP)の属性に基づいて権限を付与できます。また、Common Expression Language(CEL)を使用して OIDC 属性をカスタム属性にマッピングし、IAM ポリシーで認可戦略を定義することもできます。属性マッピングの詳細については、属性マッピングをご覧ください。

Google Cloud コンソールでインスタンス アクセス権を付与する

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

    IAM に移動

  2. [アクセス権を付与] をクリックします。

  3. [新しいプリンシパル] フィールドに、アクセス権を付与するユーザーまたはグループのメールアドレスを入力します。

  4. [ロールを選択] リストからロールを選択します。

    • インスタンスへの閲覧専用アクセス権を付与するには、[Secure Source Manager インスタンス アクセサー](roles/securesourcemanager.instanceAccessor)を選択します。このロールはインスタンスへのアクセス権を付与しますが、リポジトリの閲覧権限は付与しません。
    • リポジトリに対する読み取り専用アクセス権を付与するには、Secure Source Manager リポジトリ閲覧者roles/securesourcemanager.repoReader)を選択します。また、ユーザーが Secure Source Manager ウェブ インターフェースからリポジトリにアクセスするには、インスタンス アクセサー ロールも必要です。
    • リポジトリの作成と変更を許可するには、[Secure Source Manager インスタンス リポジトリ作成者](roles/securesourcemanager.instanceRepositoryCreator)を選択します。
    • インスタンスに対する完全な管理者アクセス権を付与するには、[Secure Source Manager インスタンス オーナー](roles/securesourcemanager.instanceOwner)を選択します。
  5. [保存] をクリックします。

1 人のユーザーにアクセス権を付与する

1 人のユーザーにインスタンスへのアクセス権を付与するには、次の Google Cloud CLI コマンドを使用します。

  gcloud source-manager instances add-iam-policy-binding INSTANCE_ID \
      --project=PROJECT_ID \
      --region=REGION \
      --member=PRINCIPAL_IDENTIFIER \
      --role=roles/securesourcemanager.instanceAccessor

次のように置き換えます。

  • INSTANCE_ID はインスタンス ID に置き換えます。
  • PROJECT_ID: インスタンスのプロジェクト ID またはプロジェクト番号。
  • REGION は、インスタンスが配置されているリージョンに置き換えます。使用可能な Secure Source Manager リージョンについては、ロケーションのドキュメントをご覧ください。
  • PRINCIPAL_IDENTIFIER: ロールを付与するプリンシパルの ID。

    たとえば、メールアドレスを持つ単一のユーザーにロールを付与するには、プリンシパル ID を user:EMAIL の形式で指定します。ここで、EMAIL はユーザーのメールアドレスです。

    サポートされているプリンシパル ID の詳細については、プリンシパル ID をご覧ください。

たとえば、次のコマンドは、us-central リージョンのプロジェクト my-project のインスタンス my-instance に対する roles/securesourcemanager.instanceAccessor ロールを trusted-user1@gmail.com ユーザーに付与します。

  gcloud source-manager instances add-iam-policy-binding INSTANCE_ID \
      --project=my-project \
      --region=us-central1 \
      --member=user:trusted-user1@gmail.com \
      --role=roles/securesourcemanager.instanceAccessor

複数のユーザーにアクセス権を付与する

複数のユーザーにアクセス権を付与するには、すべてのデベロッパーなど、すべての潜在的なユーザーを含む Google グループを作成することをおすすめします。

グループに次のロールの 1 つ以上を付与できます。

  • インスタンス アクセサーroles/securesourcemanager.instanceAccessor): インスタンスを表示します。
  • インスタンス リポジトリ作成者roles/securesourcemanager.instanceRepositoryCreator): リポジトリを作成して変更します。
  • インスタンス オーナーroles/securesourcemanager.instanceOwner): インスタンスの完全な管理。

グループにロールを付与する手順については、IAM ドキュメントの複数のプリンシパルにアクセス権を付与するをご覧ください。

次のステップ