Google Cloudのアクセス権限を、Aさんに与えるんだけど
3月いっぱいまでに限定したいんだよな。
権限を消し忘れるかもしれないから、
期限が過ぎたら自動で無効化されるようにしたいなぁ。
組織の人事異動や、一時的な監査などのために、Google Cloudのアクセス権限を一定期間に限定したいケースがあると思います。これは「IAM Conditions」を使うことで実現できます。名前から難しそうな印象を受けるかもしれませんが、有効期限の指定だけであれば、画面上の操作だけで簡単に設定できます。本記事ではこの設定手順を解説していきます。
IAM Conditionsとは
IAM Conditions(IAM条件)を使うと、指定された条件を満たす場合にのみ、プリンシパル(ユーザーやグループなど)にアクセス権を設定できます。具体例を見ていきましょう。
上の画面はIAM Conditionsを設定した例です。赤枠の部分に「2024/03/31まで」という名前の条件が指定されています。この場合、2024/03/31までの間だけ、「user1@example.com」ユーザーに対して「ストレージ管理者」の権限が与えられます。
この場合のメリットとして、有効期限が過ぎた後に自動的かつ確実にアクセス権限を無効化することができます。不要なアクセス権限の削除漏れを防ぐことで、セキュリティ上のリスク軽減に繋がるでしょう。
他にもIAM Coditionsを使うことで、アクセス可能な時間帯や、アクセス可能なリソースを限定することなどが可能です。詳細は、以下の公式ページを参照して下さい。
有効期限の設定方法
以下に、IAM Conditionsで有効期限を設定する方法を紹介します。
ここでは、現在アクセス権限を持たないユーザー「user1@example.com」に対して、2024年3月31日までの期間限定(※1)で、「ストレージ管理者」の権限を付与してみます。これをCloud Console(GUI)上で設定します。
※1…日本時刻の2024年4月1日 0時0分0秒以降、自動的に権限が無効化する。
(現在は2024年3月以前の前提)
設定手順
- step1IAM画面で「アクセス権を付与」
Cloud Consoleから、[IAMと管理]>[IAM]の画面を開き、「アクセス権を付与」をクリックします。
- step2プリンシパル・ロールを指定
プリンシパル(対象ユーザーやグループ)とロール(付与する権限)を指定したのち、「IAMの条件を追加」をクリックします。
- step3条件を指定
①タイトルには条件名を指定します。IAMの一覧画面に表示されるので、どんな条件なのか判別しやすい名前が良いでしょう。②条件タイプには「アクセスの有効期限」、③演算子には「次の時間まで」を指定します。④時刻には、有効期限が切れる日時「2024/04/01 0:00」を日本時刻(JST)で指定します(補足参照)。
- step4設定の確認
「保存」ボタンで確定すると、IAMの一覧画面に戻ります。「条件」列に指定した条件名が表示されていることを確認します。
設定後の動作
前項の設定後まもなく、ユーザー「user1@example.com」は、「ストレージ管理者」の権限が有効になります。
そして2024年4月1日 0時0分0秒以降、権限が自動的に無効化されます。この例ではCloud Storageのバケット管理画面を開くと、以下のように権限がない旨の表示になります。
「開始日時」の設定方法
前項では有効期間の終了日時を設定しましたが、例えば「2024年4月1日から有効」のような開始日時を指定するにはどうすれば良いでしょうか。
現時点(2023年5月)では、画面上の条件ビルダーでは開始日時を指定できません。下のように「期間」の指定はできますが、これは「現在日時から7日間だけ有効」や「1時間だけ有効」といった条件になるだけです。
そのため、開始日時を指定するには、条件ビルダーではなく条件エディタで条件式を入力する必要があります。以下にその手順を紹介します。
開始日時のみ指定する場合
例えば、2024年4月1日以降にアクセス権限が有効になるように設定してみます(現在は2024年3月以前の前提)。
前項の操作手順のstep3の画面で、「条件エディタ」をクリックします。そして下のように条件式を入力します。
request.time >= timestamp("2024-03-31T15:00:00.000Z")
日時形式は、上記のフォーマットで指定する必要があります。世界協定時(UTC)にするため、日本時刻(JST)からマイナス9時間の時刻を指定しています。そのため前日3/31の15時としています。時刻の変換は手動で計算しても良いですが、下記「(参考)日時フォーマットの変換」の方法で簡単に変換できます。
この条件の場合、2024年4月1日 0時0分0秒(日本時間)以降に初めてアクセス権限が有効化されます。終了日時の指定は無いため、その後永続的に有効となります。
開始日時と終了日時を指定する場合
次の例では、2024年4月1日から1年間だけアクセス権限を有効にするように設定してみます(現在は2024年3月以前の前提)。
前項の操作手順のstep3の画面で、「条件エディタ」をクリックします。そして下のように条件式を入力します。
request.time >= timestamp("2024-03-31T15:00:00.000Z") &&
request.time < timestamp("2025-03-31T15:00:00.000Z")
前項と同様に、日時形式は上記のフォーマットで指定する必要があります。世界協定時(UTC)にするため、日本時刻(JST)からマイナス9時間の時刻を指定しています。そのため前日3/31の15時としています。時刻の変換は手動で計算しても良いですが、下記「(参考)日時フォーマットの変換」の方法で簡単に変換できます。
この条件の場合、2024年4月1日 0時0分0秒(日本時間)以降に初めてアクセス権限が有効化され、1年間継続します。そして2025年4年1日 0時0分0秒以降、権限が自動的に無効化されます。
(参考)日時フォーマットの変換
条件エディタで指定する日時のフォーマットは、以下の操作をすると簡単に変換することができます。
参考URL
おわりに
今回の記事は以上です。
当サイトでは、ITインフラ関連の知識やノウハウをメインに紹介しています。下の関連記事にも役立つ情報があるかもしれませんので、ぜひご覧下さい。
また、知識やノウハウを効率的に学ぶ方法として、Udemy の「ながらセミナー」もおすすめです。三日坊主にならず、普段の生活の中でスキルアップする方法です。これについては下の記事で紹介していますので、良ければご覧下さい。
最後まで読んでいただき、ありがとうございました。
フィードバック
あなたが抱えている疑問や悩みは解決できたでしょうか?当ブログではそれを最重視しています。今後もあなたの役に立つ情報を提供するために、ぜひ教えて下さい。
コメント