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

このページでは、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 の Workforce プール my-pool のインスタンス アクセサー ロール(roles/securesourcemanager.instanceAccessor)をユーザー user@example.com に付与します。

  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

ID プロバイダ(IdP)属性に基づいて Workforce Identity プール内のユーザーまたはグループに権限を付与できます。また、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 人のユーザーにインスタンスへのアクセス権を付与するには、次の 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。

    たとえば、メールアドレスを使用して 1 人のユーザーにロールを付与するには、プリンシパル 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 ドキュメントの複数のプリンシパルにアクセス権を付与するをご覧ください。

次のステップ