クライアント ライブラリを使用してロールを付与する
使い慣れたプログラミング言語で Resource Manager API から IAM メソッドを使用する方法について説明します。
このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、ガイドを表示をクリックしてください。
始める前に
Google Cloud プロジェクトを作成する
このクイックスタートでは、新しい Google Cloud プロジェクトが必要になります。
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Google Cloud プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。ロールを付与する方法を確認する。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Google Cloud プロジェクトの名前に置き換えます。
Resource Manager API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する。gcloud services enable cloudresourcemanager.googleapis.com
-
ユーザー アカウントのローカル認証情報を作成します。
gcloud auth application-default login
認証エラーが返され、外部 ID プロバイダ(IdP)を使用している場合は、 連携 ID を使用して gcloud CLI にログインしていることを確認します。
-
ユーザー アカウントにロールを付与します。次の IAM ロールごとに次のコマンドを 1 回実行します。
roles/resourcemanager.projectIamAdmingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
次のように置き換えます。
PROJECT_ID: プロジェクト ID。USER_IDENTIFIER: ユーザー アカウントの識別子。例:myemail@example.comROLE: ユーザー アカウントに付与する IAM ロール。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Google Cloud プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。ロールを付与する方法を確認する。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Google Cloud プロジェクトの名前に置き換えます。
Resource Manager API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する。gcloud services enable cloudresourcemanager.googleapis.com
-
ユーザー アカウントのローカル認証情報を作成します。
gcloud auth application-default login
認証エラーが返され、外部 ID プロバイダ(IdP)を使用している場合は、 連携 ID を使用して gcloud CLI にログインしていることを確認します。
-
ユーザー アカウントにロールを付与します。次の IAM ロールごとに次のコマンドを 1 回実行します。
roles/resourcemanager.projectIamAdmingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
次のように置き換えます。
PROJECT_ID: プロジェクト ID。USER_IDENTIFIER: ユーザー アカウントの識別子。例:myemail@example.comROLE: ユーザー アカウントに付与する IAM ロール。
クライアント ライブラリをインストールする
C#
C# 開発環境の設定の詳細については、C# 開発環境設定ガイドをご覧ください。
install-package Google.Apis.Iam.v1 install-package Google.Apis.CloudResourceManager.v1
Go
go get golang.org/x/oauth2/google go get google.golang.org/api/cloudresourcemanager/v1
Java
Java 開発環境の設定の詳細については、Java 開発環境設定ガイドをご覧ください。
Maven を使用している場合は、pom.xml ファイルに以下の内容を追加します。
Python
Python 開発環境の設定の詳細については、Python 開発環境設定ガイドをご覧ください。
pip install --upgrade google-api-python-client google-auth google-auth-httplib2
許可ポリシーの読み取り、変更、書き込み
このクイックスタートのコード スニペットでは、次の処理を行います。
- Google Cloudプロジェクトを管理する Resource Manager サービスを初期化します。
- プロジェクトの許可ポリシーを読み取ります。
- Google アカウントにログ書き込みロール(
roles/logging.logWriter)を付与して、許可ポリシーを変更します。 - 更新後の許可ポリシーを書き込みます。
- プロジェクト レベルでログ書き込みロール(
roles/logging.logWriter)を持つすべてのプリンシパルを出力します。 - ログ書き込みロールを取り消します。
コード スニペットが実行される前に、次の値を置き換えます。
your-project: プロジェクトの ID。your-member: ユーザー アカウントのメールアドレス。例:user:my-user@example.com
C#
Resource Manager 用のクライアント ライブラリをインストールして使用する方法については、Resource Manager クライアント ライブラリをご覧ください。詳細については、Resource Manager C# API のリファレンス ドキュメントをご覧ください。
Resource Manager に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Go
Resource Manager 用のクライアント ライブラリをインストールして使用する方法については、Resource Manager クライアント ライブラリをご覧ください。詳細については、Resource Manager Go API のリファレンス ドキュメントをご覧ください。
Resource Manager に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
Resource Manager 用のクライアント ライブラリをインストールして使用する方法については、Resource Manager クライアント ライブラリをご覧ください。詳細については、Resource Manager Java API のリファレンス ドキュメントをご覧ください。
Resource Manager に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Resource Manager 用のクライアント ライブラリをインストールして使用する方法については、Resource Manager クライアント ライブラリをご覧ください。詳細については、Resource Manager Python API のリファレンス ドキュメントをご覧ください。
Resource Manager に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
これで完了です。Resource Manager API の IAM メソッドを使用して、プロジェクトのアクセス権を変更しました。
いかがでしたか
クリーンアップ
-
作成した認証情報を取り消して、ローカル認証情報ファイルを削除します。
gcloud auth application-default revoke
-
(省略可)gcloud CLI から認証情報を取り消します。
gcloud auth revoke
次のステップ
- IAM の仕組みについて確認する。
- アクセス権の付与、変更、取り消しについて学習する。
- ポリシーのトラブルシューティングでアクセスに関する問題のトラブルシューティングを行う。