このページでは、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 コンソールでインスタンス アクセス権を付与する
Google Cloud コンソールで、[IAM] ページに移動します。
[アクセス権を付与] をクリックします。
[新しいプリンシパル] フィールドに、アクセス権を付与するユーザーまたはグループのメールアドレスを入力します。
[ロールを選択] リストからロールを選択します。
- インスタンスへの閲覧専用アクセス権を付与するには、[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)を選択します。
- インスタンスへの閲覧専用アクセス権を付与するには、[Secure Source Manager インスタンス アクセサー](
[保存] をクリックします。
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 ドキュメントの複数のプリンシパルにアクセス権を付与するをご覧ください。
次のステップ
- ユーザーにリポジトリへのアクセス権を付与する。
- IAM によるアクセス制御に関する詳細を確認する。
- リポジトリを作成する
- IAM ロールを付与および取り消す。