シングルサインオン(SSO)
シングルサインオン(SSO) -AWS
AWSにシングルサインオンが可能か試してみる。
まずはAzureADからアプリケーションの追加。
AzureADポータルからエンタープライズアプリケーションを選択。
新しいアプリケーションをクリック。
何か色々あるのでAWSをクリック。

作成をクリック。するとAWSが追加された。
シングルサインオンの設定をクリックすると方式が選択できる。
今回はSAML認証を選択してみる。

SAML構成を入力する画面。

フェデレーションメタデータを使うのでDL

AWS IAM設定
IDプライバイダー作成
AWSコンソールからIAMを選択し、IDプロバイダを選択。
ここにはプロバイダ名とDLしたフェデレーションメタデータを選択。

ロール作成
ここで作成する役職をAzureADから選択することが出来るようになる。
ロールの作成からSAML2.0を選び、SAMLプロバイダーを作ったものに設定。
- AZEC2Admin: EC2FullAccess
- AZEC2ReadOnly: EC2AmazonEC2ReadOnlyAccess
- AZIAMAdmin: IAMFullAccess
- AZIAMReadOnly: IAMReadOnlyAccess

次に、EC2のアクセス権限を割り当てる。

次に役職名を決める。

4つ作成完了すると、このようになる。

ポリシー作成
ポリシーの作成からJSONを選択。

ここにはしたのJSONを入力。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:ListRoles"
],
"Resource": "*"
}
]
}
ポリシー名はAzureSSOだとわかりやすく名前をつける。

ユーザの作成
次にユーザの作成。
これはAzureの各個人を作成する必要はなく、
Azureからのプログラム的アクセス時のユーザ。
プログラムのみにチェック。

既存のポリシーとして、先程作ったポリシーを選択する。

ユーザが作成されると、シークレットキーとアクセスキーが手に入る。
これをAzure側で入力する。

Azure プロビジョニング
AzureポータルのAWSページのプロビジョニングを選択。
資格情報に先程のキーを入力。
テスト接続を押して、OKと出たら問題なし。

プロビジョニングの編集から、状態をオンに変更する。

プロビジョニングの開始を押すと、ロールが読み込まれる。
※ここではテストで事前に行ったため1個増えてる..?

ユーザの割当
ユーザを割り当てるには、左ペインのユーザとグループから割り当てる。

AWSで作成したロールから選べる。
user03にEC2ReadOnly, user04にIAMReadonlyを割り当ててみる。
フリープランではグループは割り振れないらしい?


以上で設定は終わり。
アクセスしてみる。
アクセス先はAWSページに書いてある「ユーザのアクセスURL」

さっそく、ADに接続したWin10から試してみる。
まずはuser04から。


ログインが求められる。
user04アカウントでログイン。(ADで追加したものがAADに同期されている。)

ログインが完了すると、、、
しっかりSSOでログイン出来ている。ロールも問題なし。

IAMOnlyなのでEC2は見えない。

続いて、user3
AZEC2ReadOnlyになっている。

終わり
初めてSSO試してみたけど便利でした。
終わった後に作ったユーザやら権限やらを消すのに苦労しました。