0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Okta→AWS-SSOのSSO(SAML)とプロビジョニング

Last updated at Posted at 2021-12-29

AWSのAWS-SSOのSSOとプロビジョニングについて

OktaでAWS-SSOにSSOとプロビジョニングする方法を記述します。
以前Qiitaに書いたAWSコンソールへのSSO( Okta→AWSコンソールのSSO(SAML)とプロビジョニング )と同様プロビジョニングでIAMユーザーが作成されることはありません。OktaのプロビジョニングでAWS-SSOのユーザーが作成されます。そのユーザーにAWS-SSOが権限セットを一時的に付けAWSコンソールにアクセスさせます。
AWS-SSOは初めて触りましたが会社のような組織では複数アカウントあるなしに関わらず必須だと思いました。OktaなどのIDaaSを使っていなくても便利だと思います。IDaaSを使うことでより便利になります。
あと、AWS-SSOは無料です。

前提

  • AWSアカウント作成済み
  • AWS-SSO作成済み
  • Oktaアカウント作成済み

Oktaにアプリケーションを追加

Oktaの管理画面から「Applications」>「Applications」>「Browse App Catalog」をクリックします。
image.png
検索ボックスに「aws」などと入力し「AWS Single Sign-on」を選択します。
image.png
「Add」をクリックします。
image.png
デフォルトのまま「Done」をクリックします。
image.png
これでOktaにアプリケーションが作成されました。
image.png
「Sign On」タブの「Identity Provider metadata」リンクで表示されるXMLを保存しておきます。
image.png

AWS-SSOにOktaを登録

「設定」をクリックします。
image.png
IDソースの「変更」をクリックします。
image.png
「外部IDプロバイダー」を選択します。
image.png
「AWS SSO ACS URL」と「AWS SSO 発行者 URL」をコピーしておきます。
IdP SAML メタデータにOktaで保存したXMLをアップロードし、「次:確認」をクリックします。
image.png
文章を確認し、「ACCEPT」と入力、「IDソースを変更」をクリックします。
image.png
設定が完了しました。
image.png
設定画面の「自動プロビジョニングを有効化」をクリックします。
image.png
ダイアログが表示されるので「SCIM エンドポイント」と「アクセストークン」をコピーします。
image.png

Oktaのプロビジョニングの有効化

Provisioningタブの「Configure API Integration」をクリックします。
image.png
「Enable API integration」にチェック
BASE URLに先ほどコピーした「SCIM エンドポイント」(URLの最後のスラッシュは削除してください。エラーになります。)
API Tokenにも先ほどコピーした「アクセストークン」をセットし「Test API Credentials」をクリックします。テストに成功すると「AWS Single Sign-on was verified successfully!」と表示されます。
テストに成功したら「Save」をクリックします。
image.png
「Eidt」をクリックします。
image.png
「Create Users」「Update User Attributes」「Deactivate Users」にチェックを入れ「Save」をクリックします。
image.png
これでプロビジョニングの設定は完了したので、ユーザー、グループをアサインしてください。
アサインするとプロビジョニングが開始されます。
プロビジョニングされたユーザーはAWS SSOのユーザー画面で確認できます。ここまでの設定でOktaからAWS-SSOにSSOできるようになっています。
image.png

グループをプロビジョニングする

グループのプロビジョニングは指定してプロビジョニングする必要があります。
Oktaの「Push Groups」タブで「Push Groups」をクリックし、「Find groups by name」をクリックします。
image.png
プロビジョニングしたいグループ名をテキストエリアに入力すると検索されるので、選択します。「Save」をクリックします。
image.png
AWS-SSOのグループ一覧に追加されていることが確認できます。
image.png
メンバーもプロビジョニングされます。
image.png

グループにアクセス権をセット

AWSアカウント > 「アクセス権限セット」タブ > 「アクセス権限セットを作成」をクリックします。
image.png
「既存の職務機能ポリシーを使用」を選択し「次:詳細」をクリックします。
(「カスタムアクセス権限セットを作成」は任意のポリシーを設定できる権限セットを作成できます。)
image.png
「PowerUserAccess」を選択し「次:タグ」をクリックします。
image.png
「次:確認」をクリックします。
image.png
「作成」をクリックします。
image.png
AWS-SSOの「AWS アカウント」 > 「AWS 組織」タブ > 「AWS account」を選択 > 「ユーザーの割り当て」をクリックします。
image.png
「グループ」タブでグループを選択し、「次:アクセス権限セット」をクリックします。
image.png
先ほど作成した権限セットを選択し「完了」をクリックします。
image.png
権限セットの付与に成功しました。
image.png

接続テスト

GUI

OktaからAWS-SSOにログインすると以下のように表示されます。「AWS Account (1)」をクリックします。
image.png
「Management console」をクリックします。
image.png
マネージメントコンソールにログインできました。
image.png

AWS CLI

AWS-SSOがすごいのはCLIからもSSOできることです。
AWS Single Sign-On を使用するための AWS CLI の設定
コンソールでaws configure ssoと打ちます。
image.png
SSO Start URLにはユーザーポータルURL
SSO RegionにはSSOを作成したリージョン(ここでは東京(ap-northeast-1))
を入力します。ユーザーポータルURLはAWS-SSOの設定画面で確認できます。
image.png
コンソールに表示されたURL( https://device.sso.ap-northeast-1.amazonaws.com/ )をブラウザで開きます。Codeにはコンソールに表示されたThen enter the code:の値を入力します。この場合は「GFNT-KSPW」になります。入力し「Next」をクリックします。
image.png
「Allow」をクリックします。
image.png
承認されました。
image.png
承認後デフォルトリージョン、アウトプットフォーマット、プロファイル名が聞かれるので入力します。

Using the role name "PowerUserAccess"
CLI default client Region [ap-northeast-1]:
CLI default output format [json]:
CLI profile name [PowerUserAccess-XXXXXXXXXXXX]:

これでAWS CLIが使えるようになりました。

PS C:\Users\urushibata> aws s3 ls --profile PowerUserAccess-XXXXXXXXXXXX
2021-11-07 09:07:13 aws-cloudtrail-logs-xxxxxxxxxxxxxx-xxxxxxx
2021-04-18 02:11:50 codepipeline-ap-northeast-1-xxxxxxxxxxx
...

トラブルシューティング

無効な MFA 認証情報
MFA 認証情報が正しくありません。デバイスを確認して、もう一度お試しください。

無効なMFA認証.png
このエラーの場合、プロビジョニングが失敗しています。
私の場合プロビジョニングの設定前にユーザーやグループをアサインしてしまっていたので、一度外してから再アサインすると直りました。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?