目次
概要
学認クラウドゲートウェイサービス(以下、ゲートウェイサービス)に登録されているAWSマネジメントコンソールSPコネクタに任意のグループを接続することで、ゲートウェイサービス経由でAWSマネジメントコンソールにサインインするための手順を示します。
AWSマネジメントコンソールはすでに利用可能な状態でご契約されていることを前提とします。
本機能は現在ベータ版として提供しております。
本機能が利用できるのはゲートウェイサービスに利用申請いただいた機関のみです。
ゲートウェイサービスを介してその先のSPへログインするという性質上、各機関IdP所管部署の了解を得られた場合のみ提供しております。所属機関から了解を得られているか不明であるもしくはIdP所管部署の方で了解を与えたいという場合はお手数ですがゲートウェイサービスお問い合わせ先までご連絡ください。
AWSマネジメントコンソールのロール設定において、権限ポリシーの選択やeduPersonEntitlementで指定する利用グループが適切に設定されない場合、意図しない権限がメンバーに付与される・意図しない者にAWSマネジメントコンソールが利用されるなどの事故が発生しうる可能性がございます。十分にご注意いただいたうえで設定を行ってください。なお、設定の不備等による一切の責任は負いかねますので、あらかじめご了承ください。
グループ管理者による初期設定
AWSマネジメントコンソールの設定
AWSマネジメントコンソールでゲートウェイサービスとの連携およびログインしたユーザの付与する権限の設定を行います。
- ご契約済みのAWSマネジメントコンソールにサインインし、IAMコンソール(https://console.aws.amazon.com/iam/)を開きます。
- ナビゲーションペインの「ID プロバイダー」を開き、「プロバイダの作成」ボタンを選択します。
手順1:プロバイダの設定
「プロバイダーのタイプ」、「プロバイダ名」を入力、「メタデータドキュメント」にメタデータをアップロードします。設定後に「次のステップ」ボタンをクリックします。
プロバイダータイプは「SAML」を選択してください。
ほかにOpenID Connectが選択できますが、本ページでは取り扱いません。
プロバイダー名は任意の値を設定してください。本ページでは例として「
cgtestprovider
」をプロバイダー名に設定します。メタデータドキュメントは「学認クラウドゲートウェイサービス連携のための情報」の「SP管理者に必要な情報」 からダウンロードできる学認クラウドゲートウェイサービス (IdP)のメタデータを指定します。
あらかじめダウンロードしておき、ファイルの選択からアップロードしてください。
ここで入力したプロバイダ名は次の手順(ロールの設定とグループ管理者の設定)で利用します。
- 手順2:検証
設定した情報に問題がなければ、「作成」ボタンをクリックします。
- ナビゲーションペインの「ロール」を開き、「ロールの作成」ボタンを選択します。
「信頼されたエンティティの種類を選択」、「SAML プロバイダー」を設定します。設定後に「次のステップ: アクセス権限」ボタンをクリックします。
「信頼されたエンティティの種類を選択」では「SAML 2.0 フェデレーション」を選択します。
「SAML プロバイダー」はプロバイダの設定で作成したプロバイダー名をプルダウンメニューから選択します。本ページでは例としてすでに設定済みのプロバイダ「
cgtestprovider
」を選択しています。直下のラジオボタンでは「プログラムによるアクセスとAWSマネジメントコンソールによるアクセスを許可する」を選択します。
本ページではAWSマネジメントコンソールにサインインさせることを目的としていますので、「プログラムによるアクセスのみを許可する」については取り扱いません。
「属性」は「SAML:aud」および「値」は「https://signin.aws.amazon.com/saml」があらかじめ設定され、グレーアウトされています。
このページでの「条件」では細やかな設定ができませんので、後述する手順で設定します。
「Attach アクセス権限ポリシー」を設定します。選択後に「次のステップ: タグ」ボタンをクリックします。
AWSマネジメントコンソールにサインインしたときにどのような権限を持たせるかを設定します。
このページでは例として「AmazonS3FullAccess」を選択します。
権限ポリシーの選択が適切に設定されない場合、意図しない権限がメンバーに付与されるなどの事故が発生しうる可能性がございます。十分にご注意いただいたうえで設定を行ってください。なお、設定の不備等による一切の責任は負いかねますので、あらかじめご了承ください。
「タグの追加(オプション)」を設定します。設定後、「次のステップ: 確認」ボタンをクリックしてください。
必要に応じて設定してください。
このページの例では特に必要でありませんので、入力しません。
「ロール名」を入力します。入力後、「ロールの作成」ボタンをクリックします。
「ロール名」に任意の値を設定してください。このページでは例として「ロール名」に「
cgtestrole
」を設定しています。所属する複数グループで本機能を使っている場合にロール名で区別する必要がありますので、グループ名とシングルサインオンで使用されるものであることを明記した"
CGDevelopmentTeamSSO
"のようなロール名にすることを推奨します。ここで入力したロール名は次の手順(グループ管理者の設定)で利用します。
作成したロールの条件を修正を行います。
ナビゲーションペインから「ロール」を開き、作成したロール(このページの例では
cgtestrole
)を開きます。「信頼関係」タブから「信頼関係の編集」をクリックすると編集画面に入ります。
信頼関係の編集画面で接続を許可する利用グループの指定を追加し、「信頼ポリシーの更新」ボタンをクリックします。
このページの例では利用するグループ(グループID)は「
cgtestgroup
」とします。後述する「グループの設定」もご参照ください。{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::アカウントID:saml-provider/cgtestprovider"
},
"Action": "sts:AssumeRoleWithSAML",
"Condition": {
"StringEquals": {
"SAML:aud": "https://signin.aws.amazon.com/saml"
},
"ForAnyValue:StringEquals": {
"SAML:eduPersonEntitlement": "https://cg.gakunin.jp/gr/cgtestgroup"
}
↑ 赤字で示した条件を追加してください。後述する「グループの設定」で接続するグループを追加します。
}
}
]
}ゲートウェイサービスからAWSマネジメントコンソールにはグループ情報(isMemberOf)をeduPersonEntitlementの属性値として送信します。このほかに利用する属性があればAWSマニュアル( IAM および AWS STS の条件コンテキストキー )を参照してください。
グループ情報(isMemberOf)の形式は「
https://cg.gakunin.jp/gr/GROUPID
」となります。「AWS Management Console」SPコネクタに接続するグループ情報を設定してください。ここではグループIDcgtestgroup
として作成された「https://cg.gakunin.jp/gr/cgtestgroup
」を指定しています。また、どのグループ情報に一致すればよいかという条件は
ForAnyValue:StringEquals
を用いていますが、他の条件を記述する必要があればAWSマニュアル( 複数のキー値をテストする条件を作成する(オペレーションの設定) )を参照してください。eduPersonEntitlementで指定する利用グループが適切に設定されない場合、意図しない者にAWSマネジメントコンソールが利用されるなどの事故が発生しうる可能性がございます。十分にご注意いただいたうえで設定を行ってください。なお、設定の不備等による一切の責任は負いかねますので、あらかじめご了承ください。
以下の通りになっていれば問題ありません。「条件」が次の通りになっていれば問題ありません。
表示されている「ロール ARN」と「信頼されたエンティティ」をメモします。
例では「ロール ARN」は「arn:aws:iam::アカウントID:role/cgtestrole」、「信頼されたエンティティ」は「arn:aws:iam::アカウントID:saml-provider/cgtestprovider」となっています。
グループの設定
グループをAWSマネジメントコンソールSPコネクタに接続します
新規に作成するグループか、もしくは既存のグループの「利用Webサービス」から「AWS Management Console」を利用Webサービスとして追加します。
グループの新規作成は「グループを作成する」、利用Webサービスの追加は「サービスを利用する」の手順をそれぞれ参照してください。
このページの例では、グループIDは「cgtestgroup
」とします。既存グループでグループIDが不明な場合は「グループを修正する」で確認してください。
- グループ固有の値を設定
グループをAWSマネジメントコンソールSPコネクタに接続すると、当該グループの利用Webサービスに「AWS Management Console」が表示されます。アクションから「拡張属性の入力」を開きます。 - 属性の値を入力します。
属性名「AWSRole」の値に「AWSマネジメントコンソールの設定」の手順で設定した「ロール ARN」と「信頼されたエンティティ」をカンマ区切り(例 arn:aws:iam::アカウントID:role/ロール名,arn:aws:iam::アカウントID:saml-provider/プロバイダ名)」で入力し、保存ボタンを押します。
利用フロー - ゲートウェイサービスからAWSマネジメントコンソールへシングルサインオン
ゲートウェイトップ画面から「AWS Management Console」の「グループ表示」を開き、表示されるグループをクリックしてください。
グループを選択後にAWSマネジメントコンソールにサインインが行われます。
多くの場合はすでにゲートウェイサービスにログインしているためシングルサインオン(SSO)によりAWSマネジメントコンソールにサインインされますが、もしタイムアウト等でSSOしない場合は所属機関IdPで認証してください。
以下のように「サービスに送信される情報」を選択する画面が表示される場合があります。これはゲートウェイサービス側の画面で、ユーザが当該サービスに送信する属性を選択・同意するための画面です。送信する属性について問題なければ「同意」ボタンをクリックします。利用可能なグループが複数ある場合には、AWSサインイン前に表示されるロールの選択画面から、利用したいロールを選択する必要があります。どのロールを選択すべきか不明な場合はグループ管理者へお問い合わせください。
AWSマネジメントコンソールにサインインされたあとは以下のような画面となります。
サインインしたユーザ名はフェデレーションログインとして認識され「ロール名/ランダムな文字列」の形式で表示されます。