AWS IAM Identity Centerの更新不可のレガシー設定 - AWS Command Line Interface

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS IAM Identity Centerの更新不可のレガシー設定

このトピックでは、 AWS IAM Identity Center (IAM Identity Center) を使用してユーザーを認証し、 AWS CLI 従来の方法を使用してコマンドを実行するための認証情報を取得するようにを設定する方法について説明します。 AWS CLI 更新不可のレガシー設定を使用する場合、トークンは定期的に期限切れになるため、手動で更新する必要があります。

IAM Identity Center を使用している場合は、Active Directory、組み込みの IAM Identity Center ディレクトリ、または IAM Identity Center に接続された別の IdP にログインできます。これらの認証情報は、コマンドを実行できる AWS Identity and Access Management (IAM) ロールにマッピングできます。 AWS CLI

使用する IdP に関係なく、IAM Identity Center によってこれらの区別はなくなります。例えば、ブログ記事「The Next Evolution in IAM Identity Center」で説明されているように、Microsoft Azure AD を接続できます。

注記

アカウント ID とロールを使用しないベアラ認証の使用方法については、Amazon CodeCatalyst ユーザーガイドの「AWS CLI with CodeCatalyst を使用するためのセットアップ」を参照してください。

以下の方法で、レガシー IAM Identity Center のロールを使用するように 1 AWS CLI つ以上の名前付きプロファイルを設定できます

  • 自動: コマンド aws configure sso を使用します。

  • 手動: 名前付きプロファイルを保存する config ファイルを編集します。

前提条件

  • をインストールします。 AWS CLI詳細については、「AWS CLIの最新バージョンのインストールまたは更新」を参照してください。

  • 最初に IAM Identity Center 内で SSO 認証へのアクセス権が必要です。 AWS 認証情報にアクセスするには、以下のいずれかの方法を選択してください。

AWS IAM Identity Center ユーザーガイド」の「開始方法」の手順に従います。このプロセスでは、IAM Identity Center をアクティブ化して、管理者ユーザーを作成し、適切な最小特権のアクセス許可セットを追加します。

注記

最小権限の権限を適用する権限セットを作成します。雇用主がこの目的のためにカスタムアクセス許可セットを作成していない限り、定義済みの PowerUserAccess アクセス許可セットを使用することをお勧めします。

ポータルを終了して再度サインインすると、 AWS アカウント Administratorまたはのオプションが表示されます。PowerUserAccessSDK を使用する場合は PowerUserAccess を選択します。これは、プログラムによるアクセスに関する詳細を確認する場合にも役立ちます。

ID AWS プロバイダーのポータルからにサインインします。クラウド管理者があなた PowerUserAccess (開発者) AWS アカウント に権限を付与している場合、アクセス権のある権限と権限セットが表示されます。アクセス許可セットの名前の横に、そのアクセス許可セットを使用してアカウントに手動またはプログラムでアクセスするオプションが表示されます。

カスタム実装では、アクセス許可セット名が異なるなど、エクスペリエンスが異なる場合があります。どのアクセス許可セットを使用すればよいかわからない場合は、IT チームにお問い合わせください。

AWS AWS アクセスポータルからにサインインします。クラウド管理者があなた PowerUserAccess (開発者) AWS アカウント に権限を付与している場合、アクセス権のある権限と権限セットが表示されます。アクセス許可セットの名前の横に、そのアクセス許可セットを使用してアカウントに手動またはプログラムでアクセスするオプションが表示されます。

サポートについては、IT チームにお問い合わせください。

レガシー設定の自動設定

自分用の IAM ID センタープロファイルを設定するには AWS CLI
  1. aws configure ssoコマンドを実行し、IAM ID センターの開始 URL と ID AWS センターディレクトリをホストするリージョンを指定します。

    $ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1
  2. はデフォルトのブラウザを開き、IAM Identity Center AWS CLI アカウントのログインプロセスを開始しようとします。

    SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request.

    AWS CLI がブラウザを開くことができない場合は、ログインプロセスを手動で開始する方法を説明する次のメッセージが表示されます。

    Using a browser, open the following URL: https://device.sso.us-west-2.amazonaws.com/ and enter the following code: QCFK-N451

    IAM Identity Center は、コードを使用して IAM Identity Center セッションを現在の AWS CLI セッションに関連付けます。IAM Identity Center ブラウザページでは、IAM Identity Center の認証情報を使用してサインインするように求められます。これにより、IAM Identity Center AWS での使用が許可されているアカウントとロールを取得して表示する権限がに与えられます。 AWS CLI

  3. 次に、 AWS CLI AWS 使用できるアカウントが表示されます。1 つのアカウントのみを使用する権限がある場合、 AWS CLI はそのアカウントを自動的に選択し、プロンプトをスキップします。 AWS 使用できるアカウントは IAM Identity Center のユーザー設定によって決まります。

    There are 2 AWS accounts available to you. > DeveloperAccount, [email protected] (123456789011) ProductionAccount, [email protected] (123456789022)

    矢印キーを使用して、このプロファイルで使用するアカウントを選択します。左の 「>」文字は、現在の選択肢を指します。[Enter] キーを押して、選択を行います。

  4. 次に、 AWS CLI はアカウントの選択を確認し、選択したアカウントで使用できる IAM ロールを表示します。選択したアカウントにロールが 1 つしか表示されていない場合、 AWS CLI はそのロールを自動的に選択し、プロンプトをスキップします。使用できるロールは、IAM Identity Center のユーザー設定によって決まります。

    Using the account ID 123456789011 There are 2 roles available to you. > ReadOnly FullAccess

    矢印キーを使用して、このプロファイルで使用する IAM ロールを選択し、<ENTER> を押します。

  5. AWS CLI はロールの選択を確定します。

    Using the role name "ReadOnly"
  6. デフォルトの出力形式、コマンドの送信先のデフォルトを指定し、プロファイルの名前を指定して、プロファイルの設定を完了します。これにより、ローカルコンピューターで定義されているすべてのプロファイルからこのプロファイルを参照できます。 AWS リージョン 次の例では、デフォルトのリージョン、デフォルトの出力形式、プロファイルの名前を入力します。または、<ENTER> キーを押して、角括弧の間に表示されるデフォルト値を選択することもできます。推奨されるプロファイル名は、アカウント ID 番号、アンダースコア、ロール名が続きます。

    CLI default client Region [None]: us-west-2<ENTER> CLI default output format [None]: json<ENTER> CLI profile name [123456789011_ReadOnly]: my-dev-profile<ENTER>
    注記

    defaultプロファイル名として指定すると、このプロファイルは、 AWS CLI プロファイル名を指定せずにコマンドを実行するときに使用されるプロファイルになります。

  7. 最後のメッセージは、完了したプロファイル設定について説明しています。

    このプロファイルを使用するには、次のように --profile を使用してプロファイル名を指定します。

    aws s3 ls --profile my-dev-profile
  8. 上記のエントリの例では、次の例のような名前付きプロファイルが ~/.aws/config で生成されます。

    [profile my-dev-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 123456789011 sso_role_name = readOnly region = us-west-2 output = json

    この時点で、一時認証情報を要求するために使用できるプロファイルとなります。コマンドを実行するために必要な一時認証情報を実際に要求して取得するには、aws sso login コマンドを実行する必要があります。手順については、「IAM Identity Center 名前付きプロファイルを使用する 」を参照してください。

レガシー設定の手動設定

トークンの自動更新は、更新不可のレガシー設定ではサポートされていません。SSO トークン設定を使用することをお勧めします。

名前付きプロファイルに手動で IAM Identity Center サポートを追加するには、ファイル ~/.aws/config (Linux または macOS) または %USERPROFILE%/.aws/config (Windows) のプロファイル定義に次のキーと値を追加する必要があります。

.aws/config ファイル内で有効なその他のキーや値 (regionoutputs3 など) を含めることができます。エラーを防ぐために、認証情報に関連する値 (role_arnaws_secret_access_key など) は含めないでください。

次に示すのは、.aws/config のIAM Identity Center プロファイルの例です。

[profile my-sso-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-west-2 sso_account_id = 111122223333 sso_role_name = SSOReadOnlyRole region = us-west-2 output = json

一時認証情報のプロファイルが完成しました。

コマンドを実行するには、まず aws sso login コマンドを使用して一時認証情報をリクエストおよび取得する必要があります。手順については、次のセクション「IAM Identity Center 名前付きプロファイルを使用する 」を参照してください。認証トークンは、sso_start_url に基づいたファイル名を使用して、~/.aws/sso/cache ディレクトリの下のディスクにキャッシュされます。