LoginSignup
2
4

More than 1 year has passed since last update.

特定の IAM ユーザにだけ SageMaker Studio のユーザを使えるようにする

Last updated at Posted at 2021-08-20

概要

AmazonSageMakerFullAccess を与えられた IAM ユーザは、SageMaker Studio の画面を開くと、Studio の全ユーザプロファイルを見てアクセスすることができます。これを特定のIAMユーザにしか開けないようにします。

例えば、IAMユーザ A には、Studio のユーザプロファイル X のみにアクセスを許可し、他のユーザプロファイル Y, Z にはアクセスを許可しないというものです。

IAM ユーザを準備します

ユーザを操作できる管理者権限でログインしておきましょう。

ひとまず AmazonSageMakerFullAccess を与えたIAMユーザを作成して、SageMaker に関しては、ある程度何でもできるユーザにしておきます。

まず IAM のユーザ画面にアクセスして、右上のボタンからユーザ追加

スクリーンショット_2021-08-20_15_49_09.jpg

ユーザ名を適当に restricted-studio-user としました。user-A とか何でも構いません。コンソールからログインすることを想定して、AWSマネジメントコンソールへのアクセスにチェックを入れておきましょう。

スクリーンショット 2021-08-20 15.49.36.png

次の画面で AmazonSageMakerFullAccess の権限を指定します。

スクリーンショット 2021-08-20 15.50.02.png

できました!

スクリーンショット_2021-08-20_15_51_08.jpg

SageMaker Studio のユーザプロファイル

先程作成した restricted-studio-user がアクセスする SageMaker Studio のユーザプロファイルを作成します。管理者権限のまま、Amazon SageMaker Studio の画面に移動します。まだ domain を作っていない場合は作成しましょう。

スクリーンショット_2021-08-20_15_51_42.jpg

Studio 側のユーザプロファイルは restricted-userという名前にしました。実行ロールはこのユーザが Studio で使うロールです。 AmazonSageMakerFullAccess がついているロールなどを適当に作成してここで指定します。

スクリーンショット 2021-08-20 15.58.32.png

しばらく待つと、restricted-userというユーザができあがります。

IAM ユーザの権限を絞って Studio へのアクセスを制限

先程作成したユーザプロファイル restricted-user のみを使えるようにします。具体的には、最初に作成した IAMユーザに以下の権限をつければOKです。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "sagemaker:CreatePresignedDomainUrl",
            "NotResource": "arn:aws:sagemaker:(region):(account_id):user-profile/(domain_id)/(user_mame)"
        },
        {
            "Effect": "Allow",
            "Action": "sagemaker:CreatePresignedDomainUrl",
            "Resource": "arn:aws:sagemaker:(region):(account_id):user-profile/(domain_id)/(user_mame)"
        }
    ]
}

上の Deny は指定されたユーザープロファイル以外へのアクセスを禁止し、下の Allow は指定されたユーザープロファイルへのアクセスを許可します。上記では AmazonSageMakerFullAccessのポリシーが付与されていて、すべてのユーザープロファイルに対してアクセスが許可されているので Deny だけでも良いです。
Resource は、例えば、東京リージョン、アカウントID 123456789012、ドメインが d-XXXXXXxxxxxx, ユーザープロファイルが restricted-user なら以下のようになります。

arn:aws:sagemaker:ap-northeast-1:123456789012:user-profile/d-XXXXXXxxxxxx/restricted-user

ドメイン ID は Studio の以下の画面からも確認できます。

Amazon_SageMaker.jpg

さて、IAM の画面に戻って、restricted-studio-user に上記のポリシーを追加します。IAM ユーザを選んだ画面で インラインポリシーの追加 を選びましょう。

スクリーンショット_2021-08-20_15_53_08.jpg

上のタブで json を選んで作成したポリシーを貼り付けます。右下のボタンでポリシーの確認をして、その後、名前をつけて完了です。これで、IAMユーザ restricted-studio-user は Studio のユーザープロファイル restricted-user にしかアクセスできません。

IAM_Management_Console.jpg

試してみましょう

restricted-studio-user でログインしなおして Studio にアクセスします。AmazonSageMakerFullAccess の権限だと、コンソールの一部でエラーが出ますが、今回は問題ありません。許可されている restricted-user と許可されていない default-1629100323037を試してみます。

Amazon_SageMaker_-__Private_Browsing_.jpg

許可されている場合

問題なくアクセスできました。

スクリーンショット 2021-08-20 16.37.12.png

許可されていない場合

権限がないのでエラーが出て、Studio の画面にアクセスできませんでした。

Amazon_SageMaker_-__Private_Browsing_.jpg

2
4
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
2
4