github.com/minio/console@v1.4.1/web-app/src/screens/Console/Account/AddServiceAccountHelpBox.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 AddServiceAccountHelpBox = () => { 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 AddServiceAccountHelpBox;