github.com/minio/console@v1.4.1/web-app/src/screens/Console/Users/AddUserServiceAccountHelpBox.tsx (about)

     1  // This file is part of MinIO Console Server
     2  // Copyright (c) 2022 MinIO, Inc.
     3  //
     4  // This program is free software: you can redistribute it and/or modify
     5  // it under the terms of the GNU Affero General Public License as published by
     6  // the Free Software Foundation, either version 3 of the License, or
     7  // (at your option) any later version.
     8  //
     9  // This program is distributed in the hope that it will be useful,
    10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    12  // GNU Affero General Public License for more details.
    13  //
    14  // You should have received a copy of the GNU Affero General Public License
    15  // along with this program.  If not, see <http://www.gnu.org/licenses/>.
    16  import React from "react";
    17  import {
    18    Box,
    19    HelpIconFilled,
    20    IAMPoliciesIcon,
    21    PasswordKeyIcon,
    22    ServiceAccountIcon,
    23  } from "mds";
    24  
    25  const FeatureItem = ({
    26    icon,
    27    description,
    28  }: {
    29    icon: any;
    30    description: string;
    31  }) => {
    32    return (
    33      <Box
    34        sx={{
    35          display: "flex",
    36          "& .min-icon": {
    37            marginRight: "10px",
    38            height: "23px",
    39            width: "23px",
    40            marginBottom: "10px",
    41          },
    42        }}
    43      >
    44        {icon}{" "}
    45        <div style={{ fontSize: "14px", fontStyle: "italic", color: "#5E5E5E" }}>
    46          {description}
    47        </div>
    48      </Box>
    49    );
    50  };
    51  const AddUserServiceAccountHelpBox = () => {
    52    return (
    53      <Box
    54        sx={{
    55          flex: 1,
    56          border: "1px solid #eaeaea",
    57          borderRadius: "2px",
    58          display: "flex",
    59          flexFlow: "column",
    60          padding: "20px",
    61          marginTop: 0,
    62        }}
    63      >
    64        <Box
    65          sx={{
    66            fontSize: "16px",
    67            fontWeight: 600,
    68            display: "flex",
    69            alignItems: "center",
    70            marginBottom: "16px",
    71            paddingBottom: "20px",
    72  
    73            "& .min-icon": {
    74              height: "21px",
    75              width: "21px",
    76              marginRight: "15px",
    77            },
    78          }}
    79        >
    80          <HelpIconFilled />
    81          <div>Learn more about Access Keys</div>
    82        </Box>
    83        <Box sx={{ fontSize: "14px", marginBottom: "15px" }}>
    84          <Box sx={{ paddingBottom: "20px" }}>
    85            <FeatureItem
    86              icon={<ServiceAccountIcon />}
    87              description={`Create Access Keys`}
    88            />
    89            <Box sx={{ paddingTop: "20px" }}>
    90              Access Keys inherit the policies explicitly attached to the parent
    91              user, and the policies attached to each group in which the parent
    92              user has membership.
    93            </Box>
    94          </Box>
    95          <Box sx={{ paddingBottom: "20px" }}>
    96            <FeatureItem
    97              icon={<PasswordKeyIcon />}
    98              description={`Assign Custom Credentials`}
    99            />
   100            <Box sx={{ paddingTop: "10px" }}>
   101              Randomized access credentials are recommended, and provided by
   102              default. You may use your own custom Access Key and Secret Key by
   103              replacing the default values. After creation of any Access Key, you
   104              will be given the opportunity to view and download the account
   105              credentials.
   106            </Box>
   107            <Box sx={{ paddingTop: "10px" }}>
   108              Access Keys support programmatic access by applications. You cannot
   109              use a Access Key to log into the MinIO Console.
   110            </Box>
   111          </Box>
   112          <Box sx={{ paddingBottom: "20px" }}>
   113            <FeatureItem
   114              icon={<IAMPoliciesIcon />}
   115              description={`Assign Access Policies`}
   116            />
   117            <Box sx={{ paddingTop: "10px" }}>
   118              You can specify an optional JSON-formatted IAM policy to further
   119              restrict Access Key access to a subset of the actions and resources
   120              explicitly allowed for the parent user. Additional access beyond
   121              that of the parent user cannot be implemented through these
   122              policies.
   123            </Box>
   124            <Box sx={{ paddingTop: "10px" }}>
   125              You cannot modify the optional Access Key IAM policy after saving.
   126            </Box>
   127          </Box>
   128        </Box>
   129        <Box
   130          sx={{
   131            display: "flex",
   132            flexFlow: "column",
   133          }}
   134        ></Box>
   135      </Box>
   136    );
   137  };
   138  
   139  export default AddUserServiceAccountHelpBox;