Oktaでグループベースのロールマッピングを有効にする
Amazon Web Services(AWS)のロールと管理グループをインポートしたら、AWSのロールグループのメンバーシップをAWSが構文的に理解できるエンタイトルメントに変換するようにOkta AWSアプリを構成します。
-
Admin Consoleで に移動します。
-
Search(検索)フィールドにAWSと入力します。
- [AWS Account Federation(AWSアカウントフェデレーション)]をクリックし、[Sign On(サインオン)]タブを選択します。
- [Settings(設定)]セクションの[Edit(編集)]をクリックします。
- [Advanced Sign-on Settings(高度なサインオン設定)]で[Use Group Mapping(グループマッピングを使用)]がチェックされていることを確認します。
-
次のフィールドに入力します。
- [App Filter(アプリフィルター)]:AWSエンタイトルメントマッピング用のアプリのコンマ区切りリストを入力します。このフィールドによって追加のセキュリティが提供され、不正な管理者が特定の構文に従ってグループを作成してAWSのアカウントまたはロールに不正アクセスする問題を回避できます。Active Directoryでグループを作成したときは、
active_directory
と入力します。または、okta
と入力してローカルのOktaグループに使用を制限します。その他のアプリケーションでは、Bamboo HRアプリにはbamboohr
、Okta + Egnyteのグループにはokta
、egnyte
などの値を使用できます。 - [Group Filter(グループフィルター)]:AWS関連グループをフィルタリングし、アカウントIDとロールを抽出する正規表現式を入力します。デフォルトのAWSロールグループの構文(
aws#[account alias]#[role name]#[account #]
)を使用する場合、次の正規表現文字列を使用できます。 - [Role Value Pattern(ロール値パターン)]:このフィールドでは、AWSロールとアカウントIDが、AWSがOkta SAMLアサーションに必要とする適切な構文に変換されます。これにより、ユーザーはサインイン時に自分のアカウントとロールを表示できます。
- [Save(保存)]をクリックします。
^aws\#\S+\#(?{{role}}[\w\-]+)\#(?{{accountid}}\d+)$
この正規表現式は、論理的には、AWSで始まり、次に#、次にテキストの文字列、次に#、次にAWSロール、次に#、次にAWSアカウントIDがあるグループを検索することに相当します。
次の正規表現式を使用することもできます。
aws_(?{{accountid}}\d+)_(?{{role}}[a-zA-Z0-9+=,.@\-_]+)
デフォルトの正規表現を使用しないときは、AWSロールグループを正しくフィルタリングするものを作成します。これは、{{role}}と{{accountid}}という名前の2つの異なる正規表現グループ内のAWSロール名とアカウントIDをキャプチャする必要があります。
フィールドの構文:
arn:aws:iam::${accountid}:saml-provider/[SAML Provider Name],
arn:aws:iam::${accountid}:role/${role}
[SAML Provider Name]は、AWSアカウントのSAMLプロバイダーの名前に置き換えます。文字列の残りの部分は変更せず、コピーして貼り付けるだけです。