GCAS-SSOへの移行に伴う対応(AWS編)
2024/03/01 公開
本書ではガバメントクラウドにおける、GCASのシングルサインオン機能の利用開始に向けてガバメントクラウド利用組織に求められる対応事項を説明する。
GCASシングルサインオンへの移行に伴う既存環境の変化と対応
「ガバメントクラウド利用システムにおけるセキュリティ対策(共通)Opens in new tab - GCAS認証によるCSP環境へのシングルサインオン」で記載したように、GCAS認証によるCSP環境へのシングルサインオン(SSO)では、既存の利用システムが属するAWS Organizations環境のAWS IAM Identity Center(以下IdC)とGCASで利用しているGoogle社Cloud Identityを連携させる。
図01
IdCにおいてCloud Identityは外部Identity Provider(IdP)となり、これにより、既存環境で構成されていたIdCがローカルで保有していたユーザー情報の利用が不可となる。
既存環境にてガバメントクラウド管理組織より払い出されているAdminユーザーは、IdCにおいて作成されたユーザーアカウントであり、SSO移行後は利用不可となる。また、SSO移行に伴うアカウント情報の集約と一元管理のため、IAMユーザーの利用が原則禁止される(これまで例外申請されたアクセスキー発行用のIAMユーザーを除く)。
主な対応事項は以下の通り。
【要対応1】CSP環境のアクセスに用いているAdminユーザーの切り替え ※SSO移行前まで
前述したようにSSO機能利用開始前にガバメントクラウド管理組織から払い出したAdminユーザーは利用不可になる。国の行政機関と地方公共団体により以下の対応が必要となる。
| 組織種別 | 対応事項 |
|---|---|
| 国の行政機関 | SSO移行前のAdminユーザーは申請された職場メールアドレスにてガバメントクラウド管理組織が作成している。SSO移行後はAdminユーザーの利用者が保有するGCASアカウントを用いたAWS環境へのアクセスが必要になる。 |
| 地方公共団体 | SSO移行前のAdminユーザーは申請された職場メールアドレスにてガバメントクラウド管理組織が作成している。SSO移行後はAdminユーザーの利用者が保有するGCASアカウントを用いたAWS環境へのアクセスが必要になる。SSO移行前はGCASアカウントの発行が行われていないため、まず、GCASアカウントを申請するとともにアカウントの切り替え申請手続きが必要になる。 |
GCAS上で各CSP環境にアクセスするユーザーのGCASアカウントを登録する操作を実施する。
【要対応2】IAMユーザーのGCASアカウントへの切り替えとIAMロールの整備 ※SSO機能提供開始後半年以内
Adminユーザーが払い出したIAMユーザーを洗い出し、GCASアカウント未保有者はGCASアカウントの取得申請を行う。SSO移行後はGCASアカウントを用いたAWS環境へのシングルサインオンを行う。AWS環境へログイン可能なユーザーの登録はGCAS上で実施する。
なお、「ユーザー管理方法(AWS編)」で記載したように開発や運用時の操作にはIAMロールを用いることになる(スイッチロール[assume role]を行う)。IAMロールの作成にあたっては、IAMユーザー利用者の職務や付与されている権限を確認する。IAMロールへの権限の割り当てにあたっては最小権限の原則に従う。最小権限を実現するためのアプローチは「セキュリティ(AWS)Opens in new tab - アクセス制御」を参照すること。
【要対応3】IAMユーザー廃止 ※SSO機能提供開始後半年以内
前述した通り、SSO移行後はIAMユーザーは原則廃止とする。これまで例外申請されたアクセスキー発行用のIAMユーザーを除き、IAMユーザーを削除すること。移行措置期間となるSSO機能提供開始から半年経過後、IAMユーザーの削除状況をガバメントクラウド管理組織から照会する場合がある。
【要対応4】既存IAMロールにおける信頼ポリシーの修正 ※SSO移行前まで
SSO移行後、管理者以外のユーザーはAWS環境へのSSO時にIdCユーザーとしてスイッチロールだけができるIAMロールを利用する(詳細は「ユーザー管理方法(AWS編)」を参照)。このIAMロールはスイッチロール以外の権限が付与されていないため、「要対応2」でガバメントクラウド利用組織で作成したIAMロールにスイッチロールする。このIAMロールを利用可能なユーザーを制限するため、信頼ポリシーにおいてユーザー名を指定する。信頼ポリシーの詳細は「ユーザー管理方法(AWS編)Opens in new tab - 作成したIAMロールの保護」を参照すること。なお、IAMユーザーの移行期間中はIAMユーザーもIAMロールが利用できるようにしておくこと。
図02:スイッチロールできるIdCユーザーの指定イメージ
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::(AWSAccountのID):user/(IAMユーザー名)"
]
},
"Action": "sts:AssumeRole"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::(AWSAccountのID):role/aws-reserved/sso.amazonaws.com/ap-northeast-1/AWSReservedSSO_SwitchOnlyRole_(ランダム文字列)"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringLike": {
"aws:userid": [
"*:(IdCのユーザー名)",
"*:(IdCのユーザー名)"
]
}
}
}
]
}
利用システムにて作成するIAMロールの信頼ポリシー例(既存IAMユーザーを含む)
【要対応5】接続元IPアドレスに基づく操作制限実装箇所の見直し ※SSO移行前まで
AWS環境の管理GUIとしてAWSマネジメントコンソールとCLIがAWSより提供されている。AWSではGUIであるAWSマネジメントコンソールに対する接続元制御として、IAMポリシーのCondition句に接続元IPアドレスを記載し、制御対象の操作主体に適用することでアクションの許可/禁止が可能である。操作主体はIAMユーザーやIAMロール、IdCのユーザーが該当する。ただし、IdCのユーザーに対しては制約事項があるため、以下に説明する。
GCASにおけるシングルサインオン機能の利用開始後、全てのユーザーはIdCのポータル経由でAWSマネジメントコンソールへアクセスすることになる。その際、IdCユーザーに対するAWSマネジメントコンソールへの接続元IPアドレスによるアクセス制限の設定作業は管理者権限によるIdCコンソールの利用が必要になるため、ガバメントクラウドにおいては原則利用不可としている。したがって、ガバメントクラウドにおいてIdCユーザーの接続元IPアドレス制限はChrome Enterprise Premium(CEP)(旧 BeyondCorp Enterprise(BCE))の利用が必要になる。
なお、図02の「開発・運用ロール」に割り当てるIAMポリシーのCondition句を修正することで、スイッチロール時の接続元制御は可能であるため、必要に応じて検討すること。
現状の接続元IPアドレス制限の実施箇所を見直し、CEPの利用要否を確認すること。CEPの利用については「ガバメントクラウド利用システムにおけるセキュリティ対策(共通)Opens in new tab - CSP管理GUIへの接続元アクセス制御」を参照すること。
なお、CEPの利用が技術的な制約で困難な場合は、ガバメントクラウド管理組織で内容を確認するため個別に連絡すること。
【要対応6】リソースベースポリシーの見直し ※SSO機能提供開始後半年以内
IAMユーザー利用の原則禁止に伴い、リソースに対するアクセス制御を既存のIAMユーザーで実施しているかどうかを確認して洗い出し、そのアクセス制御ポリシーをIAMロールに記述し直す。また、正しく運用できるかテストする。
【要対応7】管理GUIへのアクセス方法の周知 ※SSO移行前まで
SSO移行後は、AWSマネジメントコンソールへの直接ログインではなく、GCASにおける認証(GCASで用いるGoogle Workspaceの認証)後、IdCポータルへアクセスし、AWSマネジメントコンソールへのログインとなる。詳細は各CSPの「クラウドサービスの操作方法」を参照すること。
改訂履歴
| 改訂年月日 | 改訂理由 |
|---|---|
| 2024年3月1日 | 新規作成 |
| 2024年3月29日 | 切り替え申請に関する文言の修正、追記 |
| 2024年05月10日 | 文言の修正 |
| 2024年10月31日 | 接続元制御に関する記載の追記 |
| 2024年12月26日 | 文言の修正 |