1. 始める前に
この Codelab では、OAuth クライアントを設定する方法と、Google Cloud Console を使用してプロジェクトのプリンシパルに Identity and Access Management(IAM)ロールを付与する方法について説明します。
前提条件
- Cloud Console を操作できること。
学習内容
- アプリを OAuth クライアントとして設定する方法。
- Identity and Access Management(IAM)を使用してアプリへのアクセスを制限する方法。
必要なもの
- 最新のウェブブラウザ(Google Chrome など)。
- Google アカウント(Gmail アカウントや Google Workspace アカウントなど)。
- Cloud 請求先アカウント、または無料トライアルに登録するために使用するクレジット カード。
2. Google Cloud プロジェクトを作成し、請求先アカウントを設定する
- Cloud Console にログインします。
- プロジェクト セレクタのページに移動します。
- [プロジェクトの作成] をクリックします。
- プロジェクトに名前を付け、生成されたプロジェクト ID をメモします。
- 必要に応じて他のフィールドを編集します。
- [作成] をクリックします。
- まだ有効にしていない場合は、Google Cloud リソースを使用するために、Cloud コンソールで課金を有効にします。
この Codelab で費用が生じたとしても、少額です。クリーンアップ セクションの手順に沿ってリソースをシャットダウンし、この Codelab 以外で費用が発生しないようにしてください。Google Cloud の新規ユーザーは、300 米ドル分の無料トライアルをご利用いただけます。
3. IAM でアクセス権を付与する
IAM を使用すると、プロジェクトとリソースに対するロールベースのアクセス権をユーザーに付与できます。このセクションでは、IAM を使用して、プロジェクトのいくつかのロールに対するアクセス権をユーザーに付与します。
IAM API と Resource Manager API を有効にする
- Cloud コンソールのナビゲーション メニューで、[API とサービス] をクリックします。
![Cloud コンソールのナビゲーション メニューに [API とサービス] オプションが表示されている。](https://codelabs.developers.google.com/static/grant-access-to-your-project-with-iam/img/fab40ba6c7e8009e.png?hl=ja)
- [API とサービスを有効化] を選択します。
![[API とサービスを有効化] オプション](https://codelabs.developers.google.com/static/grant-access-to-your-project-with-iam/img/ee1ab06e82bd1cb1.png?hl=ja)
- IAM API を検索して有効にします。
Resource Manager APIを検索して有効にします。
IAM でロールを付与する
- IAM ページに移動します。
プロジェクト名がプロジェクト セレクタに表示されます。プロジェクト セレクタには、現在作業中のプロジェクトが表示されます。

プロジェクトの名前が表示されない場合は、プロジェクト セレクタを使用して選択します。
- [追加] をクリックします。
- プリンシパルのメールアドレスを入力します。
- [ロールを選択] プルダウン メニューから、[ロギング] > [ログ閲覧者] > [保存] を選択します。

- プリンシパルとロールが [IAM] ページに表示されていることを確認します。
これで、プリンシパルに Identity and Access Management ロールが付与されました。
Identity and Access Management ロールの効果を確認する
このセクションでは、ロールを付与したプリンシパルが目的の Cloud コンソール ページにアクセスできることを確認します。
- この URL をロールを付与したプリンシパルに送信します。
https://console.cloud.google.com/logs?project=PROJECT_ID
- プリンシパルが URL にアクセスして表示できることを確認します。
適切なロールが付与されていない Cloud Console ページにはアクセスできません。代わりに、次のようなエラー メッセージが表示されます。
You don't have permissions to view logs.
同じプリンシパルに別のロールを付与する
- Cloud Console で [IAM] ページに移動します。
- 別のロールを付与するプリンシパルを見つけて、[編集 ]
をクリックします。 - [権限の編集] ペインで、[別のロールを追加] をクリックします。
![[権限の編集] ペインに [別のロールを追加] オプションが表示されている。](https://codelabs.developers.google.com/static/grant-access-to-your-project-with-iam/img/cad597990e9ffd98.png?hl=ja)
- [ロールを選択] プルダウン メニューで、[プロジェクト] > [閲覧者] > [保存] をクリックします。
![[権限の編集] ペインにロール オプションが表示されている。](https://codelabs.developers.google.com/static/grant-access-to-your-project-with-iam/img/b20034bdc670a443.png?hl=ja)
プリンシパルに 2 つ目の Identity and Access Management ロールが付与されました。
プリンシパルに付与したロールを取り消す
- ロールを取り消すプリンシパルを見つけて、[
編集] をクリックします。 - [権限の編集] ペインで、プリンシパルに以前に付与した両方のロールの横にある
をクリックします。 - [保存] をクリックします。
これで、両方のロールからプリンシパルが削除されました。このユーザーが以前にアクセスできたページを表示しようとすると、エラー メッセージが表示されます。
4. クリーンアップ
この Codelab で使用したリソースに対して Google Cloud アカウントで課金されないようにする手順は次のとおりです。
- Cloud コンソールで、[リソースの管理] ページに移動します。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
5. 完了
おめでとうございます!OAuth クライアントを設定し、Cloud コンソールを使用してプロジェクトのプリンシパルに Identity and Access Management ロールを付与する方法を学習しました。