1
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.

SageMaker Studio で他人の App を削除させない

Posted at

概要

前回「特定の IAM ユーザにだけ SageMaker Studio のユーザを使えるようにする」からの続きで SageMaker Studio を使う IAM ユーザの権限についてです。

AmazonSageMakerFullAccess 権限があると SageMaker Studio の他のユーザの App を消すことができます。App は Jupyter ノートブックの Docker image のようなものなので、再度ノートブックを起動すれば App は戻ってきますが、途中の実行結果などメモリにあった情報は消えてしまいます。App が多すぎて消したい場合に、誤って他人の App を消してしまわないよう、DeleteApp を自ユーザの App に対してのみ実行できるようにします。

削除画面(deleteと入力して Deleteボタンポチーであっさり消えます)
Amazon_SageMaker_-__Private_Browsing_2.jpg

DeletApp で削除する App をどのように指定するのか確認

SageMaker の以下の Doc をみると DeleteApp で指定できる内容が記載されています。

Amazon SageMaker で定義されるアクションの表から DeleteApp を探します。App*というのを指定できるみたいですね。このリンクをクリックすると同ページの App の説明に飛べます。

Amazon_SageMaker_のアクション、リソース、および条件キー_-_サービス認証リファレンス.jpg

飛んだ先はこちらですね。このように App の ARN を指定して削除するようです。

Amazon_SageMaker_のアクション、リソース、および条件キー_-_サービス認証リファレンス.jpg

今回だと特定のStudio のユーザ(前回の記事では restricted-user)のみを消すようにしますので、東京リージョン、アカウントID 123456789012、ドメインが d-XXXXXXxxxxxx, ユーザープロファイルが restricted-user なら以下のようになります。ワイルドカードを入れて、restricted-user以下のAppを指定します。

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

IAMユーザにポリシーを追加

前回「特定の IAM ユーザにだけ SageMaker Studio のユーザを使えるようにする」と同様に IAM ユーザの画面からインラインポリシーを追加します。追加するのは restricted-user以外のAppに対する DeleteApp を Deny するポリシーです。表現はややこしいですがポリシーは以下のとおりです。上記に従って、リージョンなどはいれてくださいね。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "sagemaker:DeleteApp",
            "NotResource": "arn:aws:sagemaker:(region):(account_id):app/(domain_id)/(user_mame)/*"
        }
    ]
}

こんな感じで追加しましょう。

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

試してみましょう

他のユーザの App を消してみようと思います。
スクリーンショット 2021-08-20 22.12.59.png

delete を押すと権限でエラーが出ました。DeleteApp が許可されていないことがわかりましたね。

Amazon_SageMaker_-__Private_Browsing_del.jpg

さいごに

コンソールでアクセスさせる場合には、AmazonSageMakerFullAccess にしておいて、他人のユーザを使わせないのと、他人のAppを消させないようにしておけばいいかなと思います。ドメインの削除、ユーザの新規作成・削除はAmazonSageMakerFullAccessではできないので、指定したユーザのみを使用するだけにできると思います。

1
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
1
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?