Oktaでグループベースのロールマッピングを有効にする Okta

Amazon Web Services(AWS)のロールと管理グループをインポートしたら、AWSのロールグループのメンバーシップをAWSが構文的に理解できるエンタイトルメントに変換するようにOkta AWSアプリを構成します。

  1. Admin Consoleで、アプリケーション(Applications) > アプリケーション(Applications)に移動します。

  2. 検索(Search)フィールドにAWSと入力します。

  3. AWSアカウントフェデレーション(AWS Account Federation)をクリックし、サインオン(Sign On)タブを選択します。
  4. 設定(Settings)(Edit)セクションの編集(Edit)(Settings)をクリックします。
  5. 高度なサインオン設定(Advanced Sign-on Settings)グループマッピングを使用(Use Group Mapping)がチェックされていることを確認します。
  6. 次のフィールドに入力します。

    • アプリフィルター(App Filter):AWSエンタイトルメントマッピング用のアプリのコンマ区切りリストを入力します。このフィールドによって追加のセキュリティが提供され、不正な管理者が特定の構文に従ってグループを作成してAWSのアカウントまたはロールへ不正にアクセスする問題を回避できます。Active Directoryでグループを作成したときは、active_directoryと入力します。または、oktaと入力してローカルのOktaグループに使用を制限します。その他のアプリケーションでは、Bamboo HRアプリにはbamboohrOkta + Egnyteのグループにはoktaegnyteなどの値を使用できます。
    • グループフィルター(Group Filter):AWS関連グループをフィルタリングし、accountidroleを抽出する正規表現式を入力します。デフォルトのAWSロールグループの構文(aws#[account alias]#[role name]#[account #])を使用する場合、次の正規表現文字列を使用できます。
    ^aws\#\S+\#(?{{role}}[\w\-]+)\#(?{{accountid}}\d+)$

    この正規表現式は、論理的には、AWSで始まり、次に#、次にテキストの文字列、次に#、次にAWSロール、次に#、次にAWSアカウントIDがあるグループを検索することに相当します。

    次の正規表現式を使用することもできます。

    aws_(?{{accountid}}\d+)_(?{{role}}[a-zA-Z0-9+=,.@\-_]+)

    デフォルトの正規表現を使用しないときは、AWSロールグループを正しくフィルタリングするものを作成します。これは、{{role}}{{accountid}}という名前の2つの異なる正規表現グループ内のAWSロール名とアカウントIDをキャプチャする必要があります。

    ロール値パターン(Role Value Pattern):このフィールドでは、AWSロールとアカウントIDが、AWSがOkta SAMLアサーションに必要とする適切な構文に変換されます。これにより、ユーザーはサインイン時に自分のアカウントとロールを表示できます。

    フィールドの構文:

    arn:aws:iam::${accountid}:saml-provider/[SAML Provider Name], arn:aws:iam::${accountid}:role/${role}

    [SAML Provider Name]をAWSアカウントのSAMLプロバイダーの名前に置き換えます。文字列の残りの部分は変更せず、コピーして貼り付けるだけです。

  7. 保存([Save)]をクリックします。

次の手順

AWS管理グループをOktaのAWSアプリに割り当てる